GNU/Linux >> Tutoriels Linux >  >> Linux

Comment capturer tous les paquets entrants vers la carte réseau, même ces paquets ne m'appartiennent pas

AFAIK, la carte réseau reçoit tous les paquets du câble dans un réseau local mais rejette les paquets dont l'adresse de destination n'est pas égale à son adresse IP.

Correction :il rejette les paquets dont la destination est MAC l'adresse n'est pas égale à son adresse MAC (ou multidiffusion ou toute adresse supplémentaire dans son filtre.

Les utilitaires de capture de paquets peuvent trivialement mettre le périphérique réseau en mode promiscuité, c'est-à-dire que la vérification ci-dessus est contournée et que le périphérique accepte tout ce qu'il reçoit. En fait, c'est généralement la valeur par défaut :avec tcpdump , vous devez spécifier le -p option pour ne pas fais-le.

La question la plus importante est de savoir si les paquets qui vous intéressent sont même transportés par le câble jusqu'à votre port de détection. Puisque vous utilisez un commutateur Ethernet non géré, ils ne le sont presque certainement pas. Le commutateur décide d'élaguer les paquets qui ne vous appartiennent pas de votre port avant que votre périphérique réseau puisse espérer les voir.

Pour ce faire, vous devez vous connecter à un port de mise en miroir ou de surveillance spécialement configuré sur un commutateur Ethernet géré.


Au début des concentrateurs Ethernet (et non des commutateurs), les paquets envoyés sont disponibles pour tous les hôtes du sous-réseau, mais les hôtes qui ne sont pas le destinataire prévu sont censés les ignorer.

Évidemment, il n'a pas fallu longtemps pour que les sous-réseaux saturent, donc la technologie de commutation est née pour résoudre les problèmes, et l'une des choses qu'ils ont faites a été de faire en sorte que le commutateur réseau n'achemine que les paquets destinés à cet hôte vers ce port (plus le trafic de diffusion andy ).

Cela complique la surveillance/reniflage du réseau car vous ne pouvez renifler que les paquets qui sont destinés à votre hôte. Cela a été considéré comme une bonne chose du point de vue de la sécurité, mais du point de vue de la surveillance du réseau, ce n'est pas si bon. Pour que la surveillance du réseau fonctionne, les fournisseurs implémentent une fonctionnalité appelée mise en miroir des ports. Cela doit être configuré sur le commutateur réseau, et le lien ci-dessous devrait vous orienter dans la bonne direction pour les produits D-link. Vous le trouverez quelque part dans votre logiciel de gestion des commutateurs ou dans l'interface d'administration Web. Si vous ne trouvez pas ces fonctionnalités, il se peut que la fonctionnalité ne soit pas fournie dans cet appareil spécifique.

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


Vous devez d'abord passer votre carte réseau en mode promiscuité. Supposons que votre interface NIC est eth0.

[email protected]#ifconfig eth0 promesc

Si vous êtes sur un réseau de commutation, votre reniflement est réduit au domaine de collision connecté à votre port de commutation. Vous pouvez exécuter macof pour submerger la table de transfert du commutateur.

[email protected]#macof -i eth0

Ensuite, vous pouvez utiliser wireshark ou tcpdump pour capturer tout le trafic.

[email protected]#tcpdump -i eth0 -w outputfile

Si vous n'êtes pas sur un réseau commuté, activez simplement le mode promiscuité et utilisez tcpdump .


Linux
  1. Pourquoi les interfaces réseau ne sont-elles pas dans /dev comme les autres périphériques ?

  2. Comment trouver tous les fichiers qui ne contiennent pas de chaîne de texte ?

  3. CentOS / RHEL :Comment savoir si un port réseau est ouvert ou non ?

  4. Comment répertorier tous les fichiers dans un partage réseau Windows SMB

  5. Comment obtenir les adresses MAC des appareils qui ne sont pas dans le réseau

Comment capturer et analyser des paquets avec la commande tcpdump sous Linux

Comment utiliser Wireshark pour capturer et analyser les paquets réseau

Comment trouver les périphériques connectés au réseau sous Linux

Comment vérifier si vous êtes en session d'écran ou pas sous Linux

Comment réparer les connexions de travail ne sont pas assez d'erreur sur Nginx

Comment retrouver toutes les interfaces qui ont été configurées sous Linux, y compris celles des conteneurs ?