15 kasulikku Sockstat-käsu näidet avatud pordide leidmiseks FreeBSD-s


Sockstat on mitmekülgne käsurea utiliit, mida kasutatakse võrgu ja süsteemi avatud pesade kuvamiseks FreeBSD-s. Põhimõtteliselt on FreeBSD-s vaikimisi installitud sockstat-käsk ja seda kasutatakse tavaliselt FreeBSD-süsteemis teatud võrgupordi avanud protsesside nime kuvamiseks.

Kuid sockstat võib loetleda ka avatud sokleid protokolliprogrammi versiooni (mõlemad IP-versioonid), ühenduse oleku ja selle kohta, milliseid sadamaid deemon või programm seob ja kuulab.

Samuti saab kuvada protsessidevahelisi suhtluspesasid, tavaliselt tuntud kui Unixi domeenipesad või IPC. Käsk Sockstat koos awk-utiliidiga osutub kohaliku võrgupinu võimekaks tööriistaks.

See võib vähendada avatud ühenduse tulemusi vastavalt kasutajale, kellele kuulub pesa, võrgupesa failikirjeldile või sokli avanud protsessi PID-le.

Selles juhendis loetleme mõned sockstat käsurea võrguühenduse kasulikkuse näited, kuid ka väga võimsad FreeBSD-s.

  1. FreeBSD 11.1 installijuhend

1. Loetlege FreeBSD-s kõik avatud sadamad

Lihtsalt ilma suvandite ja lülititeta käivitatud käsk sockstat kuvab kõik avatud pesad FreeBSD süsteemis, nagu on näidatud allpool oleval ekraanipildil.

# sockstat

Sockstat väljundis kuvatud väärtusi kirjeldatakse järgmiselt:

  • KASUTAJA: sokli omanik (kasutajakonto).
  • COMMAND: käsk, mis avas pesa.
  • PID: sokli omava käsu protsessi ID.
  • FD: sokli failikirjelduse number.
  • PROTO: UNIX-i pistikupesade unix-domeenipesade (datagram, stream või seqpac) korral avatud sokli või sokli tüübiga seotud transpordiprotokoll (tavaliselt TCP/UDP).
  • KOHALIK AADRESS: See tähistab IP-põhiste pistikupesade kohalikku IP-aadressi. Unixi pistikupesade puhul tähistab see pesale lisatud lõpp-punkti failinime. Märge \"??" tähendab, et sokli lõpp-punkti ei olnud võimalik tuvastada ega luua.
  • VÄLISMAADRESS: kaug-IP-aadress, kuhu pistikupesa on ühendatud.

2. Loetlege FreeBSD-s kuulamis- või avatud sadamad

Lippuga -l täidetud käsk sockstat kuvab kõik võrgupakis avatud kuulamispesad ja kõik avatud unix domeenipesad või nimega torud, mis on seotud süsteemi mingisuguse kohaliku andmetöötlusega.

# sockstat -l

3. Loetlege FreeBSD-s IPv4 avatud porte

Kõigi avatud pistikupesade kuvamiseks ainult IPv4-protokolli jaoks väljastage käsk lipuga -4 , nagu soovitatud allpool toodud näites.

# sockstat -4

4. Loetlege FreeBSD-s IPv6 avatud porte

Sarnaselt IPv4 versioonile saate avatud võrgupesasid kuvada ka ainult IPv6 jaoks, väljastades käsu, nagu allpool näidatud.

# sockstat -6

5. Loetlege FreeBSD-s TCP või UDP avatud porte

Ainult määratud võrguprotokollil (nt TCP või UDP) põhinevate võrgupesade kuvamiseks kasutage lippu -P , millele järgneb protokolli argumendi nimi.

Protokollide nimed leiate faili/etc/protokolli sisu kontrollides. Praegu ei toeta sockstat-tööriist ICMP-protokolli.

# sockstat -P tcp
# sockstat -P udp

Aheldage mõlemad protokollid.

# sockstat –P tcp,udp

6. Loetlege TCP ja UDP spetsiifilised pordinumbrid

Kui soovite kuvada kõik TCP või UDP IP avatud soklid kohaliku või kaugpordi numbri põhjal, kasutage allolevaid käsulippe ja süntaksit, nagu on näidatud alloleval ekraanipildil.

# 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. Loetlege FreeBSD-s avatud ja ühendatud porte

Kõigi avatud ja ühendatud pistikupesade kuvamiseks kasutage lippu -c . Nagu näidatud allpool toodud näidetes, saate käske väljastades loetleda kõik HTTPS-i ühendatud või TCP-ga ühendatud pistikupesad.

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

8. Loetlege FreeBSD-s võrgu kuulamise sadamad

Kõigi avatud oleku TCP-pistikupesade loendisse lisamiseks lisage lipud -l ja -s , nagu on näidatud allpool toodud näites. Kuna ühenduseta protokoll ei ole UDP-l ühenduse oleku kohta teavet.

UDP avatud pesasid ei saa nende olekut kasutades kuvada, sest udp-protokoll kasutab andmete saatmiseks/vastuvõtmiseks datagramme ja sellel puudub ühenduse oleku määramiseks sisseehitatud mehhanism.

# sockstat -46 -l -s

9. Loetlege Unixi pistikupesad ja nimetud torud

Unixi domeenipesasid ja muid kohaliku protsessidevahelise suhtluse vorme, nagu nimega torud, saab kuvada käsuga sockstat, kasutades lippu -u , nagu on näidatud alloleval pildil.

# sockstat -u

10. Loetlege rakenduse poolt avatud porte FreeBSD-s

Sockstat-käskude väljundit saab filtreerida läbi grep-utiliidi, et kuvada konkreetse rakenduse või käsu avatud portide loend.

Oletame, et soovite loetleda kõik Nginxi veebiserveriga seotud pistikupesad, saate ülesande saavutamiseks välja anda järgmise käsu.

# sockstat -46 | grep nginx

Ainult Nginxi veebiserveriga seotud ühendatud pistikupesade kuvamiseks väljastage järgmine käsk.

# sockstat -46 -c| grep nginx

11. Loetlege HTTPS-i ühendatud protokollid

Kõigi HTTPS-protokolliga seotud ühendatud pistikupesad saate iga ühenduse oleku kõrval loetleda, käivitades alloleva käsu.

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

12. Loetlege HTTP kaugpesad

Kõigi HTTP-protokolliga seotud kaugpesade loetlemiseks võite käivitada ühe järgmistest käsukombinatsioonidest.

# 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. Leidke IP-aadresside järgi kõrgeimad HTTP-päringud

Kui soovite leida, kui palju HTTP-ühendusi iga kaug-IP-aadress nõuab, väljastage järgmine käsk. See käsk võib olla väga kasulik juhul, kui soovite kindlaks teha, kas teie veebiserver on mingisuguse DDOS-i rünnaku all. Kahtluste korral peaksite uurima kõrgeima päringute määraga IP-aadresse.

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

14. Loetlege DNS-i avatud pesad

Kui olete oma ruumides konfigureerinud vahemällu salvestatud ja edastava DNS-serveri siseklientide teenindamiseks TCP transpordiprotokolli kaudu ja soovite kuvada kõigi soklite loendi
lahendaja poolt avatud, koos iga pistikupesa ühenduse olekuga, täitke järgmine käsk.

# sockstat -46 -P tcp –p 53 -s

15. TCP DNS-i päring kohalikus domeenis

Kui võrgus puudub DNS-liiklus, saate kohaliku masina konsoolilt käsitsi käivitada DNS-päringu TCP-soklis, käivitades järgmise käsu dig. Seejärel väljastage ülaltoodud käsk, et loetleda kõik resolveri pistikupesad.

# dig +tcp  www.domain.com  @127.0.0.1

See on kõik! Koos lsofi käsurea utiliitidega on sockstat käsurida võimas utiliit, mida kasutatakse võrguteabe hankimiseks ning FreeBSD võrgupinu ning võrguga seotud protsesside ja teenuste mitme aspekti tõrkeotsinguks.

Linuxi FreeBSD sockstat'i käsu vastet esindab käsk netstat või äsja ss. Uskuge või mitte, kuid sockstat-utiliidi põhjal leiate sarnase rakenduse, mis on välja töötatud Android OS-i jaoks, nimega SockStat - Simple Netstat GUI.