我想从第三台主机查看两台主机之间的流量,我的网络上都有我在第三台主机上执行此操作:
ip link set eth0 promisc on
tcpdump -vv -i eth0 -xX host 192.168.0.2 and host 192.168.0.38 and not stp
我在 192.168.0.2 上进行了 ssh,从 192.168.0.2 我 ping 192.168.0.38,而不是在我的终端上看到 udp 数据报,我看到了这个
tcpdump -vv -i eth0 -xX host 192.168.0.2 and host 192.168.0.38 and not stp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
^C
0 packets captured
8 packets received by filter
0 packets dropped by kernel
为什么?
我尝试指定 src 和 dst ..
tcpdump -vv -i eth0 -xX src host 192.168.0.2 and dst host 192.168.0.38 and not stp
但没有任何改变。
你说,“……在我的网络上……”
如果您可以访问物理网络层,那么是的,这是可能的。
一些管理型交换机能够将发往端口 X 的流量复制到端口 Y。
tcpdump
如果主机有多个 NIC,另一种可能性是将tcpdump
主机放在其他两台主机之间并让它桥接流量。可能找到了解决方案。语法是正确的,但现代交换网络(不像旧的共享总线,如旧的好 10base2 或 base5)不会将流量发送到未连接到目标 MAC 地址的交换机端口,因此 tcpdump 将仅显示来自连接主机的数据包直接地。