Estou executando o roteador ASUS-RT-N16 e consegui obter o tcpdump via entware. Quando executo o tcpdump (no roteador) -i any -vvv -X udp ou tcpdump -i br0 -vvv -X udp [br0 é a ponte], vejo apenas o tráfego multicast udp, não o tráfego udp para dispositivos conectados às portas LAN (verifiquei que os dispositivos estão se comunicando via UDP). Também tentei com a opção -p com o tcpdump. Não vejo nada além de 192.168.1.255 como destino.
alguma ideia?
Na maioria desses roteadores, todas as portas 'LAN' são conectadas internamente a um chip de switch Ethernet. 1 A CPU do roteador não recebe tráfego diretamente, mas é apenas outra conexão com esse switch (por meio de uma "porta de CPU") - e, como acontece com outras portas de switch Ethernet, a "porta de CPU" recebe apenas os quadros Ethernet que são a) transmitidos ou b) endereçados especificamente ao endereço MAC do roteador. 2
O switch é gerenciado pelo kernel, de modo que você ainda vê
eth
interfaces separadas (uma por porta), mas colocar essas interfaces em uma ponte fará com que o driver DSA ative automaticamente o offload de hardware para a ponte. Nesse ponto, todo o tráfego não endereçado especificamente ao endereço MAC da CPU (ou transmissão) é encaminhado no hardware sem que a CPU o veja.Não sei que tipo de firmware seu roteador tem, mas o recurso de gerenciamento de switch DSA Linux upstream não parece ter uma maneira de desabilitar o offloading individualmente (isso só foi proposto no mês passado). Se você quiser monitorar o tráfego entre dois hosts, pode ser necessário colocá-los em duas VLANs separadas (que necessariamente se comunicarão pelo roteador) ou comprar um switch externo que tenha a funcionalidade de "espelhamento de porta" (ou monitor de porta, ou SPAN).
(Duas VLANs podem não ser necessárias se você puder configurar duas sub-redes ou, pelo menos, reduzir as "máscaras de sub-rede" dos hosts para fazê-los pensar que não estão mais na mesma sub-rede.)
Tenho certeza de que pelo menos alguns desses interruptores internos são suficientemente programáveis para implementar uma porta espelhada ou captura pela CPU – por exemplo, vi esses recursos no RB951G – mas isso depende muito do hardware e do firmware.
1 (Pode ser fisicamente parte do chip SoC, mas ainda assim logicamente separado da CPU.)
2 (E quando as interfaces não são interligadas, todo o tráfego chega à CPU por meio daquela única porta interna, usando tags semelhantes a VLAN que o driver do switch reconhece. Então, na verdade, todas essas
eth
interfaces vistas pelo sistema operacional funcionam muito como interfaces "vlan".)