En aquesta guia, demostrarem com instal·lar tcpdump en un sistema Linux i com capturar i analitzar els paquets TCP/IP mitjançant tcpdump.
Com instal·lar Tcpdump
Tcpdump està preinstal·lat a moltes distribucions de Linux. Però si encara no està instal·lat al vostre sistema, podeu instal·lar tcpdump al vostre sistema Linux. Per instal·lar tcpdump al sistema Ubuntu 22.04, utilitzeu l'ordre següent:
$ sudo apt install tcpdump
Per instal·lar tcpdump a Fedora/CentOS, utilitzeu l'ordre següent:
$ sudo dnf install tcpdump
Com capturar els paquets mitjançant l'ordre Tcpdump
Per capturar els paquets amb tcpdump, inicieu el terminal amb privilegis sudo fent servir 'Ctrl+Alt+t'. Aquesta eina inclou diferents opcions i filtres per capturar els paquets TCP/IP. Si voleu capturar tots els paquets que flueixen de la interfície de xarxa actual o predeterminada, utilitzeu l'ordre 'tcpdump' sense cap opció.
$ sudo tcpdump
L'ordre donada captura els paquets de la interfície de xarxa predeterminada del vostre sistema.
Al final de l'execució d'aquesta ordre, tots els recomptes de paquets capturats i filtrats es mostren al terminal.
Entenem la sortida.
Tcpdump permet l'anàlisi de les capçaleres de paquets TCP/IP. Mostra una única línia per a cada paquet i l'ordre continua executant-se fins que premeu 'Ctrl + C' per aturar-la.
Cada línia proporcionada per tcpdump conté els detalls següents:
- Marca de temps Unix (p. ex., 02:28:57.839523)
- Protocol (IP)
- Nom d'amfitrió d'origen o IP i número de port
- Nom d'amfitrió o IP i número de port de destinació
- Senyals TCP (p. ex., Banderes [F.]) que indiquen l'estat de connexió amb valors com S (SYN), F (FIN). (ACK), P (EMPUJAR), R (RST)
- Número de seqüència de les dades del paquet (p. ex., seq. 5829:6820)
- Número de confirmació (p. ex., confirmació 1016)
- Mida de la finestra (p. ex., win 65535) que representa els bytes disponibles a la memòria intermèdia de recepció seguit de les opcions TCP
- Longitud de la càrrega útil de dades (p. ex., longitud 991)
Per llistar totes les interfícies de xarxa de llista del vostre sistema, utilitzeu l'ordre 'tcpdump' amb l'opció '-D'.
$ sudo tcpdump -Do
$ tcpdump --list-interfacesAquesta ordre enumera totes les interfícies de xarxa que estan connectades o que s'executen al vostre sistema Linux.
Captureu els paquets de la interfície de xarxa especificada
Si voleu capturar els paquets TCP/IP que passen per una interfície específica, utilitzeu el senyalador '-i' amb l'ordre 'tcpdump' i especifiqueu el nom de la interfície de xarxa.
$ sudo tcpdump -i ho
L'ordre donada captura el trànsit a la interfície 'lo'. Si voleu mostrar una informació detallada o detallada sobre el paquet, utilitzeu el senyalador '-v'. Per imprimir detalls més complets, utilitzeu el senyalador '-vv' amb l'ordre 'tcpdump'. L'ús i l'anàlisi regulars contribueixen a mantenir un entorn de xarxa robust i segur.
De la mateixa manera, podeu capturar el trànsit a qualsevol interfície mitjançant l'ordre següent:
$ sudo tcpdump -i qualsevol
Captureu els paquets utilitzant un port específic
Podeu capturar i filtrar els paquets especificant el nom de la interfície i el número de port. Per exemple, per capturar els paquets de xarxa que passen per la interfície 'enp0s3' mitjançant el port 22, utilitzeu l'ordre següent:
$ tcpdump -i enp0s3 port 22L'ordre anterior captura tots els paquets que flueixen de la interfície 'enp0s3'.
Captureu els paquets limitats amb Tcpdump
Podeu utilitzar el senyalador '-c' amb l'ordre 'tcpdump' per capturar un nombre especificat de paquets. Per exemple, per capturar quatre paquets a la interfície 'enp0s3', utilitzeu l'ordre següent:
$ tcpdump -i enp0s3 -c 4
Substituïu el nom de la interfície amb el vostre sistema.
Ordres Tcpdump útils per capturar el trànsit de xarxa
A continuació, hem enumerat algunes ordres 'tcpdump' útils que us ajudaran a capturar i filtrar el trànsit o els paquets de xarxa de manera eficient:
Mitjançant l'ordre 'tcpdump', podeu capturar els paquets d'una interfície amb una IP de destinació o IP d'origen definida.
$ tcpdump -i {nom-interfície} dst {ip-destinació}Podeu capturar els paquets amb una mida d'instantània de 65535 bytes que és diferent de la mida predeterminada de 262144 bytes. A les versions anteriors de tcpdump, la mida de captura estava limitada a 68 o 96 bytes.
$ tcpdump -i enp0s3 -s 65535
Com desar els paquets capturats en un fitxer
Si voleu desar les dades capturades en un fitxer per a una anàlisi posterior, podeu fer-ho. Captura el trànsit en una interfície especificada i després el desa en un fitxer '.pcap'. Utilitzeu l'ordre següent per emmagatzemar les dades capturades en un fitxer:
$ tcpdump -iPer exemple, tenim la interfície “enps03”. Deseu aquestes dades capturades al fitxer següent:
$ sudo tcpdump -i enps03 -w dump.pcapEn el futur, podeu llegir aquest fitxer capturat mitjançant Wireshark o altres eines d'anàlisi de xarxa. Per tant, si voleu utilitzar Wireshark per analitzar els paquets, utilitzeu l'argument '-w' i deseu-lo en un fitxer '.pcap'.
Conclusió
En aquest tutorial, vam demostrar com capturar i analitzar els paquets amb tcpdump amb l'ajuda de diferents exemples. També vam aprendre a desar el trànsit capturat en un fitxer '.pcap' que podeu veure i analitzar amb Wireshark i altres eines d'anàlisi de xarxa.