1. 监控某一网络接口的数据包

    1
    tcpdump -i eth0
  2. 查看dns解析的包 port domain

    1
    tcpdump -i eth0 -nt  -s 500 port domain

    -t 不显示时间
    -n 不会将ip显示为hostname

  3. 过滤IP

    1
    2
    3
    4
    5
    tcpdump -i eth0 host 202.22.22.22
    tcpdump -i eth0 src host 202.22.22.22 ## 指定源地址
    tcpdump -i eth0 dst host 202.22.22.22 ## 指定目的地址
    tcpdump -i eth0 host 202.22.22.22 and \(202.22.22.21 or 202.22.22.20 \) ## 获取202.22.22.22 与 202.22.22.21或202.22.22.20之间的包
    tcpdump -i eth0 host 202.22.22.22 and !202.22.22.21 ## 获取202.22.22.22 与 除了202.22.22.21 之外的ip之间的包
  4. 过滤端口 port

    1
    2
    3
    tcpdump -i eth0 port 22
    tcpdump -i eth0 src port 22 ## 指定源端口
    tcpdump -i eth0 dst port 22 ## 指定目的端口
  5. 过滤协议

    1
    2
    3
    4
    5
    tcpdump -i eth0 arp
    tcpdump -i eth0 ip
    tcpdump -i eth0 tcp
    tcpdump -i eth0 udp
    tcpdump -i eth0 icmp

参考文章:

tcpdump高级过滤