Tcpdump
是否可以從同一網路中的第三台主機擷取兩台主機之間的數據包?
我想從第三台主機查看兩台主機之間的流量,我的網路上都有我在第三台主機上執行此操作:
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 將僅顯示來自連接主機的數據包直接地。