Skip to main content

tcpdump


Specify Port & Flags

tcpdump -i lo -nn -s 0 tcp port 9004 and '(tcp[tcpflags] & (tcp-syn|tcp-rst|tcp-ack) != 0)'
  • -i lo:在本地回环接口 (lo) 上抓包,也就是抓取本机进程之间的 TCP 通信。
  • -nn:不对地址和端口做反向解析(直接显示数字 IP 和端口号)。
  • -s 0:设置抓取长度为 0,表示抓取整个数据包(默认只抓前 262 字节)。
  • tcp port 9004:只抓取目标端口 9004 的 TCP 包(无论是源端口还是目标端口)。
  • tcpdump 的 BPF 表达式:
    • tcp[tcpflags]:TCP 首部的 flags 字节(即 SYN、ACK、RST、FIN 标志位所在的字段)。
    • (tcp-syn|tcp-rst|tcp-ack):掩码,把 SYN、RST、ACK 三个位合在一起。
    • tcp[tcpflags] & (...) != 0:只保留 SYN、RST、ACK 标志位有设置的 TCP 包。