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


Sockstat je svestrani uslužni program naredbenog retka koji se koristi za prikaz mreža i sustava otvorenih utičnica u FreeBSD-u. Uglavnom, naredba sockstat instalirana je prema zadanim postavkama u FreeBSD-u i obično se koristi za prikaz naziva procesa koji su otvorili određeni mrežni priključak na FreeBSD sustavu.

Međutim, sockstat također može ispisati otvorene utičnice na temelju verzije protokola (obje IP verzije), stanja veze i portova koje demon ili program veže i sluša.

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

Također može prikazati međuprocesne komunikacijske utičnice, obično poznate kao Unix domenske utičnice ili IPC. Naredba Sockstat u kombinaciji s filtrom grep ili propuštena kroz pomoćni program awk pokazala se kao moćan alat za lokalni mrežni skup.

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

U ovom ćemo vodiču navesti neke uobičajene, ali i vrlo moćne primjere upotrebe sockstat uslužnog programa za umrežavanje naredbenog retka 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, naredba sockstat će prikazati sve otvorene utičnice u FreeBSD sustavu, kao što je ilustrirano na slici ispod.

sockstat

Vrijednosti prikazane u sockstat izlazu opisane su kao:

  • KORISNIK : Vlasnik (korisnički račun) utičnice.
  • NAREDBA : Naredba koja je otvorila utičnicu.
  • PID : ID procesa naredbe koja posjeduje utičnicu.
  • FD : Broj deskriptora datoteke utičnice.
  • PROTO : Transportni protokol (obično TCP/UDP) povezan s otvorenom utičnicom ili vrstom utičnice u slučaju utičnica unix domene (datagram, stream ili seqpac) za UNIX utičnice.
  • LOKALNA ADRESA: Predstavlja lokalnu IP adresu za utičnice temeljene na IP-u. U slučaju Unix utičnica predstavlja naziv datoteke krajnje točke pripojen utičnici. “?? ” označava da se krajnja točka utičnice ne može prepoznati ili uspostaviti.
  • STRANA ADRESA : udaljena IP adresa na koju je utičnica povezana.

2. Navedite slušajuće ili otvorene portove u FreeBSD-u

Izvršena s oznakom -l, naredba sockstat prikazat će sve slušajuće utičnice otvorene u mrežnom stogu i sve otvorene utičnice unix domene ili imenovane cijevi uključene u neku vrstu lokalne obrade podataka u sustavu.

sockstat -l

3. Navedite IPv4 otvorene portove u FreeBSD-u

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

sockstat -4

4. Navedite IPv6 otvorene portove u FreeBSD-u

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

sockstat -6

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

Za prikaz mrežnih utičnica samo na temelju određenog mrežnog protokola, kao što je TCP ili UDP, koristite oznaku -P, nakon koje slijedi oznaka naziv argumenta protokola.

Nazivi protokola mogu se pronaći pregledom sadržaja datoteke /etc/protocols. Alat sockstat trenutačno ne podržava ICMP protokol.

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

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

Ulančaj oba protokola.

sockstat –P tcp,udp

6. Navedite TCP i UDP specifične brojeve portova

Ako želite prikazati sve TCP ili UDP IP otvorene utičnice, na temelju lokalnog ili udaljenog broja porta, upotrijebite zastavice naredbi i sintaksu u nastavku, kao što je prikazano na slici 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. Popis otvorenih i povezanih portova u FreeBSD-u

Kako biste prikazali sve otvorene i povezane utičnice, koristite zastavu -c. Kao što je prikazano u donjim primjerima, možete ispisati 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 priključke za slušanje mreže u FreeBSD-u

Za popis svih otvorenih TCP utičnica u stanju slušanja dodajte oznake -l i -s, kao što je prikazano u donjem primjeru. Budući da je protokol bez povezivanja, 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

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

sockstat -u

10. Popis portova koje otvara aplikacija u FreeBSD-u

Izlaz naredbe Sockstat može se filtrirati pomoću uslužnog programa grep kako bi se prikazao popis portova koje je otvorila određena aplikacija ili naredba.

Pretpostavimo da želite ispisati sve utičnice povezane s Nginx web poslužiteljem, možete izdati sljedeću naredbu da izvršite zadatak.

sockstat -46 | grep nginx

Da biste prikazali samo povezane utičnice povezane s Nginx web poslužiteljem, izdajte sljedeću naredbu.

sockstat -46 -c| grep nginx

11. Navedite HTTPS povezane protokole

Možete navesti sve povezane utičnice povezane s HTTPS protokolom uz stanje svake veze pokretanjem donje naredbe.

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 saznati koliko HTTP veza zahtijeva svaka udaljena IP adresa, izdajte naredbu u nastavku. Ova naredba može biti vrlo korisna u slučaju da želite utvrditi je li vaš web poslužitelj 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 u svojim prostorijama konfigurirali DNS poslužitelj za predmemoriju i prosljeđivanje za posluživanje internih klijenata putem TCP transportnog protokola i želite prikazati popis svih utičnica
otvorio rezolver, zajedno sa stanjem svake veze utičnice, izvršite sljedeću naredbu.

sockstat -46 -P tcp –p 53 -s

15. Upit TCP DNS na lokalnoj domeni

Ako na mreži nema DNS prometa, možete ručno pokrenuti DNS upit na TCP utičnici s konzole lokalnog računala pokretanjem sljedeće naredbe dig. Nakon toga izdajte gornju naredbu za popis svih utičnica za razrješavanje.

dig +tcp  www.domain.com  @127.0.0.1

To je sve! Zajedno s uslužnim programima naredbenog retka netstat i lsof, naredbeni redak sockstat moćan je uslužni program koji se koristi za prikupljanje informacija o mreži i rješavanje višestrukih aspekata mrežnog skupa FreeBSD-a i procesa i usluga povezanih s umrežavanjem.

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