使用 tcpdump 識別 VLAN 封包

使用 tcpdump 識別 VLAN 封包

我正在嘗試找出我的主機接收或發送到其他主機的 VLAN 標記資料包。我試過

tcpdump -i eth1 VLAN 0x0070

但這沒有用。有人嘗試透過tcpdump查看vlan資料包嗎?在網路上搜尋找不到太多幫助!

答案1

如果您的主機連接到存取端口,交換器可能會在到達您的主機之前剝離 VLAN 標記。因此,在相關主機上執行 TCPDump 將永遠不會看到 VLAN 標記。

您需要設定一個 SPAN 連接埠和/或在網路中的某處引入網路分流器,以在標籤從封包中丟棄之前捕獲流量,以便在網路轉儲/追蹤中查看它們。

答案2

你實際上可以使用linux來「解碼」802.1q(vlan標記)。你可以有效地將linux變成一個“棒上的路由器”,並在一個奇特的cisco第2層交換器(有很多vlan)上使用單個以太網端口在vlan之間路由。

主乙太網路有與 vlan id 相對應的「子介面」。然後,您可以單獨路由和 iptables(防火牆)子介面。

這是將外圍 Linux 防火牆連接到 isp 及其後面的 10 個 VLAN 的簡單方法,但僅使用單一乙太網路介面。

點 q 是標準,儘管 cisco 認為它是編造出來的,所以它在 Linux 上運作得很好。

編輯:啟用此功能

模組探針 8021q

然後您可以執行 tcpdump 來監聽子介面

答案3

老實說,我認為您使用了錯誤的工具 - tcpdump 與 IP (L3) 聯繫更緊密,而 VLAN 是 L2 的一項功能 - 請嘗試使用wireshark。

相關內容