• tcpdump抓取任何来源的port 49161

#sudo tcpdump -i any -n port 49161

  • 抓取destination为www.baidu.com的包

#tcpdump -i any dst www.baidu.com

  • 只抓取tcp包

#tcpdump -i any -n tcp

  • 抓取包然后保存到dump.log

#tcpdump -l > dump.log &tail -f dump.log

  • 抓包结果保存

sudo tcpdump -i eth0 -nn 'tcp' -w a.cap |grep 49161

  • 抓取通过目标服务器ip及端口的包

sudo tcpdump -i eth0 host 112.25.230.26|grep 25555

  • 抓取源服务器地址

sudo tcpdump -i eth0 src host 112.25.230.26 and port 25555

  • 将raw 报文文件转换为txt可读文件

sudo tcpdump -r filename.dump > filename.txt

  • 收集到100个报文之后终止

sudo tcpdump -c100 -i any

tcpdump的选项介绍
   -a    将网络地址和广播地址转变成名字;
   -d    将匹配信息包的代码以人们能够理解的汇编格式给出;
   -dd    将匹配信息包的代码以c语言程序段的格式给出;
   -ddd    将匹配信息包的代码以十进制的形式给出;
   -e    在输出行打印出数据链路层的头部信息;
   -f    将外部的Internet地址以数字的形式打印出来;
   -l    使标准输出变为缓冲行形式;
   -n    不把网络地址转换成名字;
   -t    在输出的每一行不打印时间戳;
   -v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
   -vv    输出详细的报文信息;
   -c    在收到指定的包的数目后,tcpdump就会停止;
   -F    从指定的文件中读取表达式,忽略其它的表达式;
   -i    指定监听的网络接口;
   -r    从指定的文件中读取包(这些包一般通过-w选项产生);
   -w    直接将包写入文件中,并不分析和打印出来;
   -T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议)