
Estou tentando descobrir os pacotes marcados com vlan que meu host recebe ou envia para outros hosts. tentei
tcpdump -i eth1 vlan 0x0070
Mas não funcionou. Alguém já tentou visualizar os pacotes vlan através do tcpdump antes? Não foi possível encontrar muita ajuda para pesquisar na web!
Responder1
Se o seu host estiver conectado a uma porta de acesso, o switch provavelmente removerá a etiqueta VLAN antes de chegar ao seu host. Como resultado, a execução do TCPDump no host em questão nunca verá as tags VLAN.
Você precisaria configurar uma porta SPAN e/ou introduzir um toque de rede em sua rede em algum lugar para capturar o tráfego antes que as tags fossem descartadas dos pacotes para vê-los em um despejo/rastreamento de rede.
Responder2
você pode realmente usar o Linux para "decodificar" 802.1q (marcação de vlan). você pode efetivamente transformar o Linux em um "roteador em um stick" e rotear entre vlans, com uma única porta Ethernet, em um switch Cisco Layer 2 sofisticado (que possui muitas vlans).
a Ethernet principal possui "subinterfaces" que correspondem ao ID da vlan. você pode então rotear e iptables (firewall) as subinterfaces individualmente.
esta é uma maneira fácil de ter um firewall Linux de perímetro conectado ao ISP e 10 vlans por trás dele, mas usando apenas uma única interface Ethernet.
dot q é o padrão, mesmo que a Cisco pense que foi inventado, então funciona muito bem no Linux.
EDIT: para ativar isso
sonda mod 8021q
você pode então executar o tcpdump para ouvir nas subinterfaces
Responder3
Para ser honesto, acho que você está usando a ferramenta errada - o tcpdump está mais vinculado ao IP (L3), enquanto as VLANs são um recurso do L2 - tente usar o wireshark.