【发布时间】:2012-07-01 01:16:47
【问题描述】:
我正在尝试调试两个嵌入式设备之间的 TCP 通信,其中只有一个在我的控制之下。我想看看 Wireshark 中发生了什么,但我什么也没看到。是否甚至可以在 Wireshark 中查看远程主机(但在同一交换机上)之间的流量?
【问题讨论】:
我正在尝试调试两个嵌入式设备之间的 TCP 通信,其中只有一个在我的控制之下。我想看看 Wireshark 中发生了什么,但我什么也没看到。是否甚至可以在 Wireshark 中查看远程主机(但在同一交换机上)之间的流量?
【问题讨论】:
这取决于您的开关。某些交换机具有称为“port mirroring”的功能,允许您将特定物理端口上的所有流量镜像到另一个端口。
最便宜的方法是使用基本网络hub。默认情况下,这将在所有其他端口上复制单个端口上的所有传入和传出流量。
【讨论】:
如果您使用一种称为ARP spoofing 的技术,您可以在没有端口镜像的情况下查看交换机上的任何 IP 流量。您可以使用ettercap 之类的工具来完成此操作。我使用这种技术对 PBX 和 IP 电话之间的 VOIP 流量进行故障排除。一旦启动了 ARP 欺骗,您将在 Wireshark 上看到任何或所有 IP 流量。如果您怀疑此解决方案的合法性,请参阅 Legitimate usage 上的 this 维基百科页面。
【讨论】:
当您和这些主机之间没有 SWITCH(而不是 HUB)时。交换机只会将数据包转发到目标主机所连接的端口,而集线器会将它看到的所有数据包传播到所有端口。
可以通过(临时)安装一个集线器来实现您想要的,在该集线器上连接您的计算机和需要嗅探的两个系统。
编辑:正如 MattH 在评论中所说,在许多高端交换机上都有一个镜像功能,允许您使用交换机的一个端口来嗅探另一个端口。您可以询问您的网络人员,您的交换机是否有这样的功能,并访问该功能以进行调试。
【讨论】:
ettercap 来执行此操作,然后使用wireshark 查看流量。