tcpdump usage

一、获取适配器列表
$ tcpdump -D

二、监听适配器
使用 -i 或 –interface 参数监听适配器,适配器可以用序号或名字来表示,这些内容可以通过 -D 参数获取。macOS 下监听适配器的话,必须使用 root 权限。
 如果需要详细查看报内容,可以使用 -X 参数。

$ tcpdump -i en0 -X

三、监听适配器过滤
1、过滤主机
抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据
$ tcpdump -i en0 host 192.168.1.1

限定源地址
$ tcpdump -i eth1 src host 192.168.1.1

限定目标地址
$ tcpdump -i eth1 dst host 192.168.1.1

2、过滤端口
抓取所有经过 eth1,目的或源端口是 25 的网络数据
$ tcpdump -i eth1 port 25

限定源端口
$ tcpdump -i eth1 src port 25

限定目标端口
$ tcpdump -i eth1 dst port 25

3、过滤网段
$ tcpdump -i eth1 net 192.168

$ tcpdump -i eth1 src net 192.168

$ tcpdump -i eth1 dst net 192.168

4、协议过滤

$ tcpdump -i eth1 arp
$ tcpdump -i eth1 ip
$ tcpdump -i eth1 tcp
$ tcpdump -i eth1 udp
$ tcpdump -i eth1 icmp

5、使用表达式
与:&& 或 and
或:|| 或 or
非:! 或 not

$ tcpdump -i eth1 ‘((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host
192.168.1.200)))’