我正在尝试从正确启动(使用 3 向协议(protocol):syn、syn-ack、ack)并正确结束的 pcap 文件连接中捕获。
To capture connections that starts correctly I use the following filter:
(tcp.flags.syn == 1) || (tcp.flags.syn==1 && tcp.flags.ack==1)
我不会仅按 ack 进行过滤,因为它会过滤每个包含 ack 且对我无用的包。所以我使用:SYN 或 SYN-ACK 标志来过滤。那只是为了开始连接所以,我应该如何过滤包以获得结束包?
I'm using something like this: (tcp.flags.fin==1) || (tcp.flags.fin==1 && tcp.flags.ack==1)
我觉得这不对,因为我不知道每个连接是如何结束的,这取决于实现?还是始终相同?
最佳答案
对于 TCP 连接,它总是相同的,除了当对等方重置连接(RST 标志)时的异常情况。此外,在 wireshark 中,您有方便的选项:如果您右键单击一个数据包并选择“跟随 TCP 流”,它将仅显示属于该连接的数据包,因此您可以看到它是如何开始和结束的...
关于tcp - BPF 过滤器 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24508307/