我一直使用wire-shark来分析套接字程序的数据包,现在我想查看其他主机的流量,因为我发现我需要使用仅在Linux平台上支持的监控模式,所以我尝试了一下,但我无法捕获在我的网络中传输的任何数据包,并将其列为0数据包捕获。
场景:
我有一个由50+主机组成的网络(除了我的,所有主机都是由windows驱动的),我的IP地址是192.168.1.10,当我在任何192.168.1.xx之间发起通信时,它会显示捕获的流量。但我的要求是监控来自我的主机的192.168.1.21b/w192.168.1.22的流量,即来自192.168.1.10的流量。
1:有没有可能像我提到的那样捕获流量?
2:如果可能,那么wire-shark是不是合适的工具(或者我应该使用不同的工具)?
3:如果这是不可能的,为什么?
发布于 2013-10-26 04:25:36
您已连接到正在“交换”流量的交换机。它会将你看到的流量建立在你的mac地址上。它将不会向您发送不是去往您地址的通信。如果您想要监控所有的流量,您需要配置您的交换机使用“端口镜像”,并将您的嗅探器插入该端口。您无法在您的计算机上安装任何软件来规避网络交换的工作方式。
http://en.wikipedia.org/wiki/Port_mirroring
发布于 2013-10-26 03:29:00
只需使用您自己的过滤器和ips对其进行一点调整:(在本地主机上)
ssh -l root <REMOTE HOST> tshark -w - not tcp port 22 | wireshark -k -i -
或者使用bash:
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 -
https://stackoverflow.com/questions/19597903
复制相似问题