Tcpdump est un paquet réseau reniflant l'utilitaire de ligne de commande. Il est le plus souvent utilisé pour le dépannage des réseaux et tester les problèmes de sécurité. Malgré l'absence d'une interface utilisateur graphique, c'est l'utilitaire de ligne de commande le plus populaire, puissant et polyvalent.
Il est originaire de Linux de telle sorte que la plupart des distributions Linux l'installent dans le cadre du système d'exploitation standard. TCPDump est un programme interfacé LiBPCAP, qui est une bibliothèque pour la capture de datagramme réseau.
Cet article démystifiera TCPDUmp en montrant comment capturer, lire et analyser le trafic réseau capturé dans cet utilitaire. Nous utiliserons plus tard notre compréhension pour inspecter les paquets de données avec les filtres Flag TCP avancés.
Installation de TCPDump
L'installation par défaut de TCPDump dans votre distribution dépend des options sélectionnées pendant le processus d'installation. Dans le cas d'une installation personnalisée, il est possible que le package ne soit pas disponible. Vous pouvez vérifier l'installation de TCPDump en utilisant le dpkg commande avec le «-s" option.
Ubuntu $ ubuntu: ~ $ dpkg -s tcpdump
Ou utilisez la commande «sudo apt-get install tcpdump» pour installer tcpdump dans l'ubuntu linux.
Capturation de paquets dans TCPDump:
Pour commencer le processus de capture, nous devons d'abord trouver notre interface de travail en utilisant le «ifconfig" commande. Ou nous pouvons répertorier toutes les interfaces disponibles en utilisant le tcpdump commande avec le «-D" option.
Ubuntu $ ubuntu: ~ $ tcpdump -d
Pour commencer le processus de capture, vous pouvez utiliser la syntaxe;
tcpdump [-options] [expression]
Par exemple, dans la commande ci-dessous, nous utilisons le «-je«Option de capturer le trafic sur le«ENP0S3"Interface, avec un"-c"Flag pour limiter les paquets capturés et écrire"-w«C'est à un test_capture.PCAP déposer.
Ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 -w / tmp / test_capture.PCAP
De même, vous pouvez utiliser diverses combinaisons de filtres pour isoler le trafic selon vos besoins. Un tel exemple comprend la capture de données réseau quittant et arrivant à l'hôte en utilisant le héberger commande pour un spécifique port. De plus, j'ai utilisé le «-n”Flag pour empêcher TCPDUmp de capturer les recherches DNS. Ce drapeau est très utile pour saturer le trafic tout en dépannage le réseau.
ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 hôte 10.0.2.15 et DST PORT 80 -W / TMP / TEST_CAPTURE1.PCAP
TCPDump: écoute sur ENP0S3, de type lien en10MB (Ethernet), taille de capture 262144 octets
20 paquets capturés
21 paquets reçus par filtre
0 paquets déposés par le noyau
Nous utilisons le "et”Commande pour ne capturer que des paquets contenant l'hôte 10.0.2.15 et port de destination 80. De même, divers autres filtres peuvent être appliqués pour faciliter les tâches de dépannage.
Si vous ne voulez pas utiliser le «-c”Indicateur Pour limiter le trafic de capture, vous pouvez utiliser un signal d'interruption, je.e., Ctrl + c, Pour arrêter le processus d'isolement.
Lire des fichiers TCPDump
La lecture des fichiers capturés TCPDump peut être beaucoup écrasant. Par défaut, TCP attribue des noms aux adresses IP et aux ports. Nous utiliserons le «-r”Flag pour lire notre fichier déjà capturé test_capture.PCAP sauvé dans le / tmp dossier. Nous allons tuer la sortie à awk commande pour sortir uniquement l'adresse IP source et les ports et le tuyau sur la commande diriger Pour afficher uniquement les 5 premières entrées.
ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.PCAP | awk -f "" 'print $ 3' | tête -5
Lire à partir de fichier / tmp / test_capture.PCAP, Link-Type EN10MB (Ethernet)
Ip ubuntu.53298
Ip ubuntu.53298
Ip ubuntu.53298
Ip ubuntu.53298
Ip ubuntu.53298
Cependant, il est recommandé d'utiliser des adresses IP et des ports en nombre pour résoudre les problèmes de réseautage. Nous désactiverons la résolution du nom IP avec le «-n"Flag et noms de port avec"-nn".
Ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
TCPDUMP: Sortie verbeux supprimée, utilisez -v ou -vv pour le décodage complet du protocole
Écoute sur ENP0S3, Link-Type EN10MB (Ethernet), Capture Taille 262144 octets
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: drapeaux [P.], SEQ 1276027591: 1276027630, ACK 544039114, Win 63900, longueur 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: drapeaux [P.], SEQ 3381018839: 3381018885, ACK 543136109, Win 65535, longueur 46
20:08:22.147506 IP 172.67.39.148.443> 10.0.2.15.54080: drapeaux [.], ack 39, gagner 65535, longueur 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: drapeaux [.], ack 46, gagner 65535, longueur 0
20:08:22.202346 IP 216.58.209.142.443> 10.0.2.15.41050: drapeaux [P.], SEQ 502925703: 502925826, ACK 1203118935, WIN 65535, longueur 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209.142.443: drapeaux [P.], SEQ 1:40, ACK 123, Win 65535, longueur 39
Comprendre la sortie capturée
TCPDump capture de nombreux protocoles, y compris UDP, TCP, ICMP, etc. Il n'est pas facile de les couvrir tous ici. Cependant, il est important de comprendre comment les informations sont affichées et quels paramètres il inclut.
TCPDump affiche chaque paquet dans une ligne, avec un horodatage et des informations concernant le protocole. Généralement, le format d'un protocole TCP est le suivant:
. > . : , , , , ,
Expliquons l'un des champs de paquets capturés par champ:
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: drapeaux [P.], SEQ 1276027591: 1276027630, ACK 544039114, Win 63900, longueur 39
Filtres avancés
Maintenant, nous pouvons utiliser certaines options de filtre de cap avancé pour afficher et analyser uniquement les paquets de données. Dans n'importe quel paquet TCP, les drapeaux TCP commencent à partir du 14e octet tel que PSH et ACK sont représentés par les 4e et 5e bits.
Nous pouvons utiliser ces informations en activant ces bits 00011000 ou 24 Pour afficher des paquets de données avec uniquement des drapeaux PSH et ACK. Nous passons ce numéro à TCPDump avec le filtre "TCP [13] = 24«, Notez que l'index du tableau dans TCP commence à zéro.
Nous filtrerons ce paquet de notre text_capture.PCAP fichier et utiliser le -UN Option pour afficher tous les détails des paquets pour vous.
De même, vous pouvez filtrer d'autres paquets d'indicateur en utilisant «TCP [13] = 8» et «TCP [13] = 2» pour uniquement des drapeaux PSH et SYN, etc.
Ubuntu $ ubuntu: ~ $ sudo tcpdump -a 'tcp [13] = 24' -r / tmp / test_capture.PCAP
Lire à partir de fichier / tmp / test_capture.PCAP, Link-Type EN10MB (Ethernet)
19:26:17.827902 IP Ubuntu.53298> 32.121.122.34.avant JC.googleSerContent.com.http: drapeaux [p.], SEQ 4286571276: 4286571363, ACK 252096002, Win 64240, longueur 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
… "Zy .2.P… p… get / http / 1.1
Hôte: Vérifier la connectivité.ubuntu.com
Accepter: */*
Connexion: fermer
Conclusion
Dans cet article, nous vous avons présenté certains des sujets les plus importants de TCPDump. TCPDump, combiné à la puissance de la CLI, peut être d'une grande aide dans le dépannage des réseaux, l'automatisation et la gestion de la sécurité. Une fois étudiés et combinés, ses filtres et ses options de ligne de commande peuvent contribuer beaucoup à votre dépannage quotidien et à vos tâches d'automatisation et à la compréhension globale du réseau.