netstat( statistici de rețea ) este un utilitar de linie de comandă care afișează starea conexiunilor TCP (atât la intrare, cât și la ieșire), tabelele de rutare, numărul de interfețe de rețea și statisticile protocoalelor de rețea. Disponibil pe sistemele de operare UNIX și Windows . Scopul principal al utilitarului este de a găsi probleme de rețea și de a determina performanța rețelei.
Pe Linux, utilitarul netstat clasic din pachetul „net-tools” a primit o alternativă mai nouă, utilitarul ss din pachetul „ iproute2 ”. [1] [2]
Comanda netstat afișează conținutul diferitelor structuri de date legate de rețea în diferite formate, în funcție de opțiunile specificate.
Prima formă a comenzii arată o listă de socket-uri active ( socket -uri ) pentru fiecare protocol. A doua formă selectează una dintre alte câteva structuri de date de rețea. Cea de-a treia formă prezintă statistici de redirecționare dinamică a pachetelor pe interfețele de rețea configurate; argumentul interval specifică câte secunde sunt colectate informații între afișările succesive.
Valoarea implicită pentru argumentul de sistem este /unix; pentru argumentul de bază, valoarea implicită este /dev/kmem.
-A | Arată starea tuturor prizei; de obicei, socketurile utilizate de procesele serverului nu sunt afișate. |
-A | Afișați adresele oricăror blocuri de control de protocol asociate cu socket-uri; folosit pentru depanare. |
-b | Afișează executabilul implicat în crearea fiecărei conexiuni sau portul care așteaptă. Uneori, executabilele cunoscute conțin mai multe componente independente. Apoi este afișată secvența componentelor implicate în crearea conexiunii sau portul de așteptare. În acest caz, numele fișierului executabil este în partea de jos între paranteze [ ], în partea de sus este componenta pe care o apelează și așa mai departe până când se ajunge la TCP/IP. Rețineți că această abordare poate dura mult timp și necesită permisiuni suficiente. |
-i | Afișați starea interfețelor auto-configurate. Interfețele care sunt configurate static pe sistem, dar care nu sunt găsite la momentul pornirii, nu sunt afișate. |
-n | Afișați adresele de rețea ca numere. netstat arată de obicei adresele ca caractere. Această opțiune poate fi utilizată cu orice format de afișare. |
-r | Afișați tabelele de rutare. Când este utilizat cu opțiunea -s, afișați statisticile de rutare. |
-s | Afișați informații statistice despre protocoale. Când este utilizat cu opțiunea -r, afișați statisticile de rutare. |
-f adresa_familie | Limitați afișarea statisticilor sau a adreselor blocurilor de control la numai adresa_familie specificată, care poate fi specificată ca:
inet Pentru familia de adrese AF_INET sau unix Pentru familia de adrese AF_UNIX . |
-i interfață | Selectați informații despre interfața specificată într-o coloană separată; implicit (pentru a treia formă a comenzii), este utilizată interfața cu cea mai mare cantitate de informații transferate de la ultima repornire a sistemului. Interfața poate fi oricare dintre interfețele listate în fișierul de configurare a sistemului, cum ar fi emd1 sau lo0. |
-p | Afișează ID-ul procesului/numele procesului care a creat soclu-ul (-p, --programs afișează PID/numele programului pentru socket-uri) |
Prize active
Pentru fiecare socket activ, acesta arată protocolul, dimensiunea cozilor de primire și primire (în octeți), adresa locală și de la distanță și starea internă a protocolului. Formatul de caractere utilizat în mod obișnuit pentru afișarea adreselor de socket este:
gazdă.portdacă este specificat un nume de gazdă, fie:
reţea.portdacă adresa socket-ului specifică o rețea, dar nu o anumită gazdă. Numele gazdei și al rețelei sunt preluate din intrările corespunzătoare din fișierul /etc/hosts sau /etc/networks .
Dacă numele de rețea sau gazdă pentru adresa nu este cunoscut (sau dacă este specificată opțiunea -n), adresa este afișată ca numere. Adresele și porturile nespecificate sau „generalizate” sunt afișate ca „*”. Pentru mai multe informații despre convențiile de denumire pe Internet, consultați pagina de manual inet .
Socket-uri TCP
Pentru socket-urile TCP, următoarele valori de stare sunt valide:
ÎNCHIS | Închis Priza nu este folosită. |
ASCULTARE (ASCULTARE) | Se așteaptă conexiunile de intrare. |
SYN_SENT | Încercarea activă de a stabili o conexiune. |
SYN_RECEIVED | Sincronizarea inițială a conexiunii este în curs. |
STABILIT | Conexiune stabilita. |
CLOSE_WAIT | Partea de la distanță s-a deconectat; așteptând să se închidă priza. |
FIN_WAIT_1 | Priza este închisă; deconectarea conexiunii. |
ÎNCHIDERE | Priza este închisă, apoi partea de la distanță deconectată; Se așteaptă confirmarea. |
LAST_ACK | Partea de la distanță deconectată, apoi priza este închisă; Se așteaptă confirmarea. |
FIN_WAIT_2 | Priza este închisă; așteptând ca partea de la distanță să se deconecteze. |
TIMP DE AȘTEPTARE | Socket-ul este închis, dar așteaptă procesarea pachetelor încă în rețea. |
Structuri de date de rețea
Datele afișate depind de alegerea opțiunii, -i sau -r. Dacă sunt specificate ambele opțiuni, netstat va alege -i.
Afișați tabelul de rutare
Tabelul de rutare arată toate rutele (rutele) disponibile și starea fiecăreia dintre ele. Fiecare rută constă dintr-o gazdă sau o rețea de destinație și un gateway care este utilizat pentru a redirecționa pachetele. Coloana de steaguri arată starea rutei (U dacă este activată), dacă ruta duce la un gateway (G), dacă ruta a fost creată dinamic cu o redirecționare (D) și dacă adresa unihost (H) este utilizată în schimb a adresei de rețea. De exemplu, interfața furnizorului de transport loopback lo0 are întotdeauna indicatorul H.
Sunt create rute directe pentru fiecare interfață conectată la gazda locală; câmpul gateway pentru astfel de intrări indică adresa interfeței de ieșire.
Coloana refcnt arată numărul curent de utilizări active pentru traseu. Protocoalele orientate spre conexiune folosesc de obicei o singură rută în timpul unei conexiuni, în timp ce protocoalele fără conexiune primesc o rută pentru fiecare trimitere către aceeași destinație.
Coloana de utilizare arată numărul de pachete trimise de-a lungul rutei.
Coloana interfață arată interfața de rețea utilizată de rută.
Rezumat statistici de transfer de date
Când este dat argumentul interval, netstat afișează un tabel cu statistici rezumative despre pachetele transmise, erori și coliziuni. Prima linie de date afișată, precum și fiecare a 24-a linie ulterioară, conține informații statistice rezumative de la ultima repornire a sistemului. Fiecare linie ulterioară arată datele acumulate pentru următorul interval specificat în linia de comandă de la ultima afișare.
Tabelele kernel se pot schimba pe măsură ce sunt procesate de netstat, rezultând rezultate incorecte sau incomplete.
Comenzi Unix | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|