tcpdump抓包常用命令及问题

由于经常定位VoIP中碰到的问题,笔者经常需要在Linux服务器上抓包,然后将生成的.pcap文件用wireshark打开进行分析。常用命令如下:

tcpdump -nq -s 0 -i eth0  -w ronny-2019-0701-1415.pcap

以上命令假设要抓包的网卡名为eth0,-w后面跟的是生成的抓包文件名

如果要抓包的服务器上呼叫量比较大,那么生成的pcap文件将会非常大,这样抓出来的包是没有任何意义的(一般电脑是无法打开那么大的包的),所以就需要用到抓包分片功能:

tcpdump -nq -s 0 -i eth0 -C 100 -w ronny-2019-0701-1415.pcap

-C参数指定了多少兆(M)为单位生成一个包,上面语句,如果包超过了100M大小,则会生成新文件ronny-2019-0701-1415.pcap1,如果再次超过,则生成ronny-2019-0701-1415.pcap2,...... ,依次类推。

如果想持续抓包,即不想ssh客户端关闭后抓包停止,则可后台运行tcpdump,即:

nohup tcpdump -nq -s 0 -i eth0 -C 100 -w ronny-2019-0701-1415.pcap  &

nohup xxx & 会后台执行tcpdump,可通过ps -ef | grep tcpdump命令查看是否运行成功:

如果执行tcpdump时(不论是前台运行还是后台运行)碰到如下错误:

则可以在执行命令的加上root权限或者其他具有操作权限的用户名,-Z参数便是干这个事的:

nohup tcpdump -nq -s 0 -i eth0 -C 100 -w ronny-2019-0701-1415.pcap  -Z root  &

若想抓取经过【网卡名】并且是主机【ip1】和主机【ip2】或者主机【ip1】和主机【ip3】之间的通信,则使用host选项:

tcpdump udp -nq -s 0 -i [网卡名] -C 100 host [ip1] and \(ip2 or ip3 \) -w xxx.pcap

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值