我用它tcpdump
来捕获来自特定 IP 地址的流量。是否可以只捕获新连接,即以 SYN 数据包开头的 TCP 流?
答案1
仅捕获 TCP SYN 数据包:
# tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"
答案2
以下将捕获 TCP-SYN 和 SYN-ACK 数据包。
tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) !=0"
以下将仅捕获 TCP-SYN 数据包。
tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) !=0 and tcp[tcpflags] & (tcp-ack) =0"
原因是,SYN-ACK 数据包包含 SYN 和 ACK 标志。第一个过滤器仅查找是否存在 SYN 标志。
如果您只想过滤入站,请添加 -Q 选项。
tcpdump -i <interface> -Q in "tcp[tcpflags] & (tcp-syn) !=0 and tcp[tcpflags] & (tcp-ack) =0"