„Sockstat“ yra daugybė komandinės eilutės įrankių, pateikiamų kartu su „FreeBSD“. Tai mato didžiulį naudojimą nagrinėjant tinklo ryšius ir atvirus lizdus. „FreeBSD“ jame išvardijami fono ir pirmojo plano procesų, dėl kurių atsirado tinklo prievadas, pavadinimai ir būsena. Jūs netgi galite jį pritaikyti, kad sutvarkytumėte ryšio lizdų sąrašus pagal ryšio būseną, IP versijas, kokius prievadus klauso konkrečios programos ir kt., ir supaprastinti rezultatus, pagrįstus lizdų nuosavybe ir ryšio lizdų aprašais. Naudodami „Sockstat“, taip pat galite pamatyti visą sudėtingą išsamią informaciją apie kiekvieną „Unix“ domeno lizdą / IPC. Tinkamas žingsnis būtų integruoti „sockstat“ su „grep“ filtru, kad trigubai padidėtų jo funkcionalumas ir būtų kuo geriau išnaudota.
Pažvelkime į keletą tvarkingų dalykų, kuriuos galime išsirinkti naudodami „Sockstat“ „FreeBSD“.
Išvardykite veikiančius „FreeBSD“ prievadus su „Sockstat“
„Sockstat“ komanda nurodo visus šiuo metu „FreeBSD“ sistemoje atidarytus lizdus. Norėdami pamatyti atidarytų lizdų sąrašą, įveskite komandą „sockstat“, nepritapusią su bet kuria vėliava ar parinktimi:
$ sockstat
Paimkime šiek tiek laiko ir apžvelkime, ką reiškia kiekviena išvesties stulpelio etiketė. Pirmajame kairiajame stulpelyje yra etiketės VARTOTOJAI ir jame pateikiamos visos vartotojų abonementai (šaknys, „mysql“), kuriems priklauso kiekvienas lizdas. Antroji stulpelio antraštė yra COMMAND, o šioje stulpelio antraštėje pateikiamos visos komandos, kurios nustatė kiekvieną lizdą atsidaryti. Stulpeliuose PID ir FD nurodomi lizdų procesų ID ir failų aprašai. Stulpelyje su antrašte PROTO rodomi visi lizdų tipų perdavimo protokolai, susieti su kiekvienu atidarytu prievadu. Paskutiniai du stulpeliai yra vietinis adresas ir užsienio adresas. Pirmame iš šių dviejų pateikiamas kiekvieno atidaryto lizdo vietinis IP adresas. Pastarasis nurodo, kokie IP adresai yra susieti su kiekvienu iš šių lizdų.
Išvardykite konkrečias „OpenBS Ports“ versijas „FreeBSD“
Norėdami išvardyti atidarytus lizdus tik su tam tikra protokolo versija, pavyzdžiui, „Ipv4“ versija, komandos „sockstat“ pabaigoje pridėkite žymeklį -4:
$ sockstat -4
Taip pat galite leisti panašiai pateikti kitų versijų sąrašą
$ sockstat -6
Turėtų būti rodomi visi lizdai su IPv6.
Išvardykite atvirus lizdus, remdamiesi TCP / UDP, FreeBSD
Pridėkite žymeklį -P prie komandos „sockstat“, kad atidarytų lizdų sąrašas būtų pateiktas remiantis TCP arba UDP. Taip pat prie komandos turėsite pridėti protokolo argumento pavadinimą, kurio galite ieškoti pereidami į / etc / protocols failą ir patikrindami failą. Norėdami turėti tik TCP pagrįstus lizdus, įveskite šią komandą:
$ sockstat -P tcpPanašiai galite pasirinkti sąrašą pagal UDP:
$ sockstat -P udpŠiuos du galima susieti labai paprastai:
$ sockstat -P tcp, udp
Kol kas „sockstat“ nepateikia ICMP protokolo palaikymo.
Ekrano lizdai su konkrečiais prievado numeriais
Norėdami pamatyti visus atidarytus lizdus, tiek TCP, tiek UDP, sąrašas turi būti išdėstytas pagal prievado numerius (tiek vietinius, tiek kitus), įveskite komandą „sockstat“ su atitinkamomis vėliavomis:
$ sockstat -P tcp -p 443$ sockstat -P udp -p 53
$ sockstat -P tcp -p 443,53,80,21
Pirmiau pateiktose komandose pirmasis rodo TCP HTTPS prievadą, antrasis - UDP DNS prievadus, o trečiasis rodo abu.
Žiūrėkite atvirus uostus, kurių klausomės FreeBSD
Kai prie sockstat komandos pridėta -l vėliava, jums bus pateiktas atviras lizdas, kuris šiuo metu klausosi per protokolų rinkinį, ir visi atidaryti UNIX domeno lizdai, taip pat visi pavadinti vamzdžiai.
$ sockstat -lIšvardykite uostus, kurie aktyviai klausosi tinkle
Pridėkite vėliavą -l ir -s prie sockstat komandos, kad atidaryti TCP prievadai būtų išdėstyti pagal jų klausymosi būseną.
$ sockstat -46 -l -s
UDP negali būti rodomas kaip ne tinklo protokolas, todėl nelieka duomenų apie klausymo būseną.
Išdėstykite atidarytus prievadus naudodami programą / komandą
Čia yra ta dalis, kur „Sockstat“ komandos susiejimas su „grep“ programa yra naudingas; naudodami „grep“ įrankį galite atidaryti atidarytus prievadus, kuriuos nurodo programos, kurios šiuo metu jas naudoja.
Komanda, kurią naudosite atidarytų prievadų, ypač susijusių su ntpd serveriu, sąrašui, yra:
$ sockstat -46 | grep ntpd
Galite padaryti sąrašą konkretesnį, nurodydami tik prijungtus lizdus, prie pirmiau nurodytos komandos pridėdami žymą -c:
$ sockstat -46 -c | grep ntpd
Rodyti visus „Unix“ lizdus
Turėkite visus „Unix“ domeno lizdus, pridėdami „u- flag“ prie komandos „sockstat“:
$ sockstat -u
Tai taip pat turėtų rodyti pavadintus vamzdžius kartu su „Unix“ lizdais.
Išdėstykite atvirus prievadus naudodami HTTPS prijungtus protokolus
Norėdami, kad kiekvieno lizdo sąrašas būtų rodomas HTTPS protokolu, naudokite toliau pateiktą komandą:
$ sockstat -46 -s -P TCP -p 443 -c
Išvardykite HTTP nuotolinius lizdus
Taip pat galite išvardyti visus nuotolinius lizdus, šiuo metu naudojančius HTTP protokolą. Paleiskite vieną iš šių komandų terminale:
$ sockstat -46 -c | egrep '80 | 443 '| awk 'print $ 7' | uniq -c | rūšiuoti -nr$ sockstat -46 -c -p 80,443 | grep -v ADDRESS | awk 'print $ 7' |
uniq -c | rūšiuoti -nr
Suraskite, kiek kartų IP adresas išsiuntė užklausas
Norėdami sužinoti, kiek ryšio užklausų buvo gauta iš kiekvieno IP adreso, galite paleisti šią komandą:
$ sockstat -46 -c | egrep '80 | 443 '| awk 'print $ 7' | iškirpti -d: -f1 | uniq -c | rūšiuoti -n
Nustatę, ar yra neįprastai daug prisijungimo užklausų, kurias siunčia IP adresas, galite nustatyti, kad yra kenkėjiškų ketinimų, ir galite teigiamai įvesti geltoną įspėjimą ir priimti atitinkamus saugos protokolus.
Siųskite DNS užklausą iš TCP lizdo
Galite siųsti DNS užklausą naudodami TCP lizdą konsolėje, jei tinkle nėra jokio DNS srauto. Vykdykite toliau pateiktą komandą:
$ dig + tcp www.domenas.com @ 127.0.0.1Apvyniojimas
Taigi, jūs daug sužinojote apie sockstat komandos naudojimą ir jos variantus su vėliavomis ir jungikliais. Jūs taip pat matėte, kaip ji naudojama skirtingais būdais pateikiant tinklo diagnostiką skirtingose nuostatose ir naudodamiesi šia informacija atlikdami daugialypį trikčių šalinimą FreeBSD. Tai savaime yra daug, tačiau dabar, kai esate susipažinę su šia medžiaga, turėtumėte apsvarstyti galimybę įtraukti „sockstat“ komandinę eilutę su keletu galingų komandų eilutės įrankių, tokių kaip „netstat“ ir „Isof“.