在linux环境下用tcpdump抓包,不好分析,可以将抓到的包保存到文件,然后在windows下通过wireshark打开来分析。具体的tcpdump命令使用我们查看man文档就可以有详细的参考,这里列举出常用的例子,以供快速使用。
1. tcpdump udp -w target2.cap -s0
抓取UDP协议的包
-w 将抓取的包保存到文件
-s0 不限制抓取包的长度,如果不设置这个参数。tcpdump会默认采用长度为68或96字节来进行抓包,导致一些数据稍多的包内容显示不全面
在wireshark中打开就会显示:[Packet size limited during capture: SIP truncated]
2. 抓取指定机器的包
tcpdump src 10.32.52.120 and dst 10.32.38.122: 抓取10.32.52.120发向10.32.38.122的包
tcpdump host 10.32.52.120:抓取通过网卡10.32.52.120的包,包括发出去和收到的
tcpdump ip host ace and not helios: 抓取 机器ace和除helios外任何机器之间的IP packets
3. 抓取指定端口的包
tcpdump port 21
tcpdump port http or port ftp: 抓取http端口或者ftp端口的包