TCPDump: Capture and Record Specific Protocols / Port
Q. How do I capture specific protocol or port such as 80 ( http ) using TCPDump tool under Linux / UNIX? How do I recording Traffic with TCPDump and find problems later on?
A. TCPDump is a tool for network monitoring and data acquisition. It can save lots of time and can be used for debugging network or server related problems. Tcpdump prints out a description of the contents of packets on a network interface that match the boolean expression.
Monitor all packets on eth1 interface
tcpdump -i eth1
Monitor all traffic on port 80 ( HTTP )
tcpdump -i eth1 'port 80'
Monitor all traffic on port 25 ( SMTP )
tcpdump -vv -x -X -s 1500 -i eth1 'port 25'
Where,
- -vv : More verbose output
- -x : When parsing and printing, in addition to printing the headers of each packet, print the data of each packet.
- -X : hen parsing and printing, in addition to printing the headers of each packet, print the data of each packet (minus its link level header) in hex and ASCII. This is very handy for analysing new protocols.
- -s 1500: Snarf snaplen bytes of data from each packet rather than the default of 68. This is useful to see lots of information.
- -i eth1 : Monitor eth1 interface
Capturing traffic information using cronjobs
tcpdump can be used to find out about attacks and other problems. Let us say your webserver facing problem everday at midnight. Enter following command into cron. It will schedule capturing of 30,000 packets and writing raw data to a file called port.80.debug.txt:
@midnight /usr/sbin/tcpdump -n -c 30000 -w /root/port.80.debug.txt
Next day you can log into your box and read the /root/port.80.debug.txt file:
tcpdump -X -vv -r /root/port.80.debug.txt
This simple technique can be used record and debug problems.
Further readings:
- man page tcpdump
E-mail
Print
Can't find an answer to your question? Contact us
Related Other Helpful FAQs:
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: boolean expression, cron, level header, network interface, network monitoring, protocols, raw data, root port, tcpdump, tcpdump command, traffic information, verbose output



September 1st, 2008 at 11:08 am
hey Vivek,
Nice read. One question that I need the answer for. What are the possible details that we can get from the tcpdump output?
I can see that it contains a whole lot of information, but not sure what is the important part of it.
October 2nd, 2008 at 2:18 am
Remember to load the saved capture file into Wireshark for a great help on analysis.
Nice article thanks.