Exemple de TCpdump în Linux

Anonim

Exemple de TCPDump în Linux

Dacă aveți nevoie să analizați sau să interceptați pachetele de rețea în Linux, este mai bine să utilizați un utilitar de consolă pentru acest lucru. Tcpdump. . Dar problema apare în gestionarea destul de complicată. Un utilizator obișnuit va părea să lucreze cu utilitatea incomod, dar numai la prima vedere. Articolul va fi descris modul în care se aranjează TCPDMP, care este sintaxă, cum să o utilizați și vor fi prezentate numeroase exemple de utilizare a acesteia.

Citiți și: Manuale de configurare a conexiunilor la Internet în Ubuntu, Debian, Ubuntu Server

Instalare

Majoritatea dezvoltatorilor de sisteme de operare Linux sunt incluse în utilitatea TCPDump în lista preinstalată, dar, dacă din anumite motive lipsește în distribuția dvs., îl puteți descărca întotdeauna și îl puteți instala prin terminal. Dacă sistemul dvs. de operare se bazează pe Debian, și acesta este Ubuntu, Linux Monet, Kali Linux și cum ar fi, trebuie să executați această comandă:

Sudo apt instalează tcpdump

Când instalați, trebuie să introduceți o parolă. Rețineți că atunci când nu este afișat, acesta nu este afișat, de asemenea, pentru a confirma instalarea pe care trebuie să introduceți simbolul "D" și apăsați ENTER.

Dacă aveți pălărie roșie, Fedora sau CentOS, atunci echipa de instalare va avea următorul formular:

Sudo yam instalați tcpdump

După instalarea utilității, acesta îl poate folosi imediat. Despre acest lucru și multe alte lucruri vor fi informate cu privire la text.

Citiți și: Ghid de instalare PHP în Ubuntu Server

Sintaxă

Ca orice altă comandă, TCPDump are propria sa sintaxă. Știind-o, puteți seta toți parametrii necesari care vor fi luați în considerare la executarea comenzii. Sintaxa este după cum urmează:

Opțiuni TCPDump - Interfață filtru

Când utilizați comanda, trebuie să specificați interfața pentru urmărire. Filtrele și opțiunile nu sunt variabile obligatorii, dar vă permit să efectuați setări mai flexibile.

Opțiuni

Cel puțin opțiunea nu indică neapărat, trebuie încă să listei. Tabelul demonstrează toate lista lor, ci doar cele mai populare, dar ele sunt mai mult decât suficiente pentru a rezolva majoritatea sarcinilor.
Opțiune Definiție
-A. Vă permite să sortați pachetele cu format ASCII
- l. Adaugă o funcție de defilare
- După introducerea, trebuie să specificați interfața de rețea care va fi urmărită. Pentru a începe urmărirea tuturor interfețelor, introduceți cuvântul "orice" după opțiune.
-C. Completează procesul de urmărire după verificarea numărului specificat de pachete
-w. Generează un fișier text cu raport de verificare
-E. Afișează nivelul pachetului de conectare la Internet
- l. Afișează numai acele protocoale care acceptă interfața de rețea specificată
-C. Creează un alt fișier în timp ce înregistrează un pachet dacă dimensiunea sa este mai mare decât cea specificată
-R. Deschide un fișier de citire care a fost creat utilizând opțiunea -W.
-J. Formatul de marcaje va fi utilizat pentru înregistrarea pachetelor
-J. Vă permite să vizualizați toate formatele de marcaj disponibile disponibile.
-G. Folosit pentru a crea un fișier cu jurnale. Opțiunea necesită, de asemenea, instrucțiunile valorii de timp, după care va fi creat un nou jurnal.
-V, -VV, -VVV În funcție de numărul de caractere din opțiune, ieșirea de comandă va deveni mai detaliată (creșterea este direct proporțională cu numărul de caractere)
-F. În ieșire prezintă numele domeniului adresei IP
-F. Vă permite să citiți informațiile de la interfața de rețea, ci din fișierul specificat
-D. Demonstrează toate interfețele de rețea care pot fi utilizate
-N. Dezactivează afișarea numelor de domenii
-Z. Specifică utilizatorul în contul căruia vor fi create toate fișierele.
-K. Skip Analiză de testare
-Q. Demonstrarea informațiilor scurte
-H. Vă permite să detectați anteturile 802.11s
- Utilizate la capturarea pachetelor în modul de monitorizare

După ruperea opțiunilor, chiar mai jos ne mutăm direct la aplicațiile lor. Între timp, vor fi luate în considerare filtrele.

Filtre

După cum sa menționat la începutul articolului, puteți adăuga filtre la sintaxa TCpdump. Acum, cele mai populare dintre ele vor fi luate în considerare:

Filtru Definiție
Gazdă. Servește pentru a indica numele gazdei
net. Specifică subrețele și rețeaua IP
IP. Utilizate pentru a specifica adresa protocolului
SRC. Afișează pachetele trimise de la adresa specificată.
DST. Afișează pachetele obținute prin adresa specificată.
ARP, UDP, TCP Filtrarea prin unul dintre protocoale
Port. Afișează informații referitoare la un anumit port
și, Servește pentru a combina mai multe filtre în echipă
mai puțin, mai mare Ieșire pachet mai mică sau mai mult dimensiune specificată

Toate filtrele de mai sus pot fi combinate între ele, astfel încât în ​​emiterea comenzii veți observa numai informațiile pe care doriți să le vedeți. Pentru a înțelege mai multe detalii în utilizarea filtrelor de mai sus, este în valoare de exemple de conducere.

Consultați și: comenzi frecvent utilizate în terminalul Linux

Exemple de utilizare

Opțiunile de sintaxă de comandă TCPDump utilizate frecvent vor fi afișate acum. Nu va fi posibil să le enumerați, deoarece variațiile lor pot fi un set infinit.

Vizualizați lista de interfețe

Se recomandă verificarea inițial a listei tuturor interfețelor sale de rețea care pot fi urmărite. Din tabelul de mai sus, știm că pentru acest lucru trebuie să utilizați opțiunea -d, așa că în terminal, executați următoarea comandă:

Sudo tcpdump -d.

Exemplu:

Executați comanda TCpdump cu opțiunea D în Linux

După cum puteți observa, în exemplul există opt interfețe care pot fi vizualizate utilizând comanda TCPDump. Articolul va fi dat exemple cu PPP0, puteți utiliza oricare altul.

Captură normală de trafic

Dacă aveți nevoie să urmăriți o interfață de rețea, puteți face acest lucru utilizând opțiunea -I. Nu uitați să introduceți numele interfeței după introducerea acesteia. Iată un exemplu de execuție a unei astfel de echipe:

Sudo tcpdump -i ppp0

Rețineți: În fața comenzii în sine trebuie să introduceți "sudo", deoarece necesită dreptul de superuser.

Exemplu:

Un exemplu de afișare a traficului de interfață de rețea utilizând comanda TCPDump fără a utiliza opțiuni și filtre

Notă: După apăsarea ENTER în "Terminal", pachetele interceptate vor continuu. Pentru a opri fluxul lor, trebuie să apăsați combinația de taste CTRL + C.

Dacă executați o comandă fără opțiuni și filtre suplimentare, veți vedea următorul format de afișare pentru pachetele monitorizate:

22: 18: 52.597573 IP VRRP-topf2.p.mail.ru.https> 10.0.6.67.35482: Steaguri [P.], SEQ 1: 595, ACK 1118, Win 6494, Opțiuni [Nop, NOP, TS Val 257060077 ECR 697597623], lungime 594

Unde este alocată culoarea:

  • albastru - timpul de primire a pachetului;
  • Orange - versiunea protocolului;
  • verde - adresa expeditorului;
  • Purple - adresa destinatarului;
  • gri - informații suplimentare despre TCP;
  • Roșu - dimensiunea pachetului (afișat în octeți).

Această sintaxă are capacitatea de a ieși în fereastra "terminal" fără a utiliza opțiuni suplimentare.

Capturarea traficului cu opțiunea -V

După cum știți din tabel, opțiunea -V vă permite să măriți cantitatea de informații. Vom analiza exemplul. Verificați aceeași interfață:

Sudo tcpdump -v -i ppp0

Exemplu:

Un exemplu de afișare a traficului de interfață de rețea utilizând comanda TCPDump utilizând opțiunea -V în Linux

Aici puteți vedea că următoarea linie a apărut în ieșire:

IP (Tos 0x0, TTL 58, ID 30675, Offset 0, Steaguri [DF], Proto TCP (6), Lungime 52

Unde este alocată culoarea:

  • Orange - versiunea protocolului;
  • albastru - durata de viață a protocolului;
  • Lungimea antetului de câmp verde;
  • Purple - versiunea pachetului TCP;
  • Roșu - dimensiunea pachetului.

De asemenea, în sintaxa de comandă puteți prescrie opțiunea -VV sau -VVV, care vă va permite să măriți în continuare cantitatea de informații afișate pe ecran.

-W și -r opțiune

Tabelul de opțiuni a menționat capacitatea de a salva toate datele afișate într-un fișier separat pentru a fi vizualizat mai târziu. Pentru aceasta corespunde opțiunii -W. Este destul de simplu să o utilizați, să introduceți-o în comandă și apoi introduceți numele fișierului viitor cu extensia ".pcap". Luați în considerare toate exemplul:

Sudo tcpdump -i ppp0 -w file.pcap

Exemplu:

Exemplu - opțiunea în comanda TCpdump în Linux

Rețineți: În timpul jurnalelor de înregistrare la fișierul de pe ecranul "Terminal", nu este afișat niciun text.

Când doriți să vizualizați ieșirea înregistrată, trebuie să utilizați opțiunea -r, după care scrieți numele fișierului înregistrat anterior. Se aplică fără alte opțiuni și filtre:

Sudo tcpdump -r file.pcap

Exemplu:

Un exemplu de vizualizare a unui fișier de comandă TCPDump anterior, utilizând opțiunea W

Ambele opțiuni sunt perfect potrivite în cazurile în care aveți nevoie pentru a salva volume mari de text pentru parsarea ulterioară.

Filtrarea prin IP.

Din tabelul de filtru, știm că DST vă permite să afișați consola numai acele pachete obținute de adresa sunt specificate în sintaxa de comandă. Astfel, este foarte convenabil să vizualizați pachetele primite de computer. Pentru a face acest lucru, în comanda trebuie doar să specificați adresa dvs. IP:

Sudo tcpdump -i ppp0 ip dst 10.0.6.67

Exemplu:

Exemplu de utilizare a filtrului DST și IP la comanda TCPDump din Linux

După cum puteți vedea, în plus față de DST, am prescris și un filtru IP. Cu alte cuvinte, am spus computerului astfel încât atunci când selectați pachete, el a acordat atenție adresei lor IP și nu altor parametri.

IP pot fi filtrate și trimise pachete. În exemplul, vom da din nou IP-ul nostru. Adică, acum urmăm ce pachete sunt plecate de pe computerul nostru la alte adrese. Pentru a face acest lucru, trebuie să executați următoarea comandă:

Sudo tcpdump -i ppp0 ip src 10.0.6.67

Exemplu:

Exemplu de utilizare a filtrului SRC și IP în comanda TCPDump din Linux

După cum puteți vedea, în sintaxa de comandă, am schimbat filtrul DST pe SRC, spunând astfel mașinii să caute expeditorul prin IP.

Filtrare gazdă

Prin analogie cu IP în echipă, putem specifica filtrul gazdă pentru a coase pachetele cu gazda de interes. Aceasta este, în sintaxă, în loc de adresa IP a expeditorului / destinatarului, va fi necesar să se indice gazda sa. Se pare așa:

Sudo tcpdump -i ppp0 dst gazdă google-public-dns-a.google.com

Exemplu:

Exemplu de utilizare a filtrului DST și gazdă în comanda TCPDump din Linux

În imagine puteți vedea că numai acele pachete trimise de la IP pe Google.com sunt afișate în terminal. Cum pot înțelege, în loc de gazda Google, puteți introduce oricare altul.

Ca și în cazul filtrării prin IP, în sintaxa DST, puteți înlocui SRC pentru a vedea pachetele trimise pe computer:

Sudo tcpdump -i ppp0 src gazdă google-public-dns-a.google.com

Notă: Filtrul gazdă trebuie să stea după DST sau SRC, altfel comanda va da o eroare. În cazul filtrării prin IP, dimpotrivă, standul DST și SRC în fața filtrului IP.

Aplicație și sau filtru

Dacă aveți nevoie să utilizați simultan mai multe filtre în aceeași comandă, atunci trebuie să utilizați și sau să utilizați filtrul (depinde de carcasă). Poziționarea filtrelor în sintaxă și separarea acestora cu acești operatori, "faceți" să le lucrați ca unul. Cu privire la exemplul arată astfel:

Sudo tcpdump -i ppp0 ip DST 95.47.144.254 sau IP SRC 95.47.144.254

Exemplu:

Exemplu de utilizare a filtrului și sau în comanda TCPDump în Linux

Din sintaxa comenzii, este clar că toate pachetele trimise la "terminalul" sunt afișate pe adresa 95.47.144.254 și pachetele obținute prin aceeași adresă. De asemenea, puteți schimba unele variabile în această expresie. De exemplu, în loc de o ip, specificați-vă gazda sau înlocuiți-vă adresele.

Filtrul portului și portranului

Filtrul de port este perfect în cazul în care aveți nevoie pentru a obține informații despre pachetele cu un port specific. Deci, dacă trebuie să vedeți doar răspunsuri sau solicitări DNS, trebuie să specificați portul 53:

Sudo tcpdump -vv -i ppp0 port 53

Exemplu:

Exemplu de utilizare a filtrului de port în comanda TCPDump din Linux

Dacă doriți să vizualizați pachetele HTTP, trebuie să introduceți portul 80:

Sudo tcpdump -vv -i ppp0 port 80

Exemplu:

Un exemplu de aplicare a filtrului de port în comanda TCPDump din Linux

Printre altele, este posibil să se urmărească o dată gama de porturi. În acest scop, se aplică filtrul de portocale:

Sudo tcpdump portrange 50-80

Exemplu de utilizare a filtrului de portocale în sintaxa de comandă TCPDump în Linux

După cum puteți vedea, într-un ligament cu filtrul portrange, nu este necesar să specificați opțiuni suplimentare. Doar am stabilit gama.

Filtrarea prin protocoale

De asemenea, puteți afișa numai traficul care corespunde oricărui protocol. Pentru a face acest lucru, utilizați numele acestui protocol ca filtru. Vom analiza exemplul UDP:

Sudo tcpdump -vvv -i ppp0 udp

Exemplu:

Exemplu de filtrare a comenzii TCPDump pe protocolul Linux

După cum puteți vedea în imagine, după executarea comenzii în terminal, au apărut doar pachetele cu protocolul UDP. În consecință, puteți filtra și alta, de exemplu, ARP:

Sudo tcpdump -vvv -i ppp0 arp

sau TCP:

Sudo tcpdump -vvv -i ppp0 tcp

Filtru net.

Operatorul net ajută la filtrarea pachetelor prin desemnarea rețelei lor. De asemenea, este ușor de utilizat, precum și restul - trebuie să specificați atributul net în sintaxă, apoi să introduceți adresa de rețea. Iată un exemplu al unei astfel de echipe:

Sudo tcpdump -i ppp0 net 192.168.1.1

Exemplu:

Un exemplu de filtrare a comenzii TCPDump la desemnarea în Linux

Filtrarea pachetelor

Nu am luat în considerare încă două filtre interesante: mai puțin și mai mari. De la masă cu filtre, știm că acestea servesc la pachetele de date de ieșire mai mult (mai puțin) sau mai puțin (mai mare) dimensiuni indicate după introducerea atributului.

Să presupunem că vrem să urmărim numai pachetele care nu depășesc 50 de biți, atunci echipa va avea următoarea formă:

Sudo tcpdump -i ppp0 mai puțin 50

Exemplu:

Filtrarea pachetului pe filtrul de dimensiune mai puțin în comanda TCPDump din Linux

Acum, să vedem pachetele din terminal, a căror dimensiune este mai mult de 50 de biți:

Sudo tcpdump -i ppp0 mai mare 50

Exemplu:

Filtrarea pachetelor pentru dimensiunea lor mai mare filtru în comanda TCPDump din Linux

După cum puteți vedea, ele sunt aplicate în mod egal, diferența este numai în numele filtrului.

Concluzie

La sfârșitul articolului, putem concluziona că echipa Tcpdump. - Acesta este un instrument excelent cu care puteți urmări toate datele transmise pe Internet. Dar pentru acest lucru nu este suficient pentru a intra pur și simplu la comanda în "terminalul". Va fi posibil să se atingă rezultatul dorit numai dacă utilizați tot felul de opțiuni și filtre, precum și combinațiile lor.

Citeste mai mult