AFAIK, a NIC recebe todos os pacotes do fio em uma rede local, mas rejeita os pacotes cujo endereço de destino não é igual ao seu IP.
Quero desenvolver um aplicativo que monitore o uso da internet pelos usuários. Cada usuário tem um endereço IP fixo.
Eu e algumas outras pessoas estamos conectadas a um comutador de mesa não gerenciado DES-108 8 portas Fast Ethernet
Como dito anteriormente, quero capturar todos os tráfegos de todos os usuários e não apenas os pacotes que me pertencem.
Como devo forçar minha NIC ou outros componentes a receber todos os pacotes?
linux
networking
packet
m.r226
fonte
fonte
Respostas:
Correção: rejeita os pacotes cujo endereço MAC de destino não é igual ao seu endereço MAC (ou multicast ou qualquer endereço adicional em seu filtro.
Os utilitários de captura de pacotes podem colocar trivialmente o dispositivo de rede no modo promíscuo, ou seja, a verificação acima é ignorada e o dispositivo aceita tudo o que recebe. De fato, esse geralmente é o padrão: com
tcpdump
, você deve especificar a-p
opção para não fazer isso.A questão mais importante é se os pacotes de seu interesse estão sendo carregados até a porta de farejamento. Como você está usando um switch Ethernet não gerenciado, eles quase certamente não o são. O switch está decidindo remover pacotes que não lhe pertencem da sua porta antes que seu dispositivo de rede possa vê-los.
É necessário conectar-se a uma porta de espelhamento ou monitoramento especialmente configurada em um switch Ethernet gerenciado para fazer isso.
fonte
No início, diz respeito aos hubs ethernet (não comutadores), pacotes enviados estão disponíveis para todos os hosts na sub-rede, mas os hosts que não são o destinatário pretendido devem ignorar.
Obviamente, não demorou muito tempo para as sub-redes saturarem, então a tecnologia do switch nasceu para resolver os problemas, e uma das coisas que eles fizeram foi fazer com que a rede alternasse apenas os pacotes de roteamento destinados ao host para essa porta (mais o tráfego de transmissão de Andy )
Isso complica o monitoramento / detecção da rede, porque você só pode detectar pacotes que são para o seu host. Isso foi considerado uma coisa boa do ponto de vista de segurança, mas do ponto de vista de monitoramento de rede não é tão bom. Para fazer o monitoramento de rede funcionar, os fornecedores implementam um recurso chamado espelhamento de porta. Isso deve ser configurado no comutador de rede, e o link abaixo deve indicar a direção certa para os produtos D-link. Você o encontrará em algum lugar no software de gerenciamento de switches ou na interface de administração da web. Se você não encontrar esses recursos, talvez a funcionalidade não seja fornecida nesse dispositivo específico.
http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring
fonte
Primeiro, você precisa mudar sua NIC para o modo promíscuo. Vamos supor que sua interface NIC seja eth0.
Se você estiver em uma rede de comutadores, seu farejamento será reduzido ao domínio de colisão, conecte-se à sua porta do comutador. Você pode executar
macof
para sobrecarregar a tabela de encaminhamento do comutador.Então você pode usar
wireshark
outcpdump
capturar todo o tráfego.Se você não estiver em uma rede comutada, basta ativar o modo promíscuo e usar
tcpdump
.fonte
tcpdump
ativará o modo promíscuo para você. Você não precisa fazer isso (e lembre-se de desfazê-lo quando terminar) manualmente.Você está reinventando a roda.
Supondo que você tenha uma rede simples com clientes conectados a switches, com um gateway padrão para a Internet, você só precisará monitorar nesse dispositivo de gateway padrão. Este será um ponto de estrangulamento para mostrar todo o tráfego entre um cliente da LAN e a Internet.
Estou assumindo que o tráfego de cliente LAN para cliente LAN não é interessante, porque com todos os endereços IP dentro da mesma sub-rede IP, o tráfego local não toca no gateway padrão.
Se você realmente deseja ver todo o tráfego, cada usuário precisa estar em sua própria rede IP e o tráfego para as outras redes é através do gateway padrão. Você pode alocar um / 28 para cada pessoa e elas podem ter 14 IPs para si.
Seu roteador doméstico médio não vai lidar com muito disso, você precisará explorar uma distribuição de firewall dedicada. Pessoalmente, o pfsense seria o meu objetivo, mas há muitas opções.
fonte