Un programme pour intercepter et décrypter les paquets de données. Wireshark (intercepteur de paquets réseau). Usurpation de requêtes ARP

Les réseaux Wi-Fi publics sont également devenus très populaires de nos jours. On les trouve dans les restaurants, les gymnases, les centres commerciaux, les métros, les hôtels, les hôpitaux et cliniques privés, les appartements et les condominiums - ils peuvent être trouvés presque partout où beaucoup de gens se rassemblent.

Ces réseaux ont une particularité - ce sont souvent des réseaux Wi-Fi ouverts qui ne nécessitent pas de mot de passe pour se connecter. Existe-t-il des règles de sécurité supplémentaires pour travailler avec de tels réseaux ?

Oui, lorsque vous utilisez un réseau Wi-Fi ouvert, vous devez bien comprendre que :

  • toutes les données sont transmises par ondes radio, c'est-à-dire que contrairement à un fil auquel tout le monde n'a pas accès, les ondes radio peuvent être interceptées par toute personne se trouvant à portée
  • dans les réseaux ouverts, les données ne sont pas cryptées

Avec le premier point, je pense que tout est clair : si quelqu'un avec un ordinateur et une carte Wi-Fi est assez proche, alors il peut capturer et enregistrer tout le trafic transmis entre le point d'accès sans fil et tous ses clients.

Quant au deuxième point, il est nécessaire de préciser le cryptage des données transmises. Par exemple, si vous ouvrez un site qui utilise le protocole HTTPS (c'est-à-dire un protocole sécurisé), par exemple un site, les données transmises vers ce site et depuis ce site vers vous sont cryptées. Si vous ouvrez un site Web en utilisant le protocole HTTP, toutes les données transmises : quelles pages vous avez visitées, quels commentaires vous avez laissés, quels cookies votre navigateur Web a reçus - ces données sont transmises sous forme non cryptée. Ainsi, si vous êtes connecté à un point d'accès Wi-Fi nécessitant un mot de passe, le trafic transmis est à nouveau crypté. C'est-à-dire que même si vous ouvrez un site Web sur le protocole HTTPS, le trafic transmis est crypté deux fois (la première fois lors du transfert du navigateur Web vers le serveur Web et dans le sens inverse, la deuxième fois lors du transfert de votre appareil vers le Point d'accès, ainsi que sens inverse). Et si vous ouvrez un site Web sur le protocole HTTP, le trafic transmis n'est crypté qu'une seule fois (uniquement lors de la transmission de votre appareil vers le point d'accès et vice versa).

Mais les points d'accès ouverts ne chiffrent pas le trafic. Il s'ensuit que si vous utilisez un point d'accès ouvert et ouvrez un site Web qui fonctionne sur le protocole HTTP, vos données sont transmises en texte clair et n'importe qui près de chez vous peut les capturer et les enregistrer. Si vous ouvrez un site sur le protocole HTTPS, ces données sont cryptées, cependant, il est toujours visible quels sites vous avez ouverts (bien qu'il ne soit pas visible quelles pages et ce que vous avez entré, par exemple, quels commentaires vous avez laissés).

Donc : vous devez vous rappeler que les réseaux sans fil ouverts sont sujets à l'écoute clandestine.

Interception du trafic dans les réseaux Wi-Fi ouverts

Pour une attaque réussie, vous avez besoin d'un ordinateur Linux (par exemple, avec Kali Linux ou BlackArch), ainsi que d'une carte Wi-Fi de.

Commençons par regarder les noms des interfaces sans fil :

Comme vous pouvez le voir, j'ai plusieurs interfaces sans fil, je vais utiliser wlp0s20f0u2.

Nous transférons l'interface sans fil en mode moniteur :

Sudo ip link set INTERFACE down sudo iw INTERFACE set monitor control sudo ip link set INTERFACE up

Dans les commandes précédentes, au lieu de INTERFACE vous devez entrer le nom de l'interface sans fil dans votre système. Par exemple, pour wlp0s20f0u2, les commandes ressemblent à ceci :

Sudo ip link set wlp0s20f0u2 down sudo iw wlp0s20f0u2 set monitor control sudo ip link set wlp0s20f0u2 up

Ouvrez le fichier de données capturé dans Wireshark.

Pour mettre en évidence différentes données, nous avons besoin de filtres Wireshark. Ici, je vais montrer un exemple d'utilisation de certains filtres seulement, il est recommandé d'explorer la grande collection de filtres Wireshark utiles.

Pour évaluer la qualité de la capture, vous pouvez commencer par des filtres qui affichent les résultats de l'analyse du protocole TCP.

Par exemple:

Tcp.analysis.duplicate_ack_num == 1

Ce filtre génère des informations sur les trames avec l'indicateur ACK qui sont des doublons. Un grand nombre de telles trames peut indiquer des problèmes de communication entre le Client et le Point d'accès.

Filtre d'affichage des images pour lesquelles le segment précédent n'est pas capturé :

Tcp.analysis.ack_lost_segment

Ceci est normal au début de la saisie des données - puisque les informations ne sont pas interceptées dès le début. Mais si cette erreur se produit souvent à l'avenir, alors vous êtes trop loin du point d'accès ou des clients et vous ne capturez pas une partie des données qu'ils transfèrent.

Pour afficher les trames retransmises (ré-envoyées) :

Tcp.analyse.retransmission

Un grand nombre de telles trames peut indiquer que la connexion entre le client et le point d'accès est mauvaise et qu'ils doivent souvent envoyer les mêmes données à plusieurs reprises.

Utiliser un filtre

Vous pouvez voir le trafic ARP - avec son aide, il est pratique d'analyser combien d'appareils sont actuellement connectés au réseau local, quelles adresses IP ils ont et quelles adresses MAC. ...

Utiliser un filtre

vous pouvez voir toutes les requêtes DNS envoyées.

Grâce à ces requêtes, vous pouvez savoir quels sites les utilisateurs ont visités (même si ces sites utilisent HTTPS !), ainsi que vers quels services en ligne les requêtes ont été faites.

Par exemple, dans la capture d'écran, vous pouvez voir les adresses du cinéma en ligne Netflix, Facebook, divers services Google.

Pour filtrer le trafic HTTP, le filtre :

Vous pouvez trouver beaucoup d'informations intéressantes ici. Par exemple, vous pouvez voir les demandes aux services et les données transmises, y compris les clés API, les identifiants d'appareil, etc.

Vous pouvez voir les URL visitées avec tous les paramètres passés :

Les fichiers téléchargés et ouverts sur Internet sont visibles :

Vous pouvez enregistrer n'importe quel fichier transféré. Pour ce faire, sélectionnez le package qui le contient avec la souris (1), puis dans le volet du milieu, qui contient des informations détaillées, faites défiler tout en bas pour trouver le champ de données et faites un clic droit dessus pour faire apparaître le menu contextuel (2), dans le menu contextuel, sélectionnez Exporter les octets de paquets sélectionnés(3) - Exporter les octets du paquet sélectionné :

Entrez un nom pour le fichier, choisissez un emplacement et enregistrez-le.

Quelqu'un met à jour Windows :

Les cookies déposés auprès de l'utilisateur ou les cookies qui lui sont transmis sont également visibles :

Utiliser un filtre

Http.cookie

vous pouvez voir les requêtes HTTP dans lesquelles les cookies ont été transmis.

Et avec un filtre

Http.set_cookie

vous pouvez voir les demandes dans lesquelles le serveur place des cookies sur le navigateur de l'utilisateur.

Les voisins téléchargent d'étranges torrents :

Les données transférées par la méthode POST sont également visibles :

Pour rechercher des images téléchargées :

Http.content_type contient "image"

Pour rechercher certains types d'images :

Http.content_type contient "gif" http.content_type contient "jpeg" http.content_type contient "png"

Pour rechercher des fichiers d'un type spécifique :

Http.content_type contient "text" http.content_type contient "xml" http.content_type contient "html" http.content_type contient "json" http.content_type contient "javascript" http.content_type contient "x-www-form-urlencode" http. content_type contient "compressé" http.content_type contient "application"

Recherchez dans Wireshark les demandes d'obtention de fichiers d'un certain type. Par exemple, pour rechercher des archives ZIP transférées :

Http.request.uri contient "zip"

À la place de http.request.uri les filtres peuvent être utilisés pour une plus grande précision http.request.uri.path ou http.request.uri.query, par exemple, pour rechercher des demandes de téléchargement de fichiers JPG (liens vers des images) :

Http.request.uri.path contient "jpg"

Filtre qui affiche uniquement les données soumises par la méthode POST :

Http.request.method == "POST"

Filtre qui affiche uniquement les données envoyées par la méthode GET :

Http.request.method == "GET"

Rechercher des demandes vers un site spécifique (hébergeur) :

Http.host == " "

Rechercher des demandes vers un site spécifique par une partie du nom :

Http.host contient "here.partial.name"

Conclusion

Aujourd'hui, le nombre d'applications et de sites qui n'utilisent pas le cryptage diminue rapidement. Par conséquent, le danger d'une telle interception diminue chaque année. Néanmoins, il est là.

Même les sites qui utilisent HTTPS peuvent donner spontanément des données. Par exemple:

On constate que les données sur booking.com sont transmises par l'utilisateur sous forme non cryptée, ce lien peut donc être intercepté.

L'application iPhone télécharge en permanence des fichiers (audio ?) sans utiliser de connexion sécurisée :

Le populaire (dans certaines régions) qq.com n'utilise pas de cryptage ou utilise son propre algorithme :

La protection garantie contre une telle interception est l'utilisation d'un service VPN de confiance. Un service VPN fiable peut être considéré comme celui que vous configurez vous-même ou le VPN de votre réseau d'entreprise.

Intercepteur Est un outil réseau multifonctionnel qui vous permet d'obtenir des données du trafic (mots de passe, messages dans les messageries, correspondance, etc.) et de mettre en œuvre diverses attaques MiTM.


Interface d'interception
Fonctionnalité principale

  • Interception de messages de messagerie.
  • Interception de cookies et mots de passe.
  • Interception d'activité (pages, fichiers, données).
  • Possibilité de remplacer les téléchargements de fichiers en ajoutant des fichiers malveillants. Peut être utilisé en conjonction avec d'autres utilitaires.
  • Usurpation de certificats Https pour Http.
Modes de fonctionnement
Mode messagers- vous permet de vérifier la correspondance qui a été envoyée sous forme non cryptée. Il a été utilisé pour intercepter les messages des messagers ICQ, AIM, JABBER.

Mode de résurrection- récupération des données utiles du trafic, à partir de protocoles qui transmettent le trafic en clair. Lorsqu'une victime visualise des fichiers, des pages, des données, ils peuvent être interceptés partiellement ou totalement. De plus, vous pouvez spécifier la taille des fichiers afin de ne pas télécharger le programme en petites parties. Ces informations peuvent être utilisées pour l'analyse.

Mode mot de passe- mode pour travailler avec les cookies. Ainsi, il est possible d'accéder aux fichiers visités de la victime.

Mode de balayage- le mode principal de test. Cliquez avec le bouton droit de la souris sur Smart Scan pour lancer la numérisation. Après la numérisation, la fenêtre affichera tous les participants du réseau, leur système d'exploitation et d'autres paramètres.

De plus, les ports peuvent être analysés dans ce mode. Vous devez utiliser la fonction Scan Ports. Bien sûr, il existe beaucoup plus d'utilitaires fonctionnels pour cela, mais la présence de cette fonction est un point important.

Si nous sommes intéressés par une attaque ciblée sur le réseau, alors après l'analyse, il est nécessaire d'ajouter l'IP cible à Nat à l'aide de la commande (Ajouter à Nat). Dans une autre fenêtre, vous pouvez effectuer d'autres attaques.

Mode Nat. Le mode principal qui permet une série d'attaques ARP. C'est la fenêtre principale qui permet les attaques ciblées.

Mode DHCP. C'est un mode qui vous permet d'augmenter votre serveur DHCP pour implémenter des attaques DHCP au milieu.

Certains types d'attaques pouvant être menées
Remplacement de site

Pour remplacer le site de la victime, vous devez vous rendre sur Target, après quoi vous devez spécifier le site et son remplacement. Ainsi, vous pouvez remplacer de nombreux sites. Tout dépend de la qualité du faux.

Remplacement de site

Exemple pour VK.com

Choisir une attaque MiTM

Modification de la règle d'injection
En conséquence, la victime ouvre un faux site lorsqu'on lui demande vk.com. Et en mode mot de passe, le login et le mot de passe de la victime doivent être :


Pour mener une attaque ciblée, vous devez sélectionner une victime dans la liste et l'ajouter à la cible. Cela peut être fait avec le bouton droit de la souris.


Ajouts de l'attaque MiTm
Vous pouvez maintenant restaurer diverses données du trafic en mode Ressurection.


Fichiers et informations des victimes via l'attaque MiTm
Usurpation de trafic



Spécification des paramètres
Après cela, la victime changera la demande « confiance » en « perdant ».

De plus, vous pouvez supprimer les cookies afin que la victime se déconnecte de tous les comptes et se réautorise. Cela interceptera les identifiants et les mots de passe.


Détruire les cookies

Comment voir un renifleur potentiel sur le réseau en utilisant Intercepter ?

Avec l'option Promisc Detection, vous pouvez détecter l'appareil qui scanne sur le réseau local. Après la numérisation, la colonne d'état affichera « Sniffer ». C'est la première méthode qui permet de définir un scan sur le réseau local.


Détection de renifleur
Dispositif SDR HackRF


HackRF
SDR est une sorte de récepteur radio qui vous permet de travailler avec différents paramètres de fréquence radio. Ainsi, il est possible d'intercepter le signal du Wi-Fi, GSM, LTE, etc.

Le HackRF est un appareil SDR complet à 300 $. L'auteur du projet, Michael Ossman, développe des dispositifs performants dans ce sens. Le renifleur Bluetooth Ubertooth a déjà été développé et mis en œuvre avec succès. HackRF est un projet réussi qui a levé plus de 600K sur Kickstarter. Il y a déjà eu 500 appareils de ce type pour les tests bêta.

HackRF fonctionne dans la plage de fréquences de 30 MHz à 6 GHz. Le taux d'échantillonnage est de 20 MHz, ce qui vous permet d'intercepter les signaux des réseaux Wi-FI et LTE.

Comment se protéger localement ?

Tout d'abord, utilisons le logiciel SoftPerfect WiFi Guard. Il existe une version portable qui ne prend pas plus de 4 Mo. Il vous permet de scanner votre réseau et d'afficher les appareils qui y sont affichés. Il a des paramètres qui vous permettent de sélectionner une carte réseau et le nombre maximum d'appareils analysés. De plus, vous pouvez définir l'intervalle de balayage.


Possibilité d'ajouter des commentaires pour les utilisateurs


Fenêtre de notification pour les appareils inconnus après chaque intervalle d'analyse spécifié

Conclusion
Ainsi, nous avons examiné en pratique comment utiliser un logiciel pour intercepter des données à l'intérieur du réseau. Nous avons examiné plusieurs attaques spécifiques qui nous permettent d'obtenir des identifiants de connexion ainsi que d'autres informations. De plus, nous avons envisagé SoftPerfect WiFi Guard, qui vous permet de protéger le réseau local contre l'écoute du trafic à un niveau primitif.

Original : reniflage de réseau
Auteur : Paul Cobbaut
Date de publication : 12 mars 2015
Traduction: A. Panin
Date de transfert : 1er avril 2015

Chapitre 23. Capture du trafic réseau

L'administrateur réseau doit pouvoir utiliser un renifleur tel que wireshark ou tcpdump pour diagnostiquer les problèmes de réseau.

L'étudiant devra aussi souvent recourir à l'utilisation d'un renifleur pour comprendre les principes de fonctionnement des réseaux. Ce chapitre décrit les techniques appropriées pour capturer le trafic réseau.

23.1. Application Wireshark

23.1.1. Installation de wireshark

Cet exemple fournit une commande pour installer wireshark sur des distributions qui utilisent des packages logiciels avec l'extension .deb (y compris Debian, Mint, Xubuntu et d'autres distributions).

[email protégé]: ~ # Lecture des listes de paquets Terminé Construction d'un arbre de dépendance Lecture des informations d'état Terminé ... (la sortie est raccourcie)

Sur les distributions qui utilisent des packages logiciels .rpm tels que CentOS, RHEL et Fedora, yum peut être utilisé pour installer wireshark.

# yum install wireshark Plugins chargés : plus rapide miroir Chargement des vitesses de miroir à partir du fichier hôte mis en cache ... (la sortie est tronquée)

23.1.2. Sélection d'une interface réseau

Lorsque vous démarrez wireshark pour la première fois, vous devrez sélectionner une interface réseau. Vous verrez une boîte de dialogue qui ressemble à l'illustration ci-dessous.

Il est probable qu'il n'y aura pas d'interfaces réseau disponibles, car dans certaines distributions, le trafic réseau peut être intercepté exclusivement par l'utilisateur root. Dans ce cas, vous devrez démarrer wireshark en tant que root à l'aide de la commande sudo wireshark.

Alternativement, vous pouvez suivre les directives générales et utiliser l'utilitaire tcpdump ou un autre outil pour intercepter le trafic et écrire des données dans un fichier. Toutes les données interceptées peuvent être analysées ultérieurement à l'aide de wireshark.

23.1.3. Minimiser le trafic

Lors du processus d'interception du trafic réseau, des milliers de paquets peuvent être générés en très peu de temps. Évidemment, cette quantité de données rendra difficile l'analyse du trafic. Essayez de sortir de cette situation en isolant votre renifleur au sein du réseau. L'option préférée est d'intercepter le trafic passant par l'interface réseau d'un réseau virtuel isolé sous votre contrôle total.

Si vous apprenez des outils pour capturer le trafic réseau à la maison, fermer toutes les applications réseau exécutées sur votre ordinateur et déconnecter votre ordinateur des autres ordinateurs et des appareils tels que les smartphones et les tablettes peut aider à minimiser le trafic pour minimiser le trafic.

Pourtant, l'outil le plus important pour minimiser le trafic sont les filtres, qui seront discutés dans la section suivante.

23.1.4. Interception du trafic généré par l'utilitaire ping

J'ai exécuté un renifleur et capturé tous les paquets transmis sur le réseau à la suite de l'exécution de trois commandes ping (il n'a pas de sens d'exécuter ces commandes en tant que root):

[email protégé]:~# ping -c2 ns1.paul.local PING ns1.paul.local (10.104.33.30) 56 (84) octets de données. 64 octets depuis 10.104.33.30 : icmp_req = 1 ttl = 64 time = 0.010 ms 64 octets depuis 10.104.33.30 : icmp_req = 2 ttl = 64 time = 0.023 ms --- ns1.paul.local ping statistics --- 2 paquets transmis , 2 reçus, 0% de perte de paquets, temps 1001ms rtt min / moy / max / mdev = 0,010 / 0,016 / 0,023 / 0,007 ms [email protégé]:~# ping -c3 linux-training.be PING linux-training.be (188.93.155.87) 56 (84) octets de données. 64 octets de antares.ginsys.net (188.93.155.87) : icmp_req = 1 ttl = 56 temps = 15,6 ms 64 octets de antares.ginsys.net (188.93.155.87) : icmp_req = 2 ttl = 56 temps = 17,8 ms 64 octets de antares.ginsys.net (188.93.155.87): icmp_req = 3 ttl = 56 temps = 14,7 ms --- statistiques de ping linux-training.be --- 3 paquets transmis, 3 reçus, 0% de perte de paquets, temps 2003ms rtt min / moy / max / mdev = 14,756 / 16,110 / 17,881 / 1,309 ms [email protégé]:~# ping -c1 centos7.paul.local PING centos7.paul.local (10.104.33.31) 56 (84) octets de données. 64 octets de 10.104.33.31 : icmp_req = 1 ttl = 64 temps = 0,590 ms --- statistiques de ping centos7.paul.local --- 1 paquets transmis, 1 reçu, 0% de perte de paquets, temps 0ms rtt min/moy/max /mdev = 0,590 / 0,590 / 0,590 / 0,000 ms

Au total, plus de 200 paquets ont été capturés sur le réseau. Tout deviendra beaucoup plus évident si vous entrez la ligne icmp dans le champ de filtre et cliquez sur le bouton "Appliquer".

23.1.5. Interception du trafic généré par l'utilitaire ping et le client DNS

En travaillant avec la même session de capture de données, un excellent filtre peut être appliqué. Nous voulons surveiller le trafic lié à la fois au protocole DNS et au protocole icmp, nous devrons donc entrer les noms des deux protocoles mentionnés dans le champ de filtrage.

Pour capturer les données relatives aux deux protocoles en question, la chaîne "dns ou icmp" doit être saisie dans le champ de filtrage. Si vous entrez la ligne "dns et icmp", aucune information sur les packages ne sera affichée, car il n'y a pas de packages liés aux deux protocoles mentionnés.

En regardant l'illustration ci-dessus, vous pouvez voir que les paquets 25 et 26 ont des adresses IP source et destination de 10.104.33.30. En effet, le client DNS s'exécute sur le même ordinateur que le serveur DNS.

Une situation similaire est observée dans le cas des paquets 31 et 32, car en utilisant l'utilitaire ping, les paquets sont envoyés au système de travail sur lequel cet utilitaire s'exécute.

23.1.6. Adresse IP spécifique

Dans ce cas, le filtrage des paquets liés au protocole DNS et contenant une adresse IP spécifique. La chaîne "ip.addr == 10.104.33.30 et dns" est utilisée comme filtre. La directive and indique à l'application d'afficher des informations sur chaque package qui remplit deux conditions.

Le package 93 contient une requête DNS pour récupérer un enregistrement de type A pour le domaine linux-training.be. Le paquet 98 contient la réponse du serveur DNS. Que pensez-vous qu'il s'est passé après l'envoi du paquet 93 et ​​avant la réception du paquet 98 ? Essayez de répondre à cette question avant de lire la section suivante (lorsque vous travaillez avec différents systèmes, il est toujours utile d'essayer de prédire ce qui va se passer et de vérifier l'exactitude de vos prédictions).

23.1.7. Filtrage basé sur les trames

Le terme correct pour un paquet intercepté est frame (en raison du fait que nous capturons les paquets à la couche 2 du modèle de réseau OSI). Ainsi, pour afficher des informations sur les paquets avec des numéros spécifiques, utilisez la directive frame.number dans le champ de filtrage.

23.1.8. Examiner le contenu des paquets

Le volet central de la fenêtre de renifleur peut être agrandi. Lorsque vous sélectionnez une ligne dans ce panneau, vous pouvez voir les valeurs d'octets correspondantes dans le champ du panneau inférieur.

L'illustration ci-dessous montre le volet central de la fenêtre du renifleur avec l'adresse sélectionnée de mon ordinateur portable.

Notez que la technique ci-dessus fonctionne très bien pour capturer le trafic sur une seule interface réseau. Si vous interceptez du trafic, par exemple, à l'aide de la commande tcpdump -i any, vous rencontrerez la méthode de capture de paquets "Linux cuit capture".

23.1.9. Plus d'exemples de filtres

Vous pouvez combiner les deux descriptions de protocole en utilisant la directive logique ou ("OR") entre elles. L'illustration ci-dessous montre comment capturer uniquement les paquets ARP et BOOTP (ou DHCP).

Et l'illustration suivante montre comment capturer des paquets DNS contenant une adresse IP spécifique.

23.2. Utilitaire Tcpdump

Lorsque vous travaillez avec l'interface de ligne de commande du système, la capture de paquets peut être effectuée à l'aide de l'utilitaire tcpdump. Vous trouverez ci-dessous quelques exemples de son utilisation.

L'utilisation de la commande tcpdump host $ ip affichera des informations sur tout le trafic associé à un hôte spécifique (dans ce cas, avec l'adresse IP 192.168.1.38).

[email protégé]: ~ # tcpdump host 192.168.1.38 tcpdump : sortie verbeuse supprimée, utilisez -v ou -vv pour le décodage complet du protocole à l'écoute sur eth0, type de lien EN10MB (Ethernet), taille de capture 96 octets

Le trafic exclusivement lié au protocole ssh (protocole TCP, port 22) peut être intercepté à l'aide de la commande tcpdump tcp port $ port. Les lignes de sortie ont été tronquées à 76 caractères pour une meilleure lisibilité.

[email protégé]: ~ # tcpdump tcp port 22 tcpdump : sortie verbeuse supprimée, utilisez -v ou -vv pour le décodage complet du protocole à l'écoute sur eth1, type de lien EN10MB (Ethernet), taille de capture 96 octets 14 : 22 : 20.716313 IP deb503.local.37973 > rhel53.local.ssh : P 666050963 : 66605 14 : 22 : 20.719936 IP rhel53.local.ssh> deb503.local.37973 : P 1:49 (48) ack 48 14 : 22 : 20.720922 IP rhel53.local.ssh> deb503.local.37973 : P 49 : 113 (64) ack 14 : 22 : 20.721321 IP rhel53.local.ssh> deb503.local.37973 : P 113 : 161 (48) ack 14 : 22 : 20.721820 IP deb503.local. 37973> rhel53.local.ssh :. ack 161 win 200 14:22:20.722492 IP rhel53.local.ssh> deb503.local.37973:P 161:225(64)ack 14:22:20.760602 IP deb503.local.37973> rhel53.local.ssh:. ack 225 win 200 14:22:23.108106 IP deb503.local.54424> ubuntu910.local.ssh:P 467252637:46 14:22:23.116804 IP ubuntu910.local.ssh> deb503.local.54424:P 1:81 (80 ) ack 14 : 22 : 23.116844 IP deb503.local.54424> ubuntu910.local.ssh :. ack 81 win 2 ^ C 10 paquets capturés 10 paquets reçus par le filtre 0 paquets abandonnés par le noyau

La même opération, mais avec l'écriture des données capturées dans un fichier, peut être effectuée à l'aide de la commande tcpdump -w $ filename.

[email protégé]: ~ # tcpdump -w sshdump.tcpdump tcp port 22 tcpdump : écoute sur eth0, type de lien EN10MB (Ethernet), taille de capture 96 octets ^ C 17 paquets capturés 17 paquets reçus par le filtre 0 paquets abandonnés par le noyau

La commande tcpdump -r $ filename peut afficher le contenu du fichier créé dans l'exemple précédent.

[email protégé]: ~ # tcpdump -r sshdump.tcpdump

De nombreux autres exemples d'utilisation de cet utilitaire peuvent être trouvés dans la page de manuel tcpdump.

23.3. Activité pratique : intercepter le trafic réseau

23.4. Procédure de pratique correcte : intercepter le trafic réseau

1. Installez wireshark sur votre système (ne s'exécutant pas dans une machine virtuelle).

Sur les distributions Debain / Ubuntu : aptitude install wireshark

Sur les distributions Red Hat / Mandriva / Fedora : yum install wireshark

2. Utilisez l'utilitaire ping pour générer du trafic entre le vôtre et un autre ordinateur.

Ping $ ip_address

3. Commencez à capturer le trafic réseau.

(sudo) wireshark

Sélectionnez votre interface réseau (probablement eth0)

4. Utilisez le filtre pour afficher des informations uniquement sur les paquets qui contiennent des réponses aux requêtes de l'utilitaire ping.

Entrez "icmp" (sans les guillemets) dans le champ de filtre et cliquez sur le bouton "Appliquer".

5. Passez maintenant le nom de domaine (tel que www.linux-training.be) au ping et essayez d'intercepter la requête DNS et les paquets de réponse. Quel serveur DNS a été utilisé ? Le protocole TCP ou UDP a-t-il été utilisé pour transmettre la demande et la réponse ?

Démarrez d'abord le renifleur.

Entrez "dns" dans le champ de filtre et cliquez sur le bouton "Appliquer".

[email protégé]: ~ # ping www.linux-training.be PING www.linux-training.be (88.151.243.8) 56 (84) octets de données. 64 octets de fosfor.openminds.be (88.151.243.8) : icmp_seq = 1 ttl = 58 temps = 14,9 ms 64 octets de fosfor.openminds.be (88.151.243.8) : icmp_seq = 2 ttl = 58 temps = 16,0 ms ^ C --- Statistiques de ping de www.linux-training.be --- 2 paquets transmis, 2 reçus, 0% de perte de paquets, temps 1002ms rtt min / moy / max / mdev = 14,984 / 15,539 / 16,095 / 0,569 ms

La fenêtre wireshark devrait être similaire.

Sur la base des informations de la fenêtre de l'application wireshark, nous pouvons conclure que la requête DNS a été transmise à l'aide d'un paquet UDP, après quoi il est facile de répondre aux questions posées.

6. Trouvez un site Web fermé qui a un formulaire de demande de mot de passe. Essayez de vous connecter en utilisant le nom d'utilisateur "paul" et le mot de passe "hunter2" pendant que le renifleur est en cours d'exécution. Essayez maintenant de trouver le nom d'utilisateur et le mot de passe saisis dans les données capturées avec le renifleur.

De nombreux utilisateurs ne se rendent même pas compte qu'en renseignant le login et le mot de passe lors de l'enregistrement ou de l'autorisation sur une ressource Internet fermée et en appuyant sur ENTER, ces données peuvent facilement être interceptées. Très souvent, ils sont transmis sur le réseau sous une forme non protégée. Par conséquent, si le site sur lequel vous essayez de vous connecter utilise le protocole HTTP, il est alors très facile de capturer ce trafic, de l'analyser à l'aide de Wireshark, puis d'utiliser des filtres et des programmes spéciaux pour trouver et décrypter le mot de passe.

Le meilleur endroit pour intercepter les mots de passe est au cœur du réseau, où le trafic de tous les utilisateurs est dirigé vers des ressources fermées (par exemple, la messagerie) ou devant le routeur pour accéder à Internet, lors de l'enregistrement auprès de ressources externes. Nous installons un miroir et nous sommes prêts à nous sentir comme un hacker.

Étape 1. Installez et exécutez Wireshark pour capturer le trafic

Parfois, il suffit de sélectionner uniquement l'interface via laquelle nous prévoyons de capturer le trafic et de cliquer sur le bouton Démarrer. Dans notre cas, nous capturons sur le réseau sans fil.

La capture du trafic a commencé.

Étape 2. Filtrage du trafic POST capturé

Nous ouvrons un navigateur et essayons de nous connecter à n'importe quelle ressource à l'aide d'un nom d'utilisateur et d'un mot de passe. À la fin du processus d'autorisation et de l'ouverture du site, nous arrêtons de capturer du trafic dans Wireshark. Ensuite, ouvrez l'analyseur de protocole et voyez un grand nombre de paquets. C'est à ce stade que la plupart des professionnels de l'informatique abandonnent car ils ne savent pas quoi faire ensuite. Mais nous savons et nous sommes intéressés par des packages spécifiques qui contiennent des données POST qui sont générées sur notre machine locale lors du remplissage d'un formulaire à l'écran et sont envoyées à un serveur distant lorsque vous cliquez sur le bouton "Connexion" ou "Autorisation" dans le navigateur.

Introduisez un filtre spécial dans la fenêtre pour afficher les paquets capturés : http.demander.méthode == "PUBLIER "

Et au lieu d'un millier de packages, nous n'en voyons qu'un avec les données que nous recherchons.

Étape 3. Trouvez le nom d'utilisateur et le mot de passe

Faites un clic droit rapide et sélectionnez l'élément dans le menu Suivez TCP Steam


Après cela, le texte apparaîtra dans une nouvelle fenêtre, qui dans le code restaure le contenu de la page. Retrouvons les champs "mot de passe" et "utilisateur", qui correspondent au mot de passe et au nom d'utilisateur. Dans certains cas, les deux champs seront facilement lisibles et même pas cryptés, mais si nous essayons de capturer du trafic lors de l'accès à des ressources très connues telles que Mail.ru, Facebook, Vkontakte, etc., alors le mot de passe sera codé :

HTTP / 1.1 302 trouvé

Serveur : Apache / 2.2.15 (CentOS)

X-Powered-By : PHP / 5.3.3

P3P : CP = "NOI ADM DEV PSAI COM NAV OUR OTRo STP IND DEM"

Set-Cookie : mot de passe = ; expire = jeu. 07-nov.-2024 23:52:21 GMT ; chemin = /

Emplacement : connecté.php

Contenu-Longueur : 0

Connexion : fermer

Type de contenu : texte/html ; jeu de caractères = UTF-8

Ainsi, dans notre cas :

Nom d'utilisateur : networkguru

Mot de passe:

Étape 4. Déterminer le type d'encodage pour déchiffrer le mot de passe

On se rend par exemple sur le site http://www.onlinehashcrack.com/hash-identification.php#res et on rentre notre mot de passe dans la fenêtre d'identification. On m'a donné une liste de protocoles de codage par ordre de priorité :

Étape 5. Décryptage du mot de passe utilisateur

A ce stade, nous pouvons utiliser l'utilitaire hashcat :

~ # hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

A la sortie, nous avons reçu un mot de passe déchiffré : simplepassword

Ainsi, en utilisant Wireshark, nous pouvons non seulement résoudre les problèmes de fonctionnement des applications et des services, mais également nous essayer en tant que pirate informatique, en interceptant les mots de passe que les utilisateurs saisissent dans les formulaires Web. Vous pouvez également connaître les mots de passe des boîtes aux lettres des utilisateurs à l'aide de simples filtres à afficher :

  • Le protocole POP et le filtre ressemblent à ceci : pop.request.command == "USER" || pop.request.command == "PASS"
  • IMAP et le filtre seront : imap.request contient "login"
  • SMTP et vous devrez entrer le filtre suivant : smtp.req.command == "AUTH"

et des utilitaires plus sérieux pour déchiffrer le protocole d'encodage.

Étape 6. Que faire si le trafic est chiffré et utilise HTTPS ?

Il existe plusieurs options pour répondre à cette question.

Option 1. Connectez-vous pour déconnecter la connexion entre l'utilisateur et le serveur et capturer le trafic au moment où la connexion est établie (SSL Handshake). Une fois la connexion établie, vous pouvez intercepter la clé de session.

Option 2. Vous pouvez déchiffrer le trafic HTTPS à l'aide du fichier journal de clé de session enregistré par Firefox ou Chrome. Pour ce faire, le navigateur doit être configuré pour écrire ces clés de chiffrement dans un fichier journal (exemple basé sur FireFox) et vous devriez obtenir ce fichier journal. Essentiellement, vous devez voler le fichier de clé de session sur le disque dur d'un autre utilisateur (ce qui est illégal). Eh bien, récupérez le trafic et utilisez la clé résultante pour le déchiffrer.

Clarification. Nous parlons du navigateur Web d'une personne qui essaie de voler un mot de passe. Si nous voulons décrypter notre propre trafic HTTPS et que nous voulons nous entraîner, alors cette stratégie fonctionnera. Si vous essayez de déchiffrer le trafic HTTPS d'autres utilisateurs sans accéder à leurs ordinateurs, cela ne fonctionnera pas - c'est à la fois le chiffrement et la confidentialité.

Après avoir reçu les clés pour l'option 1 ou 2, vous devez les enregistrer dans WireShark :

  1. Allez dans le menu Edition - Préférences - Protocoles - SSL.
  2. Définissez l'indicateur "Réassembler les enregistrements SSL couvrant plusieurs segments TCP".
  3. "Liste des clés RSA" et cliquez sur Modifier.
  4. Nous entrons des données dans tous les champs et écrivons le chemin dans le fichier avec la clé

WireShark peut déchiffrer les paquets chiffrés à l'aide de l'algorithme RSA. Si les algorithmes DHE / ECDHE, FS, ECC sont utilisés, le renifleur n'est pas notre assistant.

Option 3. Accédez au serveur Web utilisé par l'utilisateur et obtenez la clé. Mais c'est encore plus difficile. Dans les réseaux d'entreprise, à des fins de débogage d'applications ou de filtrage de contenu, cette option est mise en œuvre sur une base légale, mais pas dans le but d'intercepter les mots de passe des utilisateurs.

PRIME

VIDÉO : Wireshark Packet Sniffing Noms d'utilisateur, mots de passe et pages Web

L'idée d'écrire ce matériel est née, comme dans la plupart des cas et s'est produite, grâce aux questions de lecteurs et d'autres connaissances concernant les technologies d'interception et d'analyse du trafic réseau. Ces questions sont classiquement divisées en 3 catégories : est-il possible, en principe, d'intercepter et de décoder les données circulant sur le réseau, comment et avec quel logiciel cela peut-il être fait. Le troisième groupe de questions reflète une certaine confusion dans la terminologie, en particulier, les options suivantes sont possibles : une personne connaît l'essence de la technologie, mais ne sait pas comment elle s'appelle. Par conséquent, lorsqu'il s'agit, disons, d'un renifleur, celui-ci, baissant les yeux, répond qu'il ne sait pas ce que c'est. N'est-il pas temps de mettre des points sur le i dans cette question extrêmement importante à la fois pour un débutant et un réseauteur avancé ? Commençons ...

théorie

Commençons par un peu de terminologie.

Le mot renifleur (littéralement de l'anglais il peut être traduit par « renifleur » ou « renifleur ») dans le sens le plus général est une sorte de dispositif d'écoute, intégré dans un réseau pour intercepter les données qui y sont transmises. Dans un sens plus étroit, un renifleur est un logiciel qui interagit avec (on dit souvent que "s'assied" vient d'une marque déposée de Network Associates, faisant référence au produit "Sniffer (r) Network Analyzer", mais plus tard le mot a subi le même sort que PC, xerox, kleenex - sniffer devient un terme familier, désignant toute la classe de produits similaires.

Dans certaines littératures et documentations, ainsi que dans des dictionnaires électroniques tels que Lingvo, le terme renifleur (renifleur de réseau) est identifié avec des concepts tels que « analyseur de trafic réseau », « analyseur de paquets », « analyseur de protocole », « analyseur de réseau ». Cependant, permettez-moi d'être un peu en désaccord avec cette approche.

Pourtant, il serait plus logique d'affirmer que le sniffing est un ensemble de mesures pour intercepter le trafic. Dans le cadre d'un produit spécifique, les choses suivantes peuvent être mises en œuvre : la capture de paquets. À ce stade, nous obtenons une sorte de vidage de données brutes (lisibles en machine), généralement divisés en morceaux le long des limites des trames (paquets). Et ce que nous allons faire avec lui - nos problèmes. Mais généralement, depuis que nous avons démarré le renifleur pour une raison quelconque, nous sommes intéressés à obtenir un résultat dans un format lisible par l'homme, pour lequel le décodage de paquets ou l'analyse de protocoles est utilisé ;

En fait, c'est le processus de " ratisser " notre dépotoir. Par exemple, nous avions une telle matière première.

Comme vous l'avez peut-être remarqué, ce cas se compose de trois colonnes : l'offset de chaque ligne, les données au format hexadécimal et leur équivalent ASCII. Ce paquet contient un en-tête Ethernet de 14 octets, un en-tête IP de 20 octets, un en-tête TCP de 20 octets, un en-tête HTTP se terminant par deux CRLF (0D 0A 0D 0A), puis les données réelles de la couche application, dans notre cas , le trafic Web.

Parfois cette représentation suffit pour obtenir les informations nécessaires, mais il est encore plus commode que le paquet soit décodé et analysé à tous les niveaux de la pile protocolaire. N'est-ce pas vraiment plus agréable d'avoir une telle image ?

ETHER : Adresse de destination : 0000BA5EBA11 ETHER : Adresse source : 00A0C9B05EBD ETHER : Longueur de trame : 1514 (0x05EA) ETHER : Type Ethernet : 0x0800 (IP) IP : Version = 4 (0x4) IP : Longueur d'en-tête = 20 (0x14) IP : Service Type = 0 (0x0) IP : Priorité = Routine IP : ... 0 .... = Normal Delay IP : .... 0 ... = Normal Débit IP : ..... 0 .. = Normal Fiabilité IP : Longueur totale = 1500 (0x5DC) IP : Identification = 7652 (0x1DE4) IP : Résumé des drapeaux = 2 (0x2) IP : ....... 0 = Dernier fragment du datagramme IP : ...... 1 ... = Impossible de fragmenter le datagramme IP : Fragment Offset = 0 (0x0) octets IP : Durée de vie = 127 (0x7F) IP : Protocole = TCP - IP de contrôle de transmission : Somme de contrôle = 0xC26D IP : Adresse source = 10.0.0.2 IP : Adresse de destination = 10.0.1.201 TCP : Port source = Protocole de transfert hypertexte TCP : Port de destination = 0x0775 TCP : Numéro de séquence = 97517760 (0x5D000C0) TCP : Numéro d'accusé de réception = 78544373 (0x4AE7DF5) TCP : Décalage des données = 20 (0x14) TCP : Réservé = 0 ( 0x0000) TCP : Flags = 0x10 : .A .... TCP : .. 0 ..... = Pas de données urgentes TCP : ... 1 .... = Champ d'acquittement significatif TCP : .... 0. .. = Pas de fonction Push TCP : ..... 0 .. = Pas de Reset TCP : ...... 0. = Pas de synchronisation TCP : ....... 0 = Pas de fin TCP : Fenêtre = 28793 (0x7079) TCP : Somme de contrôle = 0x8F27 TCP : Pointeur urgent = 0 (0x0) HTTP : Réponse (au client utilisant le port 1909) HTTP : Version du protocole = HTTP / 1.1 HTTP : Code d'état = OK HTTP : Raison = OK ....

En plus de ce qui précède, d'autres "fonctionnalités" peuvent être implémentées, telles que la visualisation des paquets passants en temps réel, le filtrage selon un scénario donné, divers types de statistiques de trafic - le nombre d'erreurs, l'intensité, etc.

Types de renifleurs et de reniflement

Tout ce qui sera décrit dans ce paragraphe a naturellement une certaine nuance de convention, puisque personne n'a encore complètement décrit la "théorie officielle du sniffing". Il va falloir arriver à un classement "à la volée" ;)

Ainsi, selon la « localisation » (si ce terme est applicable ici), le sniffer peut fonctionner :

Sur le routeur (passerelle)

Dans cette situation, vous pouvez intercepter le trafic passant par les interfaces de cette passerelle. Par exemple, de votre réseau local vers un autre réseau et dans le sens inverse. En conséquence, si nous installons un renifleur sur le routeur d'un fournisseur d'accès Internet, nous pouvons surveiller le trafic de ses utilisateurs, etc.

Au nœud d'extrémité du réseau

En ce qui concerne Ethernet, nous aurons deux options principales pour les écoutes téléphoniques. L'Ethernet classique non commuté suppose que chaque interface réseau, en principe, "entend" le trafic de son segment. Cependant, en fonctionnement normal de la carte réseau, après lecture des 48 premiers bits de l'en-tête de trame, la station compare son adresse MAC avec l'adresse de destination spécifiée dans la trame. Si l'adresse est celle de quelqu'un d'autre, la station "ferme timidement les oreilles", c'est-à-dire qu'elle arrête de lire la trame de quelqu'un d'autre. Ainsi, en mode normal, vous ne pouvez intercepter et analyser que votre propre trafic. Pour intercepter les paquets de toutes les stations d'un segment, vous devez mettre votre carte réseau dans un mode appelé mode promiscuité afin qu'elle continue « sans vergogne » à lire les paquets qui ne lui sont pas destinés. Presque toutes les implémentations de renifleur permettent à la carte de passer en mode promiscuité.

Remarque : l'utilisation de l'Ethernet commuté crée une situation où même le passage de la carte en mode promiscuité rend presque impossible l'écoute du trafic non destiné à votre station. Cependant, il existe une technologie pour organiser une telle écoute clandestine à travers ce que l'on appelle l'usurpation d'identité ARP. L'essentiel est le suivant : le commutateur crée un soi-disant "domaine de diffusion", et l'hôte avec le renifleur installé peut prétendre être, par exemple, un routeur frontière en forgeant des messages ARP (envoyant constamment des messages ARP, où le routeur l'adresse réseau correspond à l'adresse MAC de la station d'écoute). Ainsi, le trafic des voisins tournera de force dans le sens du "shpien".

Pour le reste, les renifleurs peuvent différer les uns des autres principalement par leurs fonctionnalités, telles que :

Interfaces physiques et protocoles de couche de liaison pris en charge ;

Qualité de décodage et nombre de protocoles « reconnaissables » ;

Interface utilisateur et commodité d'affichage ;

Fonctionnalités supplémentaires : statistiques, visualisation en temps réel, génération ou modification de packages et plus encore...

Lors du choix d'un sniffer (comme d'ailleurs tout autre logiciel), il est logique de se laisser guider par les considérations suivantes : à partir de ce qui existe pour votre système d'exploitation, nous choisissons soit ce qui correspond exactement à vos tâches (cela est logique si vous prévoyez soit un événement ponctuel, soit l'exécution constante de la même opération) ou la solution la plus sophistiquée, au cas où vous estimeriez que le sniffer vous sera utile, mais ne savez pas encore dans quelle situation :) Et les situations sont différentes...

Pourquoi avons-nous besoin d'un renifleur ?

Traditionnellement, l'idée de sniffer a vécu sous deux formes : l'usage légal et l'usage illégal. Fait révélateur, le mot "renifleur" est plus souvent utilisé dans la sphère illégale, et "analyseur de réseau" - dans la sphère légale. Commençons par l'usage légal ;)

Dépannage (détection de problèmes et de goulots d'étranglement dans le réseau). En mode étendu, lorsque le sniffer opère sur un segment non commuté ou sur une passerelle, on peut avoir une vision quasi complète des événements se produisant sur notre réseau : intensité du trafic dans le temps, par postes de travail, par protocoles, nombre d'erreurs de différents types . De plus, dans les deux modes, nous pouvons « ratisser » des problèmes plus spécifiques, lorsque, disons, une station particulière ne peut pas organiser une sorte d'interaction sur le réseau, et ce malgré le fait que le réseau semble tout à fait exploitable de l'extérieur. Le renifleur est particulièrement utile dans les cas où le logiciel réseau est mal documenté ou utilise ses propres technologies propriétaires (non documentées), souvent suspectes (protocoles).

Par exemple : ICQ, Europe en ligne. Les technologies/logiciels suspects doivent être compris comme des situations dans lesquelles vous suspectez la présence d'un signet ou d'une autre fonctionnalité non documentée dans le programme. Par exemple, il y avait des rumeurs selon lesquelles le côté client du célèbre cDc Back Orifice est également un cheval de Troie et envoie des informations aux propriétaires - les auteurs du logiciel. L'installation de BO Client "pour l'écoute" a montré que les rumeurs n'étaient pas vraies.

Un renifleur est également utile pour déboguer votre propre logiciel. Je n'oublierai jamais le moment où le serveur proxy n'a pas voulu établir de connexion si la requête GET se terminait par \ n \ n au lieu du requis \ r \ n \ r \ n. Seul l'examen des paquets envoyés par le navigateur « respectant la loi » et leur comparaison avec les paquets envoyés par mon script parvenu m'ont signalé une erreur ennuyeuse. Très, très souvent dans ma pratique administrative quotidienne, je dois faire face à des analyses au niveau TCP/UDP.

Éducation. Vous pouvez vous évanouir en mémorisant les formats d'en-tête de paquet de divers protocoles et méthodes de communication (par exemple, une poignée de main TCP à 3 voies, DNS, méthodes d'application de plan de traceroute), mais cette connaissance sera morte jusqu'à ce que vous essayiez de "la toucher avec vos mains" - en écrivant une fois le programme ou... en regardant dans le renifleur ! Après avoir lu la documentation d'un protocole inconnu ou mal compris, essayez de simuler l'interaction, interceptez les paquets et analysez-les - je vous assure, tout deviendra extrêmement clair, et de plus, cette connaissance est plus réelle et restera dans votre tête pendant un Longtemps. Dans le cas des technologies fermées, un renifleur peut être presque le seul moyen de les étudier.

Journalisation du trafic réseau. Il est possible de débattre beaucoup sur la légalité et l'éthique de l'administrateur qui enregistre le trafic des utilisateurs pour une visualisation plus approfondie, mais il n'en demeure pas moins que de nombreuses organisations incluent cette technologie dans leur politique de sécurité. Mon opinion personnelle est que le propriétaire est le maître, c'est-à-dire que si une entreprise fournit à ses employés des équipements, des connexions aux réseaux locaux et mondiaux, elle a le droit d'exiger la bonne utilisation de ces ressources. La deuxième raison importante de la journalisation du trafic est de détecter les tentatives d'accès non autorisées et d'autres menaces malveillantes - les attaques DoS, par exemple. Avec de tels journaux, l'administrateur peut savoir avec une précision de 100 % ce qui se passe dans son domaine réseau.

Parlons maintenant du côté illégal du sniff. Bon d'abord c'est banal

L'écoute clandestine. Après avoir correctement installé le renifleur, vous pouvez espionner vos voisins et vos proches - ennemis, amis, conjoints ;) Ces questions peuvent vous intéresser : à quoi sert une personne sur le réseau, quelles ressources Web visite-t-elle, quelles données transmet-il, avec qui et avec quoi communique-t-il ? Oui, les agences de sécurité de l'État me pardonneront, mais le fameux SORM, dont la légitimité sous la forme d'un enregistrement total du trafic est une question baaaalsh, je me réfère jusqu'à présent à cette section, bien qu'elle puisse apparaître dans le dernier paragraphe de « legal reniflement";)

Des écoutes plus matérialistes. Cependant, une partie importante de la communauté des "hackers" n'échange pas ses talents pour espionner des conjoints infidèles et d'autres choses du quotidien. Le plus souvent, un attaquant s'intéresse à une sorte de matériel avec lequel on peut avancer dans la tâche difficile de pénétrer dans les systèmes et les réseaux d'autres personnes. Comme vous l'avez peut-être deviné, il s'agit principalement d'intercepter les noms d'utilisateur et les mots de passe passant sur le réseau en texte brut. En particulier, cela s'applique aux mots de passe pour telnet, POP, IMAP, NNTP, IRC, pour les applications Web qui n'utilisent pas le cryptage, les chaînes de communauté SNMP v1, etc.

Mise en œuvre

Maintenant, après avoir plus ou moins traité la partie théorique, revenons à la terre du péché - parlons des implémentations spécifiques de renifleurs pour diverses plates-formes. En fait, il existe de nombreux logiciels de ce type, l'écart de fonctionnalité et de prix (surtout dans ce dernier) est colossal. La FAQ Sniffing (network wiretape, sniffer), Robert Graham, recommande d'essayer les produits suivants :

Serveur WinNT
Le serveur WinNT de Microsoft est livré avec un programme intégré appelé "Network Monitor". sera disponible dans le menu démarrer dans la section "Outils d'administration".

En fait, BlackICE est un système de détection d'intrusion (IDS), mais l'une de ses fonctions est d'écrire des vidages de paquets bruts sous une forme pouvant être décodée par des analyseurs de protocole. Une chose : le programme ne scanne que le trafic passant par les interfaces locales de l'hôte sur lequel il s'exécute, c'est-à-dire qu'il n'est pas promiscuité. Vous pouvez télécharger le programme sur le site

Au contraire, ce programme ne peut analyser que les paquets enregistrés par un renifleur comme BlackICE Pro.

Analyseur de protocole gratuit.

Naturellement, cette liste est loin d'être complète, vous pouvez accéder à n'importe quel moteur de recherche ou collection de logiciels de téléchargement et trouver quelque chose qui vous convient dans le menu de gauche. D'ailleurs, la revue ne mentionne pas le plus, à mon avis, produit remarquable de ce genre pour Win32 - NetXRay, désormais rebaptisé Sniffer Basic. Nous en reparlerons un peu plus tard.

Renifler
Un renifleur basé sur libpcap avec des capacités de filtrage avancées.

Encore une fois, la liste est loin d'être parfaite, vous pouvez chercher ailleurs. Une autre chose est que dans la communauté * NIX, il n'est pas particulièrement accepté d'être "éparpillé" - il y a des leaders de produits qui ont fait leurs preuves et qui s'améliorent constamment, et la majorité les préfèrent, sans même essayer de chercher une alternative. Les leaders absolus ici sont tcpdump et sniffit.

Tcpdump & WinDump

(par Ghost // Necrosoft)

Comme mentionné ci-dessus, TcpDump est le renifleur le plus couramment utilisé pour les systèmes * nix. Vous pouvez le trouver dans l'une des dernières distributions du système d'exploitation que vous utilisez. Il est préférable de décrire tcpdump en répertoriant simplement toutes ses options de ligne de commande - de cette façon, vous obtenez une liste de ses capacités et un guide direct d'action - "dans une bouteille".

WinDump est un portage de TcpDump des systèmes * nix, exécute les mêmes fonctions et a la même syntaxe que TcpDump, mais a quelques options de ligne de commande supplémentaires, qui seront discutées ci-dessous.

Une petite annotation sur l'utilisation de TcpDump sous divers systèmes. Sous SunOS utilisant des périphériques nit ou bpf : Vous devez avoir un accès en lecture à /dev/nit ou /dev/bpf* pour exécuter tcpdump. Sur Solaris avec dlpi, vous devez avoir accès à des adaptateurs pseudo-réseau tels que /dev/le. Sur HP-UX avec dlpi : vous devez être root ou tcpdump doit avoir l'uid défini sur root. Sur IRIX avec snoop et Linux : exigences similaires à HP-UX. Sur Ultrix et Digital UNIX : seul le superviseur a des opérations en mode promiscuité utilisant pfconfig (8) vous pouvez obtenir le droit d'exécuter tcpdump Sous BSD : vous devez avoir accès à /dev/bpf * Sous Win32 : vous devez installer le pilote de capture de paquets NDIS.

Examinons maintenant de plus près les options de la ligne de commande.

TcpDump [-adeflnNOpqStvx] [-c nombre] [-F fichier] [-i interface] [-r fichier] [-s snaplen] [-T type] [-w fichier] [expression]. Options spécifiques à Windump [-D] [-B size].

-a vous permet de convertir les adresses de réseau et de diffusion en noms.

-c quitter après avoir traité le nombre de paquets.

-d imprime le contenu du package d'une manière lisible par l'homme.

-dd affiche le contenu du package en tant que fragment de programme C.

-ddd affiche le contenu du package en notation décimale.

-e imprime les en-têtes de niveau lien sur chaque nouvelle ligne.

-f imprime les adresses des hôtes distants et locaux sans conversion en noms.

-F utilise un fichier avec la description des paramètres de filtrage (les expressions supplémentaires sur la ligne de commande sont ignorées).

-j'utilise l'interface pour le traçage. S'il n'est pas spécifié, tcpdump trouve l'interface réseau active portant le numéro le plus bas (hors bouclage). Dans l'interface Windows, le nom de la carte réseau ou son numéro (vous pouvez le trouver en exécutant WinDump -D).

-l utilise la sortie tamponnée vers stdout. Une construction comme "tcpdump -l | tee dat" "ou" tcpdump -l> dat & tail -f dat "" peut être utile.

-n ne traduit pas les adresses (c'est-à-dire l'adresse de l'hôte, le numéro de port, etc.) en noms.

-N n'imprime pas le nom de domaine dans le nom d'hôte. Celles. si ce drapeau est utilisé, tcpdump affichera "nic" "au lieu de" nic.ddn.mil "".

-O n'exécute pas l'optimiseur de package. Cette option est utile si vous ratissez vous-même des paquets.

-p ne met pas l'interface réseau en "mode promiscuité".

-q sortie abrégée. Affiche les informations sous une forme abrégée.

-r lit les packages à partir du fichier (qui ont été créés avec l'option -w). Si vous souhaitez utiliser la console comme entrée, alors le fichier est "-" ".

-s imprime des octets snaplen de chaque paquet (sur SunOS "NIT minimum 96.) 68 octets sont suffisants pour les protocoles IP, ICMP, TCP et UDP, mais tronque les informations des couches supérieures, telles que les paquets DNS et NFS.

-T Force l'interprétation des paquets de type type correspondant au masque "expression". Actuellement, les types suivants sont connus : rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), vat (Visual Audio Tool) et wb (tableau blanc distribué).

-S imprime le numéro de paquet TCP absolu.

-t n'affiche pas l'heure sur chaque ligne.

-tt affiche l'heure non formatée sur chaque ligne.

-v sortie verbeuse. Par exemple, la durée de vie des paquets et le type de service.

-vv pour une sortie plus détaillée. Par exemple, afficher des champs supplémentaires pour les paquets de réponse NFS.

-w écrit les paquets bruts dans un fichier, que vous pourrez ensuite déchiffrer à l'aide de l'option -r. Si vous souhaitez utiliser la console comme sortie, alors le fichier est "-" ".

-x affiche chaque paquet en hexadécimal (pas d'en-tête). Les octets Snaplen seront envoyés à la sortie.

Options WinDump supplémentaires :

-B définit la taille de la mémoire tampon du pilote en kilo-octets. La taille de la mémoire tampon par défaut est de 1 mégaoctet. Si certains paquets ne s'affichent pas pendant le fonctionnement, essayez d'augmenter la taille de la mémoire tampon. Si vous disposez d'une connexion PPP ou Ethernet 10 Mbps, la taille de la mémoire tampon peut être réduite de moitié ou de trois fois.

-D affiche une liste des périphériques réseau présents sur votre système. La liste ressemble à : numéro - le numéro du périphérique réseau dans le système, nom - son nom, suivi de la description du périphérique. Par la suite, vous pouvez utiliser ces données pour travailler avec toutes les interfaces réseau disponibles de votre système actuellement disponibles. Et vous pouvez sélectionner le périphérique en utilisant l'option -I - "WinDump -i nom" ou "WinDump -i numéro".

expression est en fait une expression qui définit le critère de filtrage des paquets. Si le champ d'expression est absent, alors tous les paquets sont imprimés. Sinon, seuls les paquets qui correspondent à l'expression de masque sont générés.

expression peut consister en une ou plusieurs primitives. Les primitives sont souvent constituées de l'identifiant (nom ou numéro) d'un qualificatif. Il existe trois principaux types de qualificatifs :

type est un qualificatif qui définit une politique générale. Les types possibles sont host, net et port. Celles. "hôte foo", "net 128.3", "port 20". Si le type n'est pas spécifié, alors l'hôte est utilisé par défaut.

dir est un qualificatif indiquant le sens de transmission des paquets. Les options sont src, dst, src ou dst, et src et dst. C'est-à-dire "src foo", "dst net 128.3", "src ou dst port ftp-data". Si dir n'est pas spécifié, alors src ou dst est utilisé par défaut. Pour les connexions "null" (c'est ppp ou slip), un qualificateur entrant et sortant est utilisé pour indiquer la direction souhaitée.

proto - le qualificateur vous permet de filtrer les paquets par un protocole spécifique. Protocoles possibles : ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp et udp. Celles. "ether src foo", "arp net 128.3", "tcp port 21". S'il n'y a pas de qualificatif, aucun paquet n'est filtré. ("fddi" est en fait un alias pour "ether", car dans la plupart des cas, les paquets FDDI contiennent les adresses Ethernet source et de destination et contiennent souvent des types de paquets Ethernet. Les en-têtes FDDI contiennent également d'autres champs qui ne figurent pas dans la liste de filtres.)

En plus de ce qui précède, certaines primitives spéciales n'ont pas de modèles, il s'agit des expressions passerelle, diffusion, moins, plus grande et arithmétique. Plus à ce sujet plus tard.

De nombreuses expressions de filtre composé utilisent les mots et, ou, et non pour combiner des primitives. Par exemple "host foo and not port ftp and not port ftp-data". Pour faciliter la saisie, certains qualificatifs peuvent être omis. Par exemple, "tcp dst port ftp ou ftp-data ou domaine" est identique à "tcp dst port ftp ou tcp dst port ftp-data ou tcp dst port domain".

Les expressions suivantes sont autorisées :

dst host host est vrai, si le champ de destination IP du paquet est host, il peut s'agir d'une adresse ou d'un nom d'hôte.

src host host est vrai si le champ source IP du paquet est host.

host host est vrai si la source ou la destination du paquet est host. Les préfixes suivants peuvent également être utilisés : ip, arp ou rarp like : ip host host qui équivaut à ether proto \ ip et hosthost. Si l'hôte est un nom avec plusieurs adresses IP, chaque adresse est vérifiée pour une correspondance.

ether dst ehost Vrai si l'adresse Ethernet de destination est ehost. Ehost est n'importe quel nom ou numéro / etc / ethers (voir ethers (3N).

ether src ehost est vrai si l'Ethernet source est ehost.

ether host ehost est vrai si les adresses ethernet de destination ou source sont ehost.

gateway host est true si host est gateway. Celles. L'adresse Ethernet source ou de destination est hôte, mais ni l'adresse IP source ni l'adresse IP de destination ne sont hôte. L'hôte peut être un nom et peut également être situé dans /etc/hosts et /etc/ethers. (Ce qui équivaut à ether host ehost et non host host, qui peut être utilisé avec n'importe quel nom ou numéro pour host / ehost.)

dst net net est vrai si l'adresse IP du destinataire est net. Net - toute entrée de /etc/réseaux ou une adresse réseau.

src net net est vrai si l'adresse IP de l'expéditeur est net.

net net Vrai si l'adresse IP du destinataire ou de l'expéditeur a une adresse réseau - net.

net net mask mask Vrai si l'adresse IP correspond à net avec le masque de réseau correspondant. Peut être spécifié conjointement avec src ou dst.

net net / len est vrai si IP est net et que le masque de sous-réseau est len ​​au niveau du bit (format CIDR). Peut être spécifié conjointement avec src ou dst.

dst port port est vrai si le paquet est ip/tcp ou ip/udp et a le port de destination - port. port peut être un nombre ou présent dans /etc/services (voir tcp (4P) et udp (4P)). Si un nom est utilisé pour deux ports ou plus, les numéros de port et les protocoles sont vérifiés. Si un numéro de port ou un nom non valide est utilisé, seuls les numéros de port sont vérifiés (c'est-à-dire que le port dst 513 sort tcp/login et udp/who traffic, et le domaine du port sort tcp/domain et udp/domain).

src port port est vrai si le port source est port.

port port est vrai si le port source ou de destination est port. Certaines expressions peuvent être combinées, par exemple : tcp src port port - uniquement les paquets tcp pour lesquels le port est -port.

moins length est vrai si la longueur du paquet est inférieure ou égale à length, ce qui équivaut à len<= length.

plus grande longueur est vrai si la longueur du paquet est supérieure ou égale à longueur, qui est identique à len> = longueur.

ip proto protocol est vrai si le paquet est un paquet IP de protocole. Le protocole peut être numéroté ou l'un des noms icmp, igrp, udp, nd ou tcp.

ether broadcast est vrai si le paquet est un paquet de diffusion Ethernet. L'expression éther est facultative.

ip broadcast est vrai si le paquet est un paquet de diffusion IP.

ether multicast est vrai si le paquet est un paquet Ethernet multicast. L'expression éther est facultative. C'est un raccourci pour "éther & 1! = 0".

ip multicast est vrai si le paquet est un paquet IP multicast.

ether proto protocol est vrai si le paquet est de type Ethernet. Le protocole peut être un numéro ou un nom : ip, arp ou rarp.

decnet src host est vrai si l'adresse DECNET de destination est host, qui peut être "10.123" ", ou nom d'hôte DECNET. (Le nom d'hôte DECNET n'est pris en charge que sur les systèmes Ultrix).

decnet dst host Vrai si l'adresse DECNET de destination est host.

decnet host host True si l'adresse DECNET de destination ou de source est host.

proto [expression: taille]

Proto est l'un des protocoles suivants : éther, fddi, ip, arp, rarp, tcp, udp ou icmp, et indique le niveau de protocole pour cette opération. Le décalage d'octet pour cette couche de protocole est tiré de expr. Taille - facultatif, affiche le nombre d'octets souhaité au décalage donné, peut être 1,2 ou 4, la valeur par défaut est 1.

Exemples d'utilisation de tcpdump

Répertoriez tous les paquets entrants et sortants depuis le coucher du soleil : tcpdump host sundown

Livraison du trafic entre helios et l'un des deux hot ou ace : tcpdump host helios et \(hot ou ace\)

Dump de toutes les pratiques entre ace et d'autres hôtes, à l'exception d'helios : tcpdump ip host ace et non helios

Dumping du trafic entre la machine locale et la machine Berkeley : tcpdump net ucb-ether

Emission du trafic ftp via la passerelle snup : tcpdump "gateway snup and (port ftp or ftp-data)"

Dump du trafic n'appartenant pas aux machines du réseau local (si votre machine est une passerelle vers un autre réseau, tcpdump ne pourra pas afficher le trafic sur votre réseau local). tcpdump ip et non net localnet

Émission de paquets anciens et d'arrêt (paquets SYN et FIN) qui n'appartiennent pas au réseau local. tcpdump "tcp & 3! = 0 et non src et dst net localnet"

Emission de paquets IP de plus de 576 octets transmis via la passerelle snup : tcpdump "gateway snup and ip> 576"

Emission de paquets IP broadcast ou multicast qui ne sont pas envoyés via Ethernet broadcast ou multicast : tcpdump "ether & 1 = 0 and ip> = 224"

Envoi de tous les paquets ICMP qui ne sont pas des requêtes/réponses d'écho (c'est-à-dire pas des paquets ping) : tcpdump "icmp! = 8 and icmp! = 0"

NetXRay

Par Alice D. Saemon

Celui que j'aime ...

Il y a très longtemps... NetXRay a été le premier renifleur à entrer dans mon champ de vision. Puis, en 1997, ce programme anglais a fait sensation dans les cercles des networkers orientés Windows. Les années ont passé, mais l'ancienne version de NetXRay (3.0.1) est toujours en service, en travail quotidien sur mon poste de travail. Aujourd'hui, le produit a été renommé Sniffer Basic, de nouvelles fonctionnalités ont été ajoutées, mais, d'un autre côté, la fonctionnalité de base est restée inchangée depuis la 3.0.1. C'est la première raison pour laquelle NetXRay 3.0.1 sera décrit dans le journal. La deuxième raison... (en regardant autour de la police anti-pirates) est un produit très cher (1 643 £, ce qui est sterling), et les restrictions d'essai sont très sérieuses.

Le package se compose d'un ensemble de fonctions différentes et peut vraiment être appelé un analyseur de réseau plutôt qu'un renifleur. Toutes les fonctionnalités (modules) sont regroupées dans le menu "Outils", il y a aussi divers réglages. Commençons par eux. Vous pouvez sélectionner l'adaptateur pour lequel le test en cours (sonde) est effectué. L'adaptateur doit prendre en charge la norme NDIS 3.0 / 3.1.

Attention, bug ! Si vous "définissez" NetXRay sur un adaptateur "mauvais" à son avis ou capturez des paquets qu'il ne peut pas décoder au niveau de la couche lien-réseau (par exemple, le trafic provenant d'exploits envoyant des paquets fragmentés de manière tordue) - au stade du décodage (analyse de protocole) le programme tient bon...

Vous pouvez tester simultanément sur plusieurs interfaces, pour lesquelles plusieurs hypostases du programme (sondes) sont créées. Tous les paramètres de l'un des existants peuvent être copiés dans une nouvelle sonde.

Dans les options, vous pouvez configurer les éléments suivants : l'apparence du bureau, les numéros de port standard pour divers protocoles (3 options - très utiles dans les cas où les applications réseau fonctionnent sur des ports non standard), la réponse à l'occurrence de certains événements, valeurs de seuil pour divers types de statistiques, et dr.

Eh bien, passons maintenant aux modules fonctionnels du package.

capture (capture de paquets)

Le cœur de NetXRay, en fait, c'est qu'au sens populaire il y a un renifleur. Par conséquent, je vais me permettre de le décrire plus en détail.

Lorsque ce module est activé, une petite fenêtre apparaît devant nous avec un "tableau de bord" et quelques boutons. Toutes les actions que nous pouvons effectuer dans cette fenêtre sont dupliquées dans le menu Capture. Et on peut faire ça : commencer à capturer des paquets, arrêter, arrêter + visualiser le contenu du buffer et juste visualiser le contenu du buffer, à condition que la capture ait été arrêtée. On peut aussi y affiner les filtres :

Par les adresses de l'expéditeur et du destinataire. Pour faciliter cette tâche, il existe un carnet d'adresses et un ensemble d'adresses prédéfinies, par exemple "Tout".

Par modèles. Si vous devez capturer des packages contenant des données spécifiques n'importe où dans le package, vous pouvez écrire un modèle intelligent. De plus, ce qui est particulièrement agréable, vous pouvez concevoir des modèles dans n'importe quelle représentation qui vous convient : binaire, hexadécimal, ASCII et EBCDIC.

Selon les protocoles connus du programme. Ce:

Réseau : AppleTalk, AppleTalk ARP, APOLLO, DECNET, IP, IP ARP, IPX, LAT, NetBEUI, OSI, SNA, VINES, VINES Loopback, VINES Echo, XNS

Plus haut dans la pile IP : transport, service et routage - ICMP, IGMP, GGP, EGP, IGP, ISO-TP4, HELLO, IP-VINES, IGRP, OSPF, TCP, UDP ; couche application - FTP, REXEC, RLOGIN, RSH, IMPRIMANTE, SMTP, TELNET, DNS (TCP), GOPHER, HTTP, POP, SUNRPC (TCP), NNTP, NETBIOS, X-WINDOW, DNS (UDP), BOOTP, TFTP, SUNRPC (UDP), SNMP, SNMPTRAP, BIFF, OMS, SYSLOG, RIP, GDP, NFS.

Plus haut dans la pile IPX : NCP, SAP, NRIP, NBIOS, DIAGNOSTIC, SERIALIZATION, NMPI, NLSP, NSNMP, NSNMPTRAP, SPX.

Comme vous pouvez le voir, pas si peu, je dirais - voire excessif pour la vraie vie.

Attention! Le filtre de protocole a une interface légèrement étrange : il est supposé que si toutes les cases à cocher dans les limites d'une couche ne sont pas cochées, tous les paquets de protocole de cette couche et tout ce qui se trouve au-dessus sont capturés (ci-dessous, si vous regardez l'interface utilisateur ;). Ainsi, si vous n'avez pas placé un seul "oiseau", absolument tout est pris. Naturellement, les protocoles de couche application inconnus sont également pris dans ce cas, mais pas décodés sous une forme lisible, ce qui est naturel, car ils sont inconnus :))

De plus, vous pouvez ajuster la taille de la mémoire tampon ou spécifier le fichier dans lequel déposer le résultat de la capture de paquets.

Les paramètres de filtre peuvent être écrits dans un soi-disant profil, auxquels un nom est attribué et ensuite sélectionné dans la liste.

Après avoir capturé le nombre de paquets requis, lors de l'activation de la vue, nous tombons dans la soi-disant "fenêtre de résultats", qui porte par défaut les noms XRay1, XRay2 et ainsi de suite, en fonction du nombre de tampons actuels. Vous pouvez voir une telle fenêtre dans la capture d'écran : ci-dessus - une liste de paquets avec une courte "annotation", au milieu - des données décodées (enfin, je pourrais décoder ;) et en dessous - un paquet brut. Il est curieux que lorsque vous cliquez sur le champ d'intérêt dans la section décodée, la place correspondante dans le paquet brut soit mise en évidence - vous pouvez vérifier la qualité de l'analyseur de protocole ;)

L'interface utilisateur de la "fenêtre des résultats" a, avec des avantages (la possibilité d'appliquer l'un des filtres décrits ci-dessus au tampon affiché, la possibilité d'envoyer n'importe quel paquet ou tampon au réseau en un clic de souris, ou de copier un certain nombre de paquets dans un tampon séparé, un très bel affichage des données décodées, même avec quelques imbrications pour des champs de peu d'intérêt pour un utilisateur ordinaire) et des inconvénients évidents (vous ne pouvez pas supprimer quelques paquets du tampon, il n'y a pas d'opérabilité du presse-papiers , c'est-à-dire que les résultats ne peuvent pas, par exemple, être copiés et enregistrés au format texte).

En plus d'accumuler des paquets dans un tampon ou un fichier pour un décodage ultérieur, il est également possible de visualiser le trafic en temps réel.

Vrai a) visuellement, ça a l'air affreux b) cette option est activée dans un endroit tellement illogique que même un vieil utilisateur de NetXRay comme moi oublie où se trouve ce "birdie". L'oiseau est installé dans Outils | Options ... l'onglet Général, la case à cocher Affichage en temps réel, et non dans les paramètres de capture, où il serait logique de le chercher ; - /

De plus, la "fenêtre des résultats" contient des onglets pour les données statistiques sur la session de capture réalisée, mais nous ne nous y attarderons pas.

générateur de paquets

C'est vraiment une chose merveilleuse : vous pouvez "esquisser" et envoyer absolument n'importe quel paquet au réseau à partir de zéro. L'interface se compose de la fenêtre principale et du soi-disant concepteur de paquet, divisé en deux sections - Configurer et Décoder.

Dans le premier, nous avons un portrait d'un dump standard (voir la partie théorique de l'article), rempli de zéros. Nous commençons à y entrer des nombres hexadécimaux - dans la section de décodage, qui ressemble exactement au paquet déchiffré dans la "fenêtre de résultats" de Capture, l'analyse de notre paquet apparaît.

Mais dans ce cas, nous pouvons non seulement regarder le paquet décodé, mais aussi apporter des modifications en cliquant sur le champ souhaité. Certes, la modification des valeurs ne s'effectue dans tous les cas que sous forme hexadécimale et les champs de saisie sont frappants par leur inconvénient : (Il existe plusieurs options pour générer et envoyer des paquets : envoyer le paquet actuel, envoyer le tampon actuel, écrire un paquet à partir de zéro, ou envoyer un paquet édité à partir de ce qui a été collecté ...

Note sur l'interface : si l'option "envoyer le paquet courant" est appelée depuis la "fenêtre de résultat" de Capture, le paquet est envoyé immédiatement sans appeler le constructeur du paquet, cependant, il reste dans le "tampon d'envoi" courant, et il peut y être corrigé plus tard.

Si "send current packet" est appelé depuis la fenêtre Packet Generator "et - le constructeur du paquet est automatiquement appelé. Attention !

Dans le concepteur de packages dans la section Decode, le programme vous donnera quelques astuces, en particulier, calculer une nouvelle somme de contrôle lors de la modification du package (il effectuerait également les modifications appropriées lui-même, création paresseuse ;). Cependant, l'IA diffère de l'esprit humain en ce sens qu'elle ne sait pas comment penser correctement. Alors quand, par exemple, vous changez l'adresse IP du destinataire, demandez-vous si vous devez changer son adresse MAC en même temps ? ;)

Les paquets peuvent être envoyés selon différents modes : un clic - un paquet, un nombre spécifié de paquets ou en boucle. De cette façon, vous pouvez générer du trafic. En général, vous pouvez trouver de nombreuses applications pour le générateur de paquets, ici c'est à votre imagination et à votre ingéniosité.

Toutes sortes de choses

En plus de ce qui précède, le programme contient beaucoup d'autres fonctionnalités utiles et pas très (comme tout le monde ;) cloches et sifflets. En bref à leur sujet :

Tableau de bord. Les statistiques de congestion du réseau, ou plutôt la partie de celui-ci qui vous est visible. Nombre de paquets, octets, erreurs de tous types, calcul d'utilisation. J'ai toujours été confus par cette fonctionnalité, car je n'ai jamais vu de messages d'erreur de ma vie - eh bien, il ne se peut pas qu'ils n'étaient pas là ! ;)

Table d'hôtes. Capture diverses informations sur les hôtes visibles par le renifleur et leurs activités (sans capture et analyse complètes des paquets)

Matrice. Presque la même que la table d'hôtes, mais présentée dans un format légèrement différent.

Histoire. Dessine des graphiques et des diagrammes sur le comportement du réseau dans une certaine période de temps.

Diffusion du protocole. Comme son nom l'indique, il conserve des statistiques sur l'utilisation de divers protocoles.

Statistiques. Statistiques sur l'utilisation et la taille du personnel.

Journal des alarmes. Un journal des événements définis par vous.

Enfin bref, c'est tout. (wow "en bref, il s'est avéré% - ()) Téléchargez et testez la santé - pour votre joie et pour vos ennemis au dépit :)

Conclusion

Eh bien, c'est fini pour aujourd'hui l'histoire des renifleurs. Qui a écouté (lu jusqu'à la fin) - bravo, j'espère que vous avez obtenu des réponses à la plupart de vos questions. Par souci d'équité, je noterai : loin de TOUTES les questions ont été envisagées dans le cadre de cet article. Au moins deux grands sujets ont été laissés de côté : la structure interne des renifleurs, y compris les méthodes et les approches pour écrire de tels logiciels, ainsi que les moyens de résister au reniflement.

Quant au premier, voici ce que j'en pense : le sujet est intéressant, nécessitant un matériel à part, mais il sera principalement destiné aux programmeurs. Trouvons quelque chose à ce sujet. Quant à la deuxième question, il y a fondamentalement une réponse : cryptage, cryptage, et encore cryptage, ce qui est évident. Il existe, bien sûr, des méthodes pour reconnaître la présence d'un renifleur dans le réseau et même s'y opposer, mais elles sont assez privées et peu efficaces.

2021 wisemotors.ru. Comment ça fonctionne. Le fer. Exploitation minière. Crypto-monnaie.