15 korisnih 'Primjera naredbi Sockstat' za pronalaženje otvorenih portova u FreeBSD-u


Sockstat je svestrani uslužni program komandne linije koji se koristi za prikaz otvorenih mrežnih i sistemskih utičnica u FreeBSD-u. Uglavnom, sockstat komanda je podrazumevano instalirana u FreeBSD-u i obično se koristi za prikaz imena procesa koji su otvorili određeni mrežni port na FreeBSD sistemu.

Međutim, sockstat također može navesti otvorene utičnice na osnovu verzije protokola (obje IP verzije), na osnovu stanja veze i na kojim portovima se demon ili program povezuje i sluša.

Pročitajte također: 20 korisnih primjera naredbi 'netstat' za provjeru mrežnih veza

Takođe može prikazati međuprocesne komunikacijske utičnice, obično poznate kao Unix domenske utičnice ili IPC. Sockstat naredba u kombinaciji sa grep filterom ili provučena kroz awk uslužni program pokazuje se kao moćan alat za lokalni mrežni stog.

Može smanjiti rezultate za otvorenu vezu na osnovu korisnika koji je vlasnik utičnice, deskriptora datoteke mrežne utičnice ili PID-a procesa koji je otvorio utičnicu.

U ovom vodiču ćemo navesti neke uobičajene primjere korištenja, ali i vrlo moćne, sockstat mrežnog programa komandne linije u FreeBSD-u.

Zahtjevi

  1. Vodič za instalaciju FreeBSD 11.1

1. Navedite sve otvorene portove u FreeBSD-u

Jednostavno izvršena bez ikakvih opcija ili prekidača, sockstat komanda će prikazati sve otvorene utičnice u FreeBSD sistemu, kao što je ilustrovano na slici ispod.

sockstat

Vrijednosti prikazane u sockstat izlazu su opisane kao:

  • USER : Vlasnik (korisnički račun) utičnice.
  • COMMAND : Komanda koja je otvorila utičnicu.
  • PID : ID procesa komande koja posjeduje soket.
  • FD : Broj deskriptora datoteke utičnice.
  • PROTO : Protokol za transport (obično TCP/UDP) povezan sa otvorenim soketom ili tipom utičnice u slučaju utičnica unix domena (datagram, stream ili seqpac) za UNIX utičnice.
  • LOKALNA ADRESA : Predstavlja lokalnu IP adresu za IP bazirane utičnice. U slučaju Unix utičnica to predstavlja naziv datoteke krajnje tačke prikačen na utičnicu. “?? ” notacija implicira da krajnja tačka utičnice nije mogla biti prepoznata ili uspostavljena.
  • STRANA ADRESA : Udaljena IP adresa na koju je utičnica povezana.

2. Lista slušanja ili otvorenih portova u FreeBSD-u

Izvršena sa -l zastavicom, naredba sockstat će prikazati sve prislušne utičnice otvorene u mrežnom stogu i sve otvorene utičnice unix domena ili imenovane cijevi uključene u neku vrstu lokalne obrade podataka u sistemu.

sockstat -l

3. Navedite IPv4 otvorene portove u FreeBSD-u

Za prikaz svih otvorenih utičnica samo za IPv4 protokol, izdajte naredbu sa zastavicom -4, kao što je predloženo u primjeru ispod.

sockstat -4

4. Navedite IPv6 otvorene portove u FreeBSD-u

Slično IPv4 verziji, možete prikazati otvorene mrežne utičnice samo za IPv6, izdavanjem naredbe kao što je prikazano ispod.

sockstat -6

5. Navedite TCP ili UDP otvorene portove u FreeBSD-u

Da biste prikazali mrežne utičnice zasnovane samo na određenom mrežnom protokolu, kao što je TCP ili UDP, koristite oznaku -P, nakon čega slijedi naziv argumenta protokola.

Nazive protokola možete pronaći pregledom sadržaja datoteke /etc/protocols. Trenutno sockstat alat ne podržava ICMP protokol.

Prikaži samo TCP utičnice
sockstat -P tcp

Prikaži samo UDP utičnice
sockstat -P udp

Povežite oba protokola.

sockstat –P tcp,udp

6. Navedite TCP i UDP specifične brojeve portova

Ako želite da prikažete sve TCP ili UDP IP otvorene utičnice, na osnovu broja lokalnog ili udaljenog porta, koristite sledeće komandne zastavice i sintaksu, kao što je ilustrovano na snimku ekrana ispod.

sockstat -P tcp -p 443             [Show TCP HTTPS Port]
sockstat -P udp -p 53              [Show UDP DNS Port] 
sockstat -P tcp -p 443,53,80,21    [Show Both TCP and UDP]

7. Navedite otvorene i povezane portove u FreeBSD-u

Da biste prikazali sve otvorene i povezane utičnice, koristite oznaku -c. Kao što je prikazano u primjerima ispod, možete navesti sve HTTPS povezane utičnice ili sve TCP povezane utičnice izdavanjem naredbi.

sockstat -P tcp -p 443 -c
sockstat -P tcp -c

8. Navedite portove za slušanje mreže u FreeBSD-u

Za popis svih otvorenih TCP utičnica u stanju slušanja dodajte zastavice -l i -s, kao što je prikazano u primjeru ispod. Budući da je protokol bez veze, UDP ne održava nikakve informacije o stanju veze.

UDP otvorene utičnice ne mogu se prikazati korištenjem njihovog stanja, jer udp protokol koristi datagrame za slanje/primanje podataka i nema ugrađeni mehanizam za određivanje stanja veze.

sockstat -46 -l -s

9. Navedite Unix utičnice i imenovane cijevi

Unix domenske utičnice, kao i drugi oblici lokalne međuprocesne komunikacije, kao što su imenovane cijevi, mogu se prikazati pomoću sockstat naredbe korištenjem oznake -u, kao što je prikazano na donjoj slici.

sockstat -u

10. Navedite portove koje je otvorila aplikacija u FreeBSD-u

Izlaz naredbe Sockstat se može filtrirati kroz uslužni program grep kako bi se prikazala lista portova otvorenih od strane određene aplikacije ili naredbe.

Pretpostavimo da želite da navedete sve utičnice povezane sa Nginx web serverom, možete izdati sljedeću naredbu da biste postigli zadatak.

sockstat -46 | grep nginx

Da biste prikazali samo povezane utičnice povezane sa Nginx web serverom, izdajte sljedeću naredbu.

sockstat -46 -c| grep nginx

11. Navedite HTTPS povezane protokole

Možete navesti sve povezane utičnice povezane sa HTTPS protokolom zajedno sa stanjem svake veze tako što ćete pokrenuti naredbu ispod.

sockstat -46 -s -P TCP -p 443 -c

12. Navedite HTTP udaljene utičnice

Za popis svih udaljenih utičnica povezanih s HTTP protokolom, možete pokrenuti jednu od sljedećih kombinacija naredbi.

sockstat -46 -c | egrep '80|443' | awk '{print $7}' | uniq -c | sort -nr
sockstat -46 -c -p 80,443 | grep -v ADDRESS|awk '{print $7}' | uniq -c | sort -nr

13. Pronađite najveće HTTP zahtjeve prema IP adresama

U slučaju da želite da saznate koliko HTTP veza zahteva svaka udaljena IP adresa, izdajte naredbu ispod. Ova komanda može biti vrlo korisna u slučaju da želite utvrditi da li je vaš web server pod nekom vrstom DDOS napada. U slučaju sumnje, trebali biste istražiti IP adrese s najvećom stopom zahtjeva.

sockstat -46 -c | egrep '80|443' | awk '{print $7}' | cut -d: -f1 | uniq -c | sort –nr

14. Navedite DNS otvorene utičnice

Ako ste konfigurirali keširanje i prosljeđivanje DNS servera u svojim prostorijama da opslužuje interne klijente putem TCP transportnog protokola i želite da prikažete listu svih soketa
otvorio rezolver, zajedno sa stanjem svake veze utičnice, izvršite sljedeću naredbu.

sockstat -46 -P tcp –p 53 -s

15. Upitajte TCP DNS na lokalnoj domeni

Ako nema DNS prometa na mreži, možete ručno pokrenuti DNS upit na TCP soketu s konzole lokalnog stroja tako što ćete pokrenuti sljedeću naredbu dig. Nakon toga, izdajte gornju naredbu za popis svih utičnica razrješača.

dig +tcp  www.domain.com  @127.0.0.1

To je sve! Zajedno sa uslužnim programima netstat i lsof komandne linije, sockstat komandna linija je moćan uslužni program koji se koristi za prikupljanje mrežnih informacija i rješavanje višestrukih aspekata FreeBSD mrežnog stoga i procesa i usluga povezanih s umrežavanjem.

Komandu FreeBSD sockstat u Linuxu predstavlja netstat ili nova ss naredba. Vjerovali ili ne, na osnovu sockstat uslužnog programa, možete pronaći sličnu aplikaciju razvijenu za Android OS, pod nazivom SockStat – Simple Netstat GUI.