大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说linux抓包命令tcpdump 文本,Linux下抓包命令tcpdump的使用[通俗易懂],希望能够帮助大家进步!!!
在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 'tcptcpflags = 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)。