【问题标题】:capturing TCP packets flow捕获 TCP 数据包流
【发布时间】:2014-02-19 09:01:32
【问题描述】:

问题陈述: 假设父服务器托管在机器 IP:1.1.1.1 上,并且该服务器有时与三个不同的服务器进行通信,例如 A (1.1.1.2)、B (1.1.1.3)、C (1.1.1.4)。这些服务器可能是数据库服务器或任何其他服务器。 现在从你的浏览器你可以向 1.1.1.1/somePage.htm 发送一个 http 请求,结果一些 TCP 数据包将到达服务器 1.1.1.1,并且 1.1.1.1 可以发送和接收来自 A、B 的一些 TCP 数据包, C也一样。 目的是从浏览器机器获取所有TCP数据包的信息,而不需要在任何服务器上安装任何代理软件。 一种解决方案是我们可以在 1.1.1.1 服务器机器上编写一个代码,该代码将过滤相对于各个 IP 的所有 TCP 数据包。但我不想要那个解决方案。 有没有办法解决这个问题?是否可以为此引入新协议?但是服务器代码不能修改。

【问题讨论】:

  • 我不确定您建议如何在不修改服务器代码的情况下引入新协议。如果您无法在服务器上修改任何内容,则需要使用其他可以看到这些数据包的设备进行操作。查看您的网络设备的手册,也许交换机/路由器支持端口镜像。

标签: sockets networking tcp network-programming protocols


【解决方案1】:

“任何代理软件”是否包括 Wireshark 之类的东西?通常查看收到的所有数据报的方法是使用像 Wireshark 这样的嗅探器,或者您可以在 Linux 服务器中使用 tcpdump。

您还可以使用 Netfilter 处理服务器中接收到的数据包并对其采取某些操作。

如果上述所有内容都包含在您不想做的事情中,我看到的唯一替代方法是在浏览器和 Web 服务器之间(或者如果您有的话,在服务器和负载平衡器之间)添加另一个服务器负载均衡器),仅充当路由器或网桥。在该机器上,您可以使用所有可用工具检查和过滤 TCP 段。

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多