捕获TCP数据包流

时间:2014-02-19 09:01:33

标签: sockets networking tcp network-programming protocols

问题陈述: 假设父服务器托管在机器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数据包。但我不想要那个解决方案。 有什么方法可以解决这个问题吗?是否有可能为此引入新协议?但是服务器代码无法修改。

1 个答案:

答案 0 :(得分:0)

“任何代理软件”是否包含类似Wireshark的内容?通常,查看收到的所有数据报的方法是使用Wireshark之​​类的嗅探器,或者在Linux服务器中使用tcpdump。

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

如果上述所有内容都包含在您不想做的内容中,我看到的唯一选择是在浏览器和Web服务器之间添加另一台服务器(如果您有,则在服务器和负载均衡器之间添加另一台服务器)负载均衡器,仅作为路由器或网桥。在该机器中,您可以使用所有可用工具检查和过滤TCP段。