在linux下,可以使用 tcpdump 命令来抓取数据包。
主要用法如下:
过滤网卡
tcpdump -i eth0 #抓取所有经过网卡eth0数据包
tcpdump -i lo #抓取环回口的数据包
过滤主机/IP
tcpdump host 192.168.10.10 #抓取所有IP为192.168.10.10的数据包
tcpdump src host 192.168.10.10 #抓取所有源IP为192.168.10.10的数据包
tcpdump dst host 192.168.10.10 #抓取所有目的IP为192.168.10.10的数据包
过滤端口:
tcpdump port 1234 #抓取所有端口为1234的网络数据
tcpdump src port 1234 #抓取所有源端口为1234的网络数据
tcpdump dst port 1234 #抓取所有目的端口为1234的网络数据
过滤特定协议:
tcpdump udp #抓取UDP协议的数据包
tcpdump icmp #抓取ICMP协议的数据包
抓取特定类型的数据包:
tcpdump -i eth1 ‘tcp[tcpflags] = tcp-syn’ #抓取所有经过网卡1的SYN类型数据包
结合
tcpdump -i eth1 udp dst port 53 #抓取经过网卡eth1的所有DNS数据包(默认端口)
逻辑语句过滤:
tcpdump -i eth1 ‘((tcp) and ((dst net 172.16) and (not dst host 192.168.1.200)))’ #抓取所有经过网卡1,目的网络是172.16,但目的主机不是192.168.1.200的TCP数据
抓包存取:
tcpdump -i eth1 host 172.16.7.206 and port 80 -w /tmp/xxx.cap #抓取所有经过网卡1,目的主机为172.16.7.206的端口80的网络数据并存储
本文同步分享在 博客“谢公子”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
今天的文章linux抓包命令tcpdump 文本,Linux下抓包命令tcpdump的使用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7137.html