Thursday, March 5, 2009

Monitorizarea retelei cu netstat

Incercati sa tastati in consola "netstat" si veti optine o lista imensa de informatii , chiar mai mult decat puteti da scrooll , si pt a lamuri lucrurile exista posibilitatea de a extrage numai informatia dorita din totalul informatiilor afishate de netstat
De exemplu, daca se doreste numai vizualizarea conexiunilor tcp se tasteaza comanda "#netstat --tcp" care afisiaza conexiunile tcp inspre si dinspre PC.
In exemplul de mai jos se poate intelege clar informatiile afishate
993 (imaps), 143 (imap), 110 (pop3), 25 (smtp), and 22 (ssh). 389 (ldap).

Nota: Pentru a acelera afishare se poate utiliza o optiune adaugatoare --numeric care va afisha numai IP-urile la care sa facut conexiunea.


% netstat --tcp --numeric
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.128.152:993 192.168.128.120:3853 ESTABLISHED
tcp 0 0 192.168.128.152:143 192.168.128.194:3076 ESTABLISHED
tcp 0 0 192.168.128.152:45771 192.168.128.34:389 TIME_WAIT
tcp 0 0 192.168.128.152:110 192.168.33.123:3521 TIME_WAIT
tcp 0 0 192.168.128.152:25 192.168.231.27:44221 TIME_WAIT
tcp 0 256 192.168.128.152:22 192.168.128.78:47258 ESTABLISHED

I cazul in care doriti sa vedeti cu ce se mai ocupa calculatorul in lipsa voastra si anume ce porturi sunt ascultate si de cine puteti utiliza comanda cu optiunea "#netstat --tcp --listening", la care se mai poate adauga si parametrul "--programs" care mai indica si ce proces este implicat in ascultarea si receptionare pe un anume port.
In exemplul de mai jos sunt implicate urmatoarele procese pe porturile 80 (www), 443 (https), 22 (ssh), si 25 (smtp);

# sudo netstat --tcp --listening --programs
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:www *:* LISTEN 28826/apache2
tcp 0 0 *:ssh *:* LISTEN 26604/sshd
tcp 0 0 *:smtp *:* LISTEN 6836/
tcp 0 0 *:https *:* LISTEN 28826/apache2

Nota: Utilizand optiunea adaugatoare "--all" afiseaza ambele, conexiunile si porturile ascultate.
Nota: Pentru a putea utiliza comanda sudo, acest pachet trebuie sa fie instalat in systemul Dumneavoastra.

Urmatorul exemplu "#netstat --route" ne va afisha tabela de route-are. Pentru un simplu utilizator aceasta comanda nu poate fi de mare folos dar pentru un administrator de retea poate fi foarte utila daca are pe sistem mai multe placi de retea sau pe o placa de retea sa fie atribuite mai multe adrese IP.

% netstat --route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 1 0 0 eth0

Ultimul exemplu netstat utilizeaza optiunea "--statistics" care afishaza statisticele de retea, folosind aceasta optiune de una singura va afisa toate statisticile IP, TCP, UDP, si ICMP, iar pt a sistematiza si organiza fluxul de informatii provenit de la aceasta optiune se pot utiliza sub otiuni ajutatoare care pot delimita anumite informatii necesari. De exemplu pentru a vizualiza statisticile output din " --row " combinate cu uptime se poate vizualiza genereaza masina voastra zilnic.

% netstat --statistics --raw
Ip:
620516640 total packets received
0 forwarded
0 incoming packets discarded
615716262 incoming packets delivered
699594782 requests sent out
5 fragments dropped after timeout
3463529 reassemblies required
636730 packets reassembled ok
5 packet reassembles failed
310797 fragments created
// ICMP statistics truncated

Nota: Pt cei care nu se impaca foarte bine cu consola se pot folosi abrevieri ale optiunilor prezentate mai sus. (e.g. netstat -tn, netstat -tlp, netstat -r, si netstat -sw).

Pentru a putea aprecia adevarata putere a acestui mic utilitar incercati #man 8 netstat।

SURSA

No comments:

Post a Comment