【问题标题】:tcpdump stateful filteringtcpdump 状态过滤
【发布时间】:2011-09-20 02:39:12
【问题描述】:

假设我有两台主机 A 和 B。它们在端口 80 上都有一个网络服务器。两台服务器都通过它们的网络服务器相互下载文件。 A:some_port b:80 和同时 A:80 B:some_port.

如何运行 tcpdump 来捕获客户端为主机 A 或 B 的所有数据包?我不希望包含来自两个连接的数据包的混合转储文件。

如果我使用:

tcpdump -i eth0 host A and port 80

我收到 A 和 B 之间的所有数据包。如果我将其更改为

tcpdump -i eth0 src host A and src port 80

那么我刚刚收到了错误的一半数据包。

你有什么建议吗?

【问题讨论】:

  • 所以你想捕获,例如,所有以 A 作为 HTTP 客户端的数据包,从 A 到 B 和从 B 到 A,但不是任何以 B 作为 HTTP 客户端的数据包,或者 反之亦然(B作为客户端,但不作为服务器)?

标签: packet-capture tcpdump


【解决方案1】:

我找不到任何方法来做到这一点。然而,我所做的是为不同的连接使用不同的源端口范围,并在我的 tcpdump 过滤器中使用它们......

tcpdump -i eth0 -nn portrange $dumpPortListenRange1
tcpdump -i eth0 -nn portrange $dumpPortListenRange2

我知道这不是答案,但它需要调整以使其发挥作用......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2017-07-28
    • 2014-07-10
    • 2022-08-20
    • 2018-05-28
    • 1970-01-01
    • 2016-07-30
    相关资源
    最近更新 更多