7

一直在用wire-shark分析socket程序的包,现在想看看其他主机的流量,因为发现需要使用只有Linux平台支持的监控模式,所以我试过了,但是我无法捕获在我的网络中传输的任何数据包,列为 0 个捕获的数据包。

设想:

我有一个由 50 多台主机组成的网络(除了我的以外,所有主机都由 Windows 提供支持),我的 IP 地址是 192.168.1.10,当我启动任何 192.168.1.xx 之间的通信时,它会显示捕获的流量。但我的要求是监控来自我的主机的 192.168.1.21 b/w 192.168.1.22 的流量,即 从 192.168.1.10。

1:是否可以像我提到的那样捕获流量?

2:如果可能的话,wire-shark 是正确的工具吗(或者我应该使用不同的工具)?

3:如果不可能,那为什么?

4

2 回答 2

10

只需使用您自己的过滤器和 ips 稍微调整一下即可:(在本地主机上)

ssh -l root <REMOTE HOST> tshark -w - not tcp port 22 | wireshark -k -i -

或使用

wireshark -k -i <(ssh -l root <REMOTE HOST> tshark -w - not tcp port 22)

如果需要,您可以使用tcpdump代替:tshark

ssh -l root <REMOTE HOST> tcpdump -U -s0 -w - -i eth0 'port 22' |
     wireshark -k -i -
于 2013-10-25T19:29:00.007 回答
2

您连接到正在“交换”流量的交换机。它基于您在 mac 地址上看到的流量。它不会向您发送不是发往您的 mac 地址的流量。如果您想监控所有流量,您需要将交换机配置为使用“端口镜像”并将您的嗅探器插入该端口。您可以在您的机器上安装任何软件来规避网络切换的工作方式。

http://en.wikipedia.org/wiki/Port_mirroring

于 2013-10-25T20:25:36.387 回答