tcpdump手册

一般情况下,非HTTP协议的网络分析,在服务器端用tcpdump比较多,在客户端用wireshark比较多,两个抓包软件的语法是一样的。

# 抓取所有经过eth1 && 目的或源地址是192.168.1.1的数据
tcpdump -i eth1 host 192.168.1.1
# 指定源地址
tcpdump -i eth1 src host 192.168.1.1
# 指定目的地址
tcpdump -i eth1 dst host 192.168.1.1
tcpdump -i eth1 net 192.168
tcpdump -i eth1 src net 192.168
tcpdump -i eth1 dst net 192.168
# 抓取所有经过eth1,目的端口 或 源端口是53的网络数据
tcpdump -i eth1 port 53
# 指定源端口
tcpdump -i eth1 src port 53
# 指定目的端口
tcpdump -i eth1 dst port 53
tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 icmp
  • : ! or “not” (去掉双引号)
  • : && or “and”
  • : || or “or”
# 抓取所有经过eth1的DNS数据,目标是114.114.114 或 223.5.5.5
tcpdump -i eth1 '((udp) and (port 53) and ((dst host 114.114.114.114) or (dst host 223.5.5.5)))'
# 抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数据
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'
# 抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'
# 抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

  • linux/others/tcpdump手册.txt
  • 最后更改: 2019/04/16 18:31
  • (外部编辑)