Full de càlcul a Microsoft Excel

Si necessiteu analitzar o interceptar paquets de xarxa en Linux, és millor utilitzar la utilitat de consola per a això. tcpdump. Però el problema sorgeix en una gestió força complicada. Sembla inconvenient que un usuari normal pugui treballar amb l’equip, però només a primera vista. L’article explicarà com s’organitza tcpdump, quina sintaxi té, com utilitzar-la i es donaran nombrosos exemples del seu ús.

Vegeu també: Tutorials per configurar una connexió a Internet a Ubuntu, Debian, servidor d'Ubuntu

Instal·lació

La majoria dels desenvolupadors de sistemes operatius basats en Linux inclouen la utilitat tcpdump a la llista de preinstal·lats, però si per alguna raó no es troba a la vostra distribució, sempre la podeu descarregar i instal·lar a través de "Terminal". Si el vostre sistema operatiu està basat en Debian, i aquest és Ubuntu, Linux Mint, Kali Linux i similars, necessiteu executar aquesta ordre:

sudo apt install tcpdump

En instal·lar heu d’introduir una contrasenya. Tingueu en compte que quan escriviu no es mostra, també per confirmar la instal·lació, heu d’introduir el caràcter "D" i premeu Introduïu.

Si teniu Red Hat, Fedora o CentOS, la comanda d’instal·lació serà així:

sudo yam instal·la tcpdump

Un cop instal·lada la utilitat, la podeu utilitzar immediatament. Això i molt més es discutiran més endavant en el text.

Vegeu també: Guia d’instal·lació de PHP per al servidor d’Ubuntu

Sintaxi

Com qualsevol altra comanda, tcpdump té la seva pròpia sintaxi. Coneixent-lo, podeu configurar tots els paràmetres necessaris que es tindran en compte a l’execució de l’ordre. La sintaxi és:

opcions tcpdump -i filtres d'interfície

Quan utilitzeu l’ordre, heu d’especificar la interfície per fer el seguiment. Els filtres i les opcions no són variables obligatòries, però permeten una configuració més flexible.

Opcions

Tot i que no cal especificar l’opció, encara cal que enumereu els disponibles. La taula no mostra la seva llista completa, sinó només les més populars, però són més que suficients per resoldre la majoria de les tasques.

OpcióDefinició
-APermet ordenar paquets en format ASCII
-lAfegeix una funció de desplaçament.
-iDesprés d’entrada heu d’especificar l’interfície de xarxa que s’ha de supervisar. Per iniciar el seguiment de totes les interfícies, escriviu la paraula "qualsevol" després de l’opció.
-cFinalitza el procés de seguiment després de comprovar el nombre de paquets especificat.
-wGenera un fitxer de text amb un informe de verificació.
-eMostra el nivell de connexió a Internet del paquet de dades.
-LMostra només els protocols compatibles amb la interfície de xarxa especificada.
-CCrea un altre fitxer mentre escriu un paquet si la seva mida és superior a la especificada.
-rObre un fitxer de lectura que s’ha creat amb l’opció -w.
-jEl format TimeStamp s'utilitzarà per gravar paquets.
-JUs permet veure tots els formats disponibles de TimeStamp
-GS'utilitza per crear un fitxer amb registres. L’opció també requereix un valor temporal, després es crearà un registre nou
-v, -vv, -vvvDepenent del nombre de caràcters de l’opció, la sortida de l’ordre es detallarà (l’augment és directament proporcional al nombre de caràcters)
-fLa sortida mostra el nom de domini de l’adreça IP
-FUs permet llegir informació no des de la interfície de xarxa, sinó del fitxer especificat
-DDemostra totes les interfícies de xarxa que es poden utilitzar.
-nDesactiva la visualització dels noms de domini
-ZEspecifica l’usuari en el qual s’hauran de crear tots els fitxers.
-KOmet l’anàlisi de la suma de verificació
-qDemostració d'informació breu
-HDetecta els encapçalaments dels 802.11
-IS'utilitza per capturar paquets en mode de monitor.

Un cop analitzades les opcions, a continuació girem directament a les seves aplicacions. Mentrestant, es tindran en compte els filtres.

Filtres

Com es va esmentar al principi de l’article, podeu afegir filtres a la sintaxi tcpdump. Ara es tindrà en compte el més popular d’ells:

FiltreDefinició
amfitrióEspecifica el nom d'amfitrió.
netEspecifica la subxarxa i la xarxa IP
ipEspecifica l’adreça de protocol
srcMostra els paquets enviats des de l'adreça especificada
dstMostra els paquets rebuts per l'adreça especificada.
arp, udp, tcpFiltrat per un dels protocols
portMostra informació relacionada amb un port específic.
i, oS'utilitza per combinar diversos filtres en una ordre.
menys, més granPaquets de sortida més petits o més grans que la mida especificada

Tots els filtres anteriors es poden combinar entre ells, de manera que en emetre una ordre només observareu la informació que voleu veure. Per entendre amb més detall l’ús dels filtres anteriors, val la pena donar exemples.

Vegeu també: Comandes utilitzades amb freqüència en el terminal Linux

Exemples d’ús

Ara s’indicaran les opcions de sintaxi tcpdump que s’utilitzen amb freqüència. No tots poden ser llistats, ja que les seves variacions poden ser infinites.

Mostra la llista d’interfícies

Es recomana que cada usuari comprovi inicialment la llista de totes les seves interfícies de xarxa que es puguin localitzar. Des de la taula anterior, sabem que per a això heu d’utilitzar l’opció -D, per tant, al terminal executeu l’ordre següent:

sudo tcpdump -D

Exemple:

Com podeu veure, hi ha vuit interfícies a l’exemple que es pot visualitzar amb l’ordre tcpdump. L’article proporcionarà exemples de ppp0, podeu utilitzar qualsevol altre.

Captura de trànsit normal

Si necessiteu fer un seguiment d’una única interfície de xarxa, podeu fer-ho amb l’opció -i. No oblideu introduir el nom de la interfície després d’introduir-lo. Aquí teniu un exemple d’execució d’aquesta ordre:

sudo tcpdump -i ppp0

Tingueu en compte: heu d’introduir "sudo" abans del propi comandament, ja que requereix el dret del superusuari.

Exemple:

Nota: després de prémer Enter al "Terminal", els paquets interceptats es mostraran contínuament. Per aturar el flux, cal prémer la combinació de tecles Ctrl + C.

Si executeu l’ordre sense opcions i filtres addicionals, veureu el següent format per mostrar els paquets seguits:

22: 18: 52.597573 IP vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: Banderes [P.], seq 1: 595, ack 1118, guanyar 6494, opcions [nop, nop, TS val 257060077 ecr 697597623], longitud 594

On es ressalta el color:

  • blau: el moment de recepció del paquet;
  • taronja - versió del protocol;
  • verd - adreça de l'emissor;
  • porpra: l'adreça del destinatari;
  • gris: informació addicional sobre tcp;
  • vermell: mida del paquet (que es mostra en bytes).

Aquesta sintaxi té la capacitat de sortir a la finestra "Terminal" sense l’ús d’opcions addicionals.

Captura el trànsit amb l’opció -v

Com se sap de la taula, l'opció -v li permet augmentar la quantitat d'informació. Considerem un exemple. Comproveu la mateixa interfície:

sudo tcpdump -v -i ppp0

Exemple:

Aquí podeu veure que la línia següent apareixia a la sortida:

IP (tos 0x0, ttl 58, id 30675, desplaçament 0, banderes [DF], proto TCP (6), longitud 52

On es ressalta el color:

  • taronja - versió del protocol;
  • blau: la vida del protocol;
  • verd: la longitud de la capçalera del camp;
  • porpra: versió del paquet tcp;
  • vermell: mida del paquet.

També a la sintaxi de comandes podeu escriure l’opció -vv o bé -vvv, que augmentarà encara més la quantitat d’informació que es mostra a la pantalla.

L’opció -w i -r

La taula d'opcions va esmentar la possibilitat de desar totes les dades de sortida en un fitxer separat per tal que es puguin visualitzar més endavant. L'opció és responsable d'això. -w. És molt senzill d’utilitzar, simplement introduïu-lo a l’ordre i introduïu el nom del futur fitxer amb l’extensió ".pcap". Penseu en tot l’exemple:

sudo tcpdump -i ppp0 -w file.pcap

Exemple:

Tingueu en compte: mentre escriviu registres a un fitxer, no es mostra cap text a la pantalla "Terminal".

Quan vulgueu veure la sortida enregistrada, heu d’utilitzar l’opció -rseguit del nom del fitxer enregistrat anteriorment. S'aplica sense altres opcions i filtres:

sudo tcpdump -r file.pcap

Exemple:

Ambdues opcions són perfectes en els casos en què heu de guardar grans quantitats de text per a l'anàlisi posterior.

Filtrat IP

Des de la taula de filtre, ho sabem dst us permet visualitzar a la pantalla de la consola només els paquets que s’han rebut per l’adreça especificada a la sintaxi de l’ordre. Per tant, és molt convenient veure els paquets rebuts pel vostre ordinador. Per fer-ho, l’equip només ha d’especificar la vostra adreça IP:

sudo tcpdump -i ppp0 ip dst 10.0.6.67

Exemple:

Com podeu veure, a més dst, a l’equip, també vam registrar el filtre ip. En altres paraules, vam dir a l’ordinador que en seleccionar paquets prestaria atenció a la seva adreça IP, i no a altres paràmetres.

Per IP, podeu filtrar i enviar paquets. A l’exemple que donem de nou la nostra IP. És a dir, ara farem un seguiment de quins paquets s'envien des del nostre ordinador a altres adreces. Per fer-ho, executeu l’ordre següent:

sudo tcpdump -i ppp0 ip src 10.0.6.67

Exemple:

Com podeu veure, hem canviat el filtre de la sintaxi de l’ordre. dst on src, donant així la màquina a la recerca del remitent per IP.

Filtratge HOST

Per analogia amb la IP de l’equip, podem especificar un filtre amfitrióper eliminar paquets amb l'amfitrió d’interès. És a dir, en la sintaxi, en lloc de l'adreça IP del remitent / destinatari, haureu d'especificar el seu amfitrió. Sembla així:

sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com

Exemple:

A la imatge es pot veure això "Terminal" Només es mostren els paquets que s’han enviat des de l’IP a google.com host. Com podeu veure, en comptes de google host, podeu introduir-ne qualsevol.

Igual que amb el filtratge IP, la sintaxi és: dst es pot substituir per srcPer veure els paquets que s’envien al’ordinador:

sudo tcpdump -i ppp0 src amfitrió google-public-dns-a.google.com

Nota: el filtre d’amfitrió ha de ser després dst o src, en cas contrari l’ordre generarà un error. En el cas de filtratge IP, al contrari, dst i src es troben davant del filtre IP.

Filtreu i / o

Si heu d’utilitzar diversos filtres a la vegada en una sola ordre, haureu d’aplicar un filtre. i o bé o bé (depèn del cas). En especificar els filtres a la sintaxi i separar-los amb aquests operadors, els feu "funcionar" com a únics. En un exemple, sembla així:

sudo tcpdump -i ppp0 ip dst 95.47.144.254 o ip src 95.47.144.254

Exemple:

Des de la sintaxi de comandes es pot veure que es vol mostrar "Terminal" tots els paquets que s’han enviat a l’adreça 95.47.144.254 i als paquets rebuts per la mateixa adreça. També podeu canviar algunes variables d’aquesta expressió. Per exemple, en lloc d’IP, especifiqueu HOST o substituïu directament les adreces.

Filtreu el port i posicioneu-lo

Filtre port perfecte per a quan necessiteu obtenir informació sobre paquets amb un port específic. Per tant, si només voleu veure respostes o consultes DNS, heu d’especificar el port 53:

sudo tcpdump -vv -i port ppp0 53

Exemple:

Si voleu veure els paquets http, heu d’introduir el port 80:

sudo tcpdump -vv -i port ppp0 80

Exemple:

Entre altres coses, és possible fer un seguiment immediat del rang de ports. Per fer-ho, apliqueu el filtre portrange:

sudo tcpdump portrange 50-80

Com podeu veure, juntament amb el filtre portrange No cal especificar opcions addicionals. Només heu de configurar l’interval.

Protocol de filtratge

També podeu mostrar només el trànsit que correspon a qualsevol protocol. Per fer-ho, utilitzeu el nom d'aquest protocol com a filtre. Vegem un exemple udp:

sudo tcpdump -vvv -i ppp0 udp

Exemple:

Com podeu veure a la imatge, després d’executar l’ordre en "Terminal" només es van mostrar els paquets amb el protocol udp. En conseqüència, podeu filtrar per altres persones, per exemple, arp:

sudo tcpdump -vvv -i ppp0 arp

o bé tcp:

sudo tcpdump -vvv -i ppp0 tcp

Filtra la xarxa

Operador net ajuda a filtrar paquets basant-se en la designació de la seva xarxa. És tan fàcil d'utilitzar com la resta: cal especificar l’atribut a la sintaxi net, després introduïu l’adreça de xarxa. Heus aquí un exemple d’aquesta ordre:

sudo tcpdump -i ppp0 net 192.168.1.1

Exemple:

Filtre per mida del paquet

No hem considerat dos filtres més interessants: menys i major. De la taula amb filtres, sabem que serveixen per produir més paquets de dades (menys) o menys (major) la mida especificada després de l’entrada de l’atribut.

Suposem que només volem controlar els paquets que no superin els 50 bits, llavors l’ordre apareixerà així:

sudo tcpdump -i ppp0 menys 50

Exemple:

Ara anem a mostrar "Terminal" paquets de més de 50 bits:

sudo tcpdump -i ppp0 major 50

Exemple:

Com podeu veure, s’utilitzen igualment, l’única diferència en el nom del filtre.

Conclusió

Al final de l'article podem concloure que l'equip tcpdump - Aquesta és una gran eina amb la qual podeu fer un seguiment de qualsevol paquet de dades transmès per Internet. Però per a això no n'hi ha prou amb introduir el propi comandament en "Terminal". Per aconseguir el resultat desitjat, s’obtindrà només si utilitzeu tot tipus d’opcions i filtres, així com les seves combinacions.