Monitor or sniff Apache http packets

Posted on in Categories , , last updated December 8, 2006

Q. For my academic project I would like to monitor and analyze data transferred via HTTP. How do I monitor HTTP Packets?

A. The easiest way is to use tcpdump program/command, which dumps traffic on a network. Tcpdump prints out the headers of packets on a network interface that match the given criteria such as monitor port 80 for http.

It can also be run with the -w flag, which causes it to save the packet data to a file for later analysis, and/or with the -r flag, which causes it to read from a saved packet file rather than to read packets from a network interface.

Type the following command at shell prompt:

# tcpdump -n -i eth0 -s 0 -w output.txt src or dst port 80


  • -n : Don’t convert addresses (i.e., host addresses, port numbers, etc.) to names.
  • -i eth0 : Specify interface to capture data.
  • -s 0 : Snarf snaplen bytes of data from each packet rather than the default of 68. Setting to 0 means use the required length to catch whole packets.
  • -w output.txt : Save data to output.txt file
  • src or dst port 80 : Capture port 80.

Now open a browser and run your site and do other stuff. When finished stop tcpdump and open output.txt file for analyze data.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 2 comments/add one below):

2 comment

  1. i have Fedora Core 6.0 and attach Printer Samsung ML – 1610. now i want to access that printer from Windows 2000 professional. Should i access that printer or not? if yes than how?

Leave a Comment