當我使用tcpdump -i eth0 -nn
時,你可以看到來自192.168.19.101的數據包 (我沒有足夠的信譽來發布圖片) 但是當我指定ip時,tpye tcpdump -i eth0 -nn host 192.168.19.101
,tcpdump沒有捕獲數據包,但收到了一些數據包。爲什麼tcpdump在指定ip後捕獲數據包?
爲什麼?
當我使用tcpdump -i eth0 -nn
時,你可以看到來自192.168.19.101的數據包 (我沒有足夠的信譽來發布圖片) 但是當我指定ip時,tpye tcpdump -i eth0 -nn host 192.168.19.101
,tcpdump沒有捕獲數據包,但收到了一些數據包。爲什麼tcpdump在指定ip後捕獲數據包?
爲什麼?
好的,那麼這是在BPF中處理VLAN封裝困難的一個不幸後果。在「原始」接口上捕獲的VLAN數據包(提供具有完整VLAN標頭的數據包)不被視爲IP數據包,它們被視爲VLAN數據包,因此您需要執行「vlan and」以跳過VLAN標頭。
你是完全正確的!現在我想修改原始的解包算法來支持VLAN數據包。 – Libraco
如果你嘗試'tcpdump -i eth0 -nn vlan和host 192.168.19.101',會發生什麼? – 2013-08-29 06:57:55
是的,它的工作原理。我忘記告訴我捕獲端口鏡像上的數據包。 – Libraco