tcpdump 常用方法
tcpdump 常用方法
本文档介绍 tcpdump 网络抓包工具的常用方法。
tcpdump 抓 DHCP 包
tcpdump -i eth0 -c 8 -s 0 -w /mnt/sdcard/dhcp.pcap 'udp and port 67 and port 68' 参数说明:
-i:选择网卡-c:数据包个数-s:数据包长度,0 代表完整数据包-w:写入文件- DHCP 使用 67 和 68 端口
示例:
tcpdump -i team1 -s 0 udp and port 67 and port 68 抓取包含指定 IP 的数据包
tcpdump -i eth0 -vnn host 10.10.10.122 抓取包含指定网段的数据包
tcpdump -i eth0 -vnn net 10.10.10.0/24 抓取包含指定端口的数据包
tcpdump -i eth0 -vnn port 22 抓取 UDP 协议的数据包
tcpdump -i eth0 -vnn udp 抓取icmp协议的数据包
tcpdump -i eth0 -vnn icmp 抓取arp协议的数据包
tcpdump -i eth0 -vnn arp 抓取ip协议的数据包
tcpdump -i eth0 -vnn ip 抓取源ip是10.10.10.122数据包
tcpdump -i eth0 -vnn src host 10.10.10.122 抓取目的ip是10.10.10.122数据包
tcpdump -i eth0 -vnn dst host 10.10.10.122 抓取源端口是22的数据包
tcpdump -i eth0 -vnn src port 22 抓取源ip是10.10.10.253且目的ip是22的数据包
tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22 抓取源ip是10.10.10.122或者包含端口是22的数据包
tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22 抓取源ip是10.10.10.122且端口不是22的数据包
tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22 抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包
tcpdump -i eth0 -vnn 'src host 10.10.10.2 and dst port 22 ' or 'src host 10.10.10.65 and dst port 80' 抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包
tcpdump -i eth0 -vnn 'src host 10.10.10.59 and dst port 22' or ' src host 10.10.10.68 and dst port 80 ' 把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序
tcpdump –i eth0 -vnn -w /tmp/fil1 -c 100 从/tmp/fill记录中读取tcp协议的数据包
tcpdump –i eth0 -vnn -r /tmp/fil1 tcp 从/tmp/fill记录中读取包含10.10.10.58的数据包
tcpdump –i eth0 -vnn -r /tmp/fil1 host 10.10.10.58 查看发送到host的数据包是否有经过当前主机的网卡
tcpdump -i eth0 -nnt -c 1 dst host 172.18.22.208 and icmp 抓取经过 interface ens160,发送到 host 172.18.22.208 或 172.18.22.200 的 TCP 协议 22 号端口的数据包
tcpdump -i ens160 -nntvv -c 10 '((tcp) and (port 22) and ((dst host 172.18.22.208) or (dst host 172.18.22.200)))' 抓取经过 interface ens160,DST_MAC 或 SRC_MAC 地址是 00:50:56:bf:c2:c5 的 ICMP 数据包
tcpdump -i ens160 '((icmp) and ((ether host 00:50:56:bf:c2:c5)))' 抓取经过 interface ens160,目标网络是 172.18 但目标主机又不是 172.18.22.204 的 TCP 且非 22 号端口的数据包
tcpdump -i ens160 -c 10 -nnt '((tcp) and (not port 22) and ((dst net 172.18) and (not dst host 172.18.22.204)))' 抓取流入 interface ens160,host 为 172.18.22.208 且协议为 ICMP 的数据包
# 172.18.128.204 > 172.18.22.200(curr) > 172.18.22.208 tcpdump -i ens160 -nnt -P in host 172.18.22.208 and icmp 抓取流出 interface ens160,host 为 172.18.22.208 且协议为 ICMP 的数据包
# 172.18.22.208 > 172.18.128.200(curr) > 172.18.128.204 tcpdump -i ens160 -nnt -P out host 172.18.22.208 and icmp 抓取所有经过网卡1的SYN类型数据包
tcpdump -i eth1 ‘tcp[tcpflags] = tcp-syn’ 抓取所有经过网卡1,目的网络是172.16,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 ‘((tcp) and ((dst net 172.16) and (not dst host 192.168.1.200)))’ 本文由作者按照 CC BY 4.0 进行授权