Tenho uma configuração de três computadores que estão todos na mesma sub-rede e conectados a um switch. Todos os serviços estão acessíveis. Estou fazendo ping do PC(1) para o PC(2). Abrindo o tshark com o PC(3), mas não consigo ver os pacotes que não são destinados (ou têm a fonte) para o PC(3).
Todos os tipos de software de captura como Wireshark, tcpdump, tshark, etc., mesmo em modo promíscuo, simplesmente não conseguem ver o tráfego que não é destinado ao host de captura.
Como você não mencionou equipamentos especializados, presumo que esteja usando um switch padrão para conectar esses PCs. Os switches normais usam uma tabela de endereços MAC. Basicamente é um mapeamento de "PC identificado via MAC → porta (o conector físico)". Dessa forma, o switch pode enviar pacotes unicast para a porta correta. PCs em outras portas não recebem os pacotes. Somente pacotes com destinos desconhecidos ou pacotes de broadcast serão enviados para todas as portas. Isso não apenas ajuda na privacidade, mas também aumenta o desempenho, pois reduz o tráfego geral.
O que você quer fazer é chamado de "sniffing". Existem várias maneiras de fazer isso, veja esta pergunta . Para fins acadêmicos, se você tiver um sistema com duas placas de rede, pode criar uma ponte e conectar os dois PCs ao terceiro. Dessa forma, você também pode monitorar o tráfego.
Isso não é possível, a menos que:
Todas as três máquinas estão conectadas a um hub de rede em vez de um switch de rede . Não sei se os hubs ainda são feitos (acho que nem vi um desde os anos 1990), mas a diferença é que:
com um hub (também conhecido como "repetidor"), TODOS os pacotes da rede são enviados para todas as portas do hub. Obviamente, isso não é bem dimensionado se houver muitos dispositivos na rede.
um switch mantém uma tabela de quais dispositivos (ou seja, seus endereços MAC) estão conectados a quais portas, portanto, apenas pacotes de "transmissão" (por exemplo, pacotes de descoberta como ARP WHO-HAS, DHCPDISCOVER, bem como pacotes para o endereço de transmissão da rede) são enviados para todas as portas - uma vez que um switch descobriu a qual porta um dispositivo está conectado, os pacotes para esse destino são enviados apenas para essa porta.
Você configurou uma das portas no switch para estar no modo "promíscuo" (também conhecido como "espelhamento de porta"), para que receba todos os pacotes da rede. Isso normalmente requer algum tipo de switch "inteligente" ou gerenciável, que tenha uma porta de console serial ou acesso http/https, telnet ou ssh para configurá-lo.
Observe que a maioria dos switches domésticos/pequenos negócios baratos não são gerenciados e não podem ser configurados. Alguns dispositivos de combinação de roteador/switch (por exemplo, um "modem" xDSL com várias portas LAN) às vezes possuem alguns recursos básicos de configuração de porta.
A máquina na qual você deseja fazer a detecção de pacotes tem duas interfaces de rede (cada uma conectada diretamente a uma das outras duas máquinas) e atua como uma ponte ou roteador entre os dois segmentos de rede.