Cet article présente un autre outil de capture de paquets utile, Wireshark, utilisé pour obtenir des paquets de données réseau, y compris HTTP, TCP, UDP et d'autres paquets de protocole réseau.
Je me souviens que j'ai appris le protocole TCP à trois reprises à la poignée de main quand j'étais à l'université. À cette époque, je savais que même si j'avais lu beaucoup de matériaux TCP et UDP dans le livre, je n'avais jamais vraiment vu ces paquets de données. J'avais toujours l'impression de flotter sur le nuage et je n'apprenais pas régulièrement. Avec Wireshark, ces paquets de réseau peuvent être interceptés et chaque champ dans le paquet peut être clairement vu. Il peut approfondir notre compréhension des protocoles de réseau.
Pour moi, Wireshark est le meilleur outil pour apprendre les protocoles de réseau.
Contenu de la lecture
Introduction à Wireshark
Site Web de téléchargement officiel de Wireshark: http://www.wireshark.org/
Wireshark est un logiciel d'analyse de paquets de réseau très populaire avec des fonctions très puissantes. Divers paquets de réseau peuvent être interceptés et des informations détaillées sur les paquets de réseau peuvent être affichées.
Wireshark est un logiciel open source qui peut être utilisé en toute confiance. Peut fonctionner sur Windows et Mac OS.
Les personnes qui utilisent Wireshark doivent comprendre le protocole réseau, sinon ils ne comprendront pas Wireshark.
Ce que Wireshark ne peut pas faire
Pour des raisons de sécurité, Wireshark ne peut afficher le paquet, mais ne peut pas modifier le contenu du paquet ou envoyer le paquet.
Wireshark vs Fiddler
Fiddler est un programme exécuté sur Windows, spécifiquement utilisé pour capturer HTTP et HTTPS.
Wireshark peut obtenir HTTP et HTTPS, mais ne peut pas décrypter HTTPS, donc Wireshark ne peut pas comprendre le contenu dans HTTPS.
En résumé, si vous utilisez HTTP, HTTPS ou Fiddler, d'autres protocoles tels que TCP et UDP, utilisez Wireshark
Autres outils du même type
Moniteur réseau de Microsoft
renifleur
Qui utiliserait Wireshark
1. Les administrateurs réseau utiliseront Wireshark pour vérifier les problèmes de réseau
2. Les ingénieurs de test de logiciels utilisent Wireshark pour capturer des paquets pour analyser le logiciel qu'ils ont testé
3. Les ingénieurs engagés dans la programmation de socket utiliseront Wireshark pour déboguer
4. J'ai entendu dire que la plupart des ingénieurs de Huawei et du ZTE utilisent Wireshark.
En bref, Wireshark peut être utilisé pour des choses liées à Internet.
Wireshark commence à saisir
Démarrer l'interface
Wireshark est un package réseau qui capture une certaine carte réseau sur la machine. Lorsqu'il y a plusieurs cartes réseau sur votre machine, vous devez choisir une carte réseau.
Cliquez sur Caputre-> Interfaces .. La boîte de dialogue suivante apparaît et sélectionnez la carte réseau correcte. Puis cliquez sur le bouton "Démarrer" pour commencer à saisir
Introduction de la fenêtre Wireshark
Wireshark est principalement divisé en ces interfaces
1. Filtre d'affichage, utilisé pour le filtrage
2. Panquet List (liste de paquets), affiche le paquet capturé, l'adresse active et l'adresse de destination et le numéro de port. Les différentes couleurs représentent
3. Paquet Détails (détails des paquets), affichage des champs dans le paquet
4. Panne dissecteur (données hexadécimales)
5. Divers (barre d'adresse, divers)
Filtrage d'affichage Wireshark
L'utilisation de filtrage est très importante. Lorsque les débutants utilisent Wireshark, ils obtiendront beaucoup d'informations redondantes, ce qui est si difficile de trouver la pièce dont ils ont besoin en milliers, voire des dizaines de milliers de dossiers. Cela m'a rendu étourdi.
Les filtres nous aideront à trouver rapidement les informations dont nous avons besoin dans une grande quantité de données.
Il existe deux types de filtres.
L'un est le filtre d'affichage, qui est celui de l'interface principale, utilisé pour trouver les enregistrements requis dans les enregistrements capturés.
L'un est un filtre de capture, qui est utilisé pour filtrer les paquets capturés pour éviter de capturer trop d'enregistrements. Paramètres de capture -> Filtres de capture
Enregistrer le filtre
Dans la colonne Filtre, après avoir rempli l'expression du filtre, cliquez sur le bouton Enregistrer et donnez-lui un nom. Par exemple, "filtre 102",
Il y a un bouton supplémentaire "Filtre 102" sur la barre de filtre.
Règles de filtrage des expressions
Règles d'expression
1. Filtrage de protocole
Par exemple, TCP affiche uniquement le protocole TCP.
2. Filtrage IP
Par exemple, ip.src == 192.168.1.102 montre que l'adresse source est 192.168.1.102.
ip.dst == 192.168.1.102, l'adresse cible est 192.168.1.102
3. Filtrage de port
tcp.port == 80, port 80
TCP.SRCPORT == 80, affiche seulement que le port de souhait du protocole TCP est de 80.
4. Filtrage en mode HTTP
http.request.method == "get", affiche uniquement la méthode HTTP Get.
5. L'opérateur logique est et / ou
Expressions de filtre couramment utilisées
| Expressions filtrantes | utiliser |
| http | Afficher uniquement les enregistrements du protocole HTTP |
| ip.src == 192.168.1.102 ou ip.dst == 192.168.1.102 | L'adresse source ou l'adresse de destination est 192.168.1.102 |
Volet de liste de paquets
La liste des packages affiche le numéro, l'horodatage, l'adresse source, l'adresse de destination, le protocole, la longueur et les informations de paquet dans le panneau. Vous pouvez voir que différents protocoles sont affichés dans différentes couleurs.
Vous pouvez également modifier ces règles de couleurs d'affichage, afficher -> règles de coloration.
Volet de détails de paquets
Ce panneau est notre chose la plus importante pour voir tous les champs du protocole.
Les informations de chaque ligne sont
Cadre: aperçu des cadres de données pour la couche physique
Ethernet II: Couche de données Couche de données Informations d'en-tête de cadre Ethernet
Protocole Internet Version 4: Internet Internet Informations d'en-tête de package IP de couche Internet
Protocole de contrôle de la transmission: les informations d'en-tête du segment de données de la couche de transport T, voici TCP
Protocole de transfert hypertexte: Informations sur la couche d'application, voici le protocole HTTP
Wireshark et modèle OSI à sept couches correspondant
Contenu spécifique du package TCP
D'après la figure ci-dessous, vous pouvez voir chaque champ du package TCP capturé par Wireshark.
Exemple d'analyse du processus de poignée de main triple TCP
Voyant cela, j'ai essentiellement acquis une compréhension préliminaire de Wireshak. Voyons maintenant un exemple de poignée de main triple TCP.
Le processus de poignée de main à trois reprises est
J'ai vu cette photo plusieurs fois. Cette fois, nous utilisons Wireshark pour analyser réellement le processus de trois poignées de main.
Ouvrez Wireshark, ouvrez le navigateur et entrez http://www.cnblogs.com/tankxiao
Entrez HTTP pour filtrer dans Wireshark, puis sélectionnez l'enregistrement de Get / TankXiao HTTP / 1.1, cliquez avec le bouton droit et cliquez sur "Suivre TCP Stream",
Le but est d'obtenir les paquets de données liés à l'ouverture du site Web par le navigateur. Vous obtiendrez l'image suivante
Dans la figure, vous pouvez voir que Wireshark a intercepté trois paquets de données de trois poignées de main. Le quatrième package est HTTP, qui montre que HTTP utilise TCP pour établir des connexions.
Paquet de poignée de main
Le client envoie un TCP avec le bit Flag Syn et le numéro de série est 0, ce qui représente la demande du client pour établir une connexion. La figure suivante
Paquet de données pour la deuxième poignée de main
Le serveur renvoie le paquet de confirmation, l'indicateur est SYN et ACK. Définissez le numéro de confirmation (numéro de reconnaissance) sur l'ISN du client plus 1. C'est-à-dire 0 + 1 = 1, comme le montre la figure ci-dessous
Le paquet de données pour la troisième poignée de main
Le client envoie à nouveau le paquet d'accusé de réception (ACK). Le bit Syn Flag est 0 et le bit de l'indicateur ACK est 1. Et le serveur envoie le champ Numéro ACK +1 et met le champ de confirmation à l'autre partie. Et met le +1 de l'ISN dans le segment des données, comme indiqué dans la figure ci-dessous:
De cette façon, la poignée de main TCP a été transmise trois fois et la connexion a été établie.
Ce qui précède est l'introduction de base à Wireshark et à l'apprentissage TCP trois fois. Nous continuerons d'organiser des connaissances pertinentes à l'avenir. Merci pour votre soutien à ce site!