Cum să monitorizați activitatea de rețea pe un sistem Linux

Există multe motive pentru care ați putea dori să monitorizați activitatea de rețea pe sistemul dumneavoastră Linux. Este posibil să depanați o problemă de rețea, să doriți să vă asigurați că nu există aplicații malițioase care creează o activitate de rețea suspectă sau pur și simplu să doriți să știți dacă vreun proces sună acasă. Oricare ar fi motivul, iată câteva metode pentru a vedea ce procese de pe sistemul dvs. sunt implicate în activitatea de rețea și cu cine comunică.

În acest tutorial veți învăța:

  • Cum să monitorizați conexiunile de rețea și serviciile de ascultare cu netstat
  • Cum să monitorizați conexiunile de rețea și serviciile de ascultare cu lsof
  • Cum să monitorizați conexiunile de rețea și serviciile de ascultare cu ifconfig
  • Ce instrumente puteți utiliza pentru a examina datele care sunt trimise prin rețea

Cum monitorizați activitatea de rețea pe un sistem Linux

Cerințe software și convenții utilizate

Cerințe software și convenții pentru linia de comandă Linux
Categorie Cerințe, Convenții sau versiunea de software utilizată
Sistem Independent de distribuție
Software netstat, lsof, ifconfig, wireshark, tcpdump
Alte Acces privilegiat la sistemul Linux ca root sau prin comanda sudo.
Convenții # – necesită ca anumite comenzi linux să fie executate cu privilegii de root, fie direct ca utilizator root, fie prin utilizarea comenzii sudo
$ – necesită ca anumite comenzi linux să fie executate ca un utilizator obișnuit fără privilegii

Netstat

Netstat este un utilitar puternic care poate imprima conexiunile de rețea, tabelele de rutare, statisticile interfețelor, conexiunile de mascare și apartenența la multicast. Îl vom folosi pentru a realiza primele.

Instalarea Netstat

Pe Debian și sistemele bazate pe Debian, cum ar fi Ubuntu, folosiți apt.

# apt install net-tools

Pe Red Hat Enterprise Linux și sistemele bazate pe Red Hat, folosiți yum,

# yum install net-tools

Pe sistemele bazate pe Arch, folosiți pacman.

# pacman -S net-tools
Căutăm analist de sisteme Linux !
Institutul de Geofizică al UAF, caută un analist de sisteme Linux cu experiență pentru a se alătura echipei sale de analiști și ingineri de cercetare a infrastructurii cibernetice. LOCALIZARE: Fairbanks, Alaska, SUA
APLICĂ ACUM
NOTĂ
În exemplele de mai jos folosim o instalare proaspătă a RHEL 8 care rulează în VirtualBox cu adițiile pentru oaspeți instalate

Vezi procesele de ascultare

În primul rând, să vizualizăm procesele care ascultă conexiuni. Pentru a face acest lucru, introduceți următoarea comandă.

$ sudo netstat -tulpen

În această comandă t afișează TCP conexiuni, u afișează conexiunile UDP, l afișează doar socket-urile care ascultă, p afișează programul căruia îi aparține conexiunea,e afișează informații extinse, iar n reprezintă adresele, utilizatorii și porturile numeric.

netstat -tulpen output

Când se ia în considerare modelul client-server pe care se bazează majoritatea programelor de rețea, procesele de ascultare pot fi considerate ca fiind programe care se află în modul „server”. Nu este nimic surprinzător în ceea ce privește rezultatul, având în vedere configurația noastră. Acestea sunt toate procesele la care v-ați aștepta să fie ascultate pentru conexiuni de rețea pe o instalare proaspătă a RHEL 8 care rulează înVirtualBox.
Pentru fiecare proces care ascultă, puteți vedea protocolul utilizat, adresa locală și portul pe care ascultă, utilizatorul sub care rulează și numele PID/Program. Există o distincție importantă de remarcat aici. Pentru conexiuniletcp4/udp4(listate simplu catcpșiudp) în cazul în careLocal Addresseste listat ca0.0.0.0, procesul ascultă conexiuni de la orice mașină care este capabilă să se conecteze la el în rețea, în timp ce atunci când este listat ca127.0.0.1, ascultă doar conexiuni pe localhost (mașina pe care rulează sau el însuși) și nu poate fi conectat de alte calculatoare din rețea. Aceeași distincție este valabilă și pentrutcp6/udp6atunci când se compară unLocal Addressde::(cu care se confruntă rețeaua) și::1(doar localhost).

Vezi toate conexiunile de rețea

Acum să aruncăm o privire la toate conexiunile de rețea actuale. Pentru a face acest lucru, introduceți următoarea comandă, care este similară cu cea precedentă, cu excepția faptului că folosim -a pentru a vizualiza toate socket-urile în loc de -l pentru a vizualiza doar socket-urile de ascultare.

$ sudo netstat -atupen

Pe lângă faptul că ne arată ce software avem la ascultare pentru conexiuni ca „servere”, această comandă ne arată, de asemenea, conexiunile stabilite în prezent la acel software și orice conexiuni de rețea stabilite pe care le avem folosind un software care acționează ca un „client”, cum ar fi un browser web.

netstat -atupen output

În captura de ecran veți observa 2 conexiuni în stareaESTABLISHED. Încă o dată, nu există surprize aici. Una dintre ele aparține NetworkManager și funcționează ca un client DHCP pentru a activa rețeaua de la serverul gateway(În acest caz, mașina gazdă). Celălalt este o conexiune SSH la mașină pe care am realizat-o după ce am redirecționat portul serviciului ssh cu VirtualBox. Dacă am fi văzut ceva neașteptat aici, atunci ar putea fi un motiv pentru investigații suplimentare.

Vezi conexiunile stabilite

Se poate să vă aflați într-o situație în care doriți să vizualizați doar conexiunile ESTABLISHED. Acest lucru este la fel de simplu ca și cum ați redirecționa ieșirea din netstat către grep, astfel:

$ sudo netstat -atupen | grep ESTABLISHED

sudo netstat -atupen | grep ESTABLISHED output

Am introdus comanda de mai sus după ce am navigat la wikipedia.com în firefox și captura de ecran surprinde conexiunile stabilite de firefox atunci când ajunge pe site. După cum puteți vedea, există patru servere la care firefox s-a conectat; 91.198.174.192, 172.217.23.100, 216.58.215.67 și 104.111.215.142. Pentru a vedea cui aparțin aceste servere putem interoga adresele ip cu whois astfel:

$ whois 91.198.174.192| less

Făcând acest lucru pentru fiecare dintre ele, se constată că ele aparțin Wikimedia, Google, Google și, respectiv, Akamai. Acest lucru are sens având în vedere că Wikimedia deține și găzduiește wikipedia și este foarte frecvent ca site-urile să încarce resurse care sunt găzduite pe servere deținute de Google și Akamai. De fapt, examinarea codului sursă al paginii de pornire a wikipedia arată că aceasta încarcă app-badge-ul Google Play Store de pe google.com și app-badge-ul Apple AppStore de pe apple.com.
Navigația la urls pentru aceste 2 app-badge-uri în mod individual și emiterea comenzii netstat de mai sus verifică într-adevăr că acestea sunt găzduite pe servere deținute de Google și, respectiv, Akamai.

Dacă acest lucru v-a trezit interesul pentru netstat, atunci avem un articol pe care îl puteți citi pentru a Aflați mai multe despre utilizarea comenzii netstat

ss

Comanda netstat a fost mult timp preferata administratorilor de sistem, însă recent a fost înlocuită de comanda ss care se laudă că este mai rapidă, mai ușoară și mai ușor de citit decât netstat. Să vedem cum să realizăm aceleași acțiuni ca cele efectuate mai sus folosind ss. Ss are, de asemenea, o opțiune -e pentru a vizualiza informații extinse, dar această opțiune a fost omisă din exemplele de mai jos deoarece produce informații suplimentare care pot avea ca rezultat o ieșire mai puțin lizibilă.

Vezi procesele de ascultare

Pentru a vedea toate procesele de ascultare introduceți următoarele:

Pentru a vedea toate procesele de ascultare introduceți următoarele.

$ sudo ss -tlunp

În această comandă t afișează TCP conexiuni, l afișează numai socket-urile de ascultare, u afișează conexiunile UDP, n reprezintă numeric adresele, utilizatorii și porturile, iar p arată programul căruia îi aparține conexiunea.

Vizualizează toate conexiunile de rețea

Pentru a vizualiza toate conexiunile de rețea introduceți următoarele, unde a înlocuiește l și afișează toate socket-urile de rețea, nu doar pe cele de ascultare.

$ sudo ss -taunp

Vizualizează conexiunile stabilite

Dacă -a sau -l nu sunt incluse, atunci ss va afișa doar conexiunile stabilite. Pentru a vizualiza doar conexiunile stabilite introduceți următoarele.

$ sudo ss -tunp

lsof

În cazul în care netstat și ss nu v-au fost de ajuns, vă prezentăm lsof. Lsof este utilizat pentru a lista fișierele deschise. GNU/Linux a moștenit principiul de proiectare UNIX conform căruia totul este un fișier; acest lucru include conexiunile de rețea. Ca urmare, lsof poate fi folosit pentru a vizualiza activitatea rețelei într-o manieră similară cu comenzile menționate mai sus.

Vezi toate conexiunile de rețea

Pentru a vizualiza toate conexiunile de rețea introduceți următoarele.

$ sudo lsof -nP -i

În această comandă n reprezintă adresele numeric, P reprezintă porturile numeric, iar i suprimă listarea oricăror fișiere deschise care nu sunt considerate fișiere de rețea.

Vizualizează conexiunile stabilite

Pentru a vizualiza numai conexiunile stabilite introduceți următoarele, unde comutatoarele suplimentare listează toate conexiunile stabilite TCP.

$ sudo lsof -nP -iTCP -sTCP:ESTABLISHED

Vizualizează procesele de ascultare

Pentru a vizualiza procesele de ascultare folosind lsof introduceți următoarele.

$ sudo lsof -nP -iTCP -sTCP:LISTEN

Aceasta va rata toate procesele care ascultă prin UDP, așa că ar putea fi de dorit să introduceți în schimb următoarele pentru a le include și pe acestea.

$ sudo lsof -nP -i | grep 'LISTEN\|UDP'

Monitorizarea datelor trimise prin rețea

Am văzut cum netstat, ss și ifconfig pot fi folosite pentru a monitoriza ce conexiuni de rețea se fac și către cine, dar adesea este de dorit să se vadă exact ce date sunt trimise prin rețea. Pentru a realiza acest obiectiv avem nevoie de aplicații capabile să adulmece pachete. Două programe specializate în acest domeniu sunt tcpdump și wireshark.
Am mai scris anterior ghiduri despre cum se instalează wireshark pe RHEL 8, Bazele analizatorului de protocoale de rețea Wireshark pe Linux, Filtrarea pachetelor în Wireshark pe Kali Linux, iar secțiunea Network Monitoring din sistemul Linux și monitorizarea hardware eficientizată include o introducere frumoasă în tcpdump.

Concluzie

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.