Sunday, November 16, 2014

How to Read Food Nutrition Label and Use it to Lose Weight.

Nutrition Facts is a label required on all the packaged food in most of the countries. In this post, I'm gonna tell you how to understand that label.

Let's take a simple example Lays (28g pack)-

8 major parts of Nutritions Facts Label

  1. Serving Size(g): It tells about recommend serving size, so if your serving size is 2 then you'll be eating double the calories.
  2. Total Calories(cal/Kcal): Total calories and Calories from Fat in 1 serving. You can calculate approx. total calories by Nutrition facts
    [Total calories(kcal) = (Fat x 9) + (Carbohydrate x 4 ) + (Protein x 4) ]
  3. Total Carbohydrates(g): are made up of Dietary Fiber and Sugars. Fiber help us to prevent Chronic Diseases. It is recommended to consume 25g of dietary fiber per day. Whole grains, beans and fruits are good source for fiber. One gram of Carbohydrates is approx. equal to 4 cal.
  4. Total Fat(g): tells all types of fats in grams. One should not take more then 20% of required calories per day from Fat. You can check various types of Fats here. Polyunsaturated and Monounsaturated are the healthy Fats, while Trans and Saturated Fats are unhealthy(tends to increase LDL which is bad Heart and increases Blood Pressure). One gram of Fat is approx. equal to 9 cal.
  5. Protein(g): a healthy individual  should take more than 20% of required calories from Proteins. Dairy product, peas, sprouts, eggs, meat and nuts are good source of proteins. One gram of Protein is approx. equal to 4 cal.
  6. Sodium: increases risk of high blood pressure. One should not consume Sodium more then 1000mg per day.
  7. Cholesterol: found in bloodstream. Higher Cholesterol can clog arteries so increase the risk of heart disease.
  8. Vitamins & Minerals: Here comes the best part of food which promotes good health and prevent diseases. you can check required value per day on wiki page. Source of Vitamins can be Meat, fish, poultry, Leafy green vegetables, fruits, Milk and milk products,enriched breads and cereals.

Weight Loss / Weight Gain Examples

Your body needs energy for breathing, circulating blood, repairing cells and all other bodily functions. Making sure you eat enough food can help ensure that your body has enough energy to develop and work properly. Our metabolism and how many calories your body needs each day is influenced by your age, gender and physical activity habits which can be calculated from here.

  • Weight Loss/Gain: As you already know, One gram of Fat is equal to 9 cal. So to reduce 100g of weight (Fat) either you should intake 900 calories less or you should burn 900 calories by Exercise (1km running burns around 80 calories ). Rest is maths, you can calculate how much exercise is needed to lose x grams of weight. Below you can find Calorie Sheet of common foods.

Hopes, It will be helpful for you.

Saturday, November 8, 2014

HPing: How to generate TCP traffic

Hping is a network tool able to send custom TCP/IP packets and to display target replies like ping program does with ICMP replies. HPING can be used to create IP packets containing TCP, UDP or ICMP payloads. All header fields can be modified and controlled using the command line. If interface MTU less then Payload then packet will be fragmented but in case of SendIP, packet will be dropped by Linux Cllient.

How To Install

Download Tarbell package from here.
Steps to install:
  1. Untar it in some folder. (tar -xzvf hping2.0.0-rc2.tar.gz)
  2. Goto hping folder ( cd hping2-rc2/ )
  3. ./configure
  4. sudo make
  5. make install
  6. Now if you do 'hping2 --h' on Linux CLI, It should show all the options available.

How To Use

Basic Options:
  • -c --count  //count Stop after sending (and receiving) count response packets
  • -i --interval  //Wait the specified number of seconds or micro seconds between sending each packet. --interval X set wait to X seconds, --interval uX set wait to X micro seconds.
  • -I --interface  //interface name
  • -V --verbose  //Enable verbose output. TCP replies will be shown as follows: len=46 ip= flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0

Protocol Selection:

  • Default protocol is TCP, by default hping2 will send tcp headers to target host's port 0 with a winsize of 64 without any tcp flag on.
  • -1 --icmp //ICMP mode, by default hping2 will send ICMP echo-request, you can set other ICMP type/code using --icmptype --icmpcode options.
  • -2 --udp //UDP mode, by default hping2 will send udp to target host's port 0. UDP header tunable options are the following: --baseport, --destport, --keep.


  • TCP: hping -p 23 -c 1 -P -A -s 36617 -d 1170 //-s source port,-p dest port,-w Set TCP window size. Default is 64.,-M --tcpseq,-F --fin,-S --syn,-R --rst, -P --push,-A --ack,-U --urg,-X --xmas,-Y --ymas
  • ICMP: hping -1 --icmptype 128 --icmpcode 0 // --icmptype --icmpcode, echo req - 8,0
  • UDP: hping -2 --baseport 34444 --destport 34567 //--baseport, --destport, --keep.

Wednesday, July 30, 2014

SendIP - an arbitrary IP packet generating tool

SendIP is a tool which allows creating (and, of course, sending) arbitrary IP (v4 and v6) packets.

How To Install

Download Tarbell package from here.
Steps to install:
  1. Untar it in some folder. (tar -xzvf sendip-2.5-mec-0.tar.gz)
  2. sudo make
  3. make install
  4. Now if you type sendip on Linux CLI, it should show all the available Modules. (Ex: ipv4 ipv6 icmp tcp udp bgp rip ripng ntp ah dest esp frag gre hop route)

How To Use

  • -p module //load the specified module (see below)
  • -v  be verbose
  • -h  print this message
  • -d  data //add this data as a string to the end of the packet. rN to generate N random(ish) data  bytes; //zN to generate N nul (zero) data bytes; 0x or 0X followed by hex  digits; 0 followed by octal digits; decimal number for decimal digits


  • ICMP4: sendip -v -p ipv4 -is -p icmp -d r10 
  • ICMP6: sendip -v -p ipv6 -6s 9901::180 -p icmp -d "hello" 9901::100
  • TCP4 : sendip -v -p ipv4 -is -p tcp -ts 1000 -td 1005 -tfs 1 -tn 0
  • TCP6 : sendip -v -p ipv6 -6s 9901::180 -p tcp -ts 1000 -td 1005 -tfs 1 -tn 0 9901::100
  • UDP4 : sendip -v -p ipv4 -is -p udp -us 34001 -ud 34002
  • UDP6 : sendip -v -p ipv6 -6s 9901::180 -p udp -us 34001 -ud 34002 9901::100

Generate Various IPv6 Extension Header with ICMPv6 as next header.

  • Route(43):    sendip -v -p ipv6 -6s 9901::180 -6n 43 -p route -p icmp -d "hello" 9901::100
  • Frag(44): sendip -v -p ipv6 -6s 9901::180 -6n 44 -p frag -p icmp -d "hello" 9901::100
  • AH(51): sendip -v -p ipv6 -6s 9901::180 -6n 51 -p ah -p icmp -d "hello" 9901::100
  • HopByHop(0)sendip -v -p ipv6 -6s 9901::180 -6n 0 -p hop -p icmp -d "hello" 9901::100
  • Dest Opt(60)sendip -v -p ipv6 -6s 9901::180 -6n 60 -p dest -p icmp -d "hello" 901::100
  • ESC(50): sendip -v -p ipv6 -6s 9901::180 -6n 32 -p esc -p icmp -d "hello" 9901::100