Tinklo srityje uostas yra įdomi funkcija. Tai tinklo srauto būdas nustatyti paskirties programą ar paslaugą. Kiekvienas procesas / paslauga gauna unikalų uostą. Prievadas visada bus susietas su pagrindinio kompiuterio IP adresu ir protokolu.
Tai yra mano mėgstamiausia metafora apibūdinti, kas yra uostas. Įsivaizduokite krovinį prikrautą laivą, kuris keliaus į tolimą kraštą. Kokios informacijos reikia norint tinkamai pasiekti tikslą? Tarkime, kad būtų paprasčiau, reikia šalies (IP adreso) ir uostas laivas priplauks.
Šiame vadove patikrinkite, kaip išvardyti atidarytus „Linux“ prievadus.
Uostai sistemoje „Linux“
Uostai veikia kaip bendravimo taškas. Tai 16 bitų skaičius (nuo 0 iki 65535 dešimtainiu kableliu). Nors asortimentas yra didelis, patogumui naudoti, uostai skirstomi į tris kategorijas. Kiekviena kategorija pažymėta kaip prievado vertės diapazonas:
- 0–1023: Tai yra „gerai žinomi“ prievadai, dar vadinami „System“ prievadais, kurie yra rezervuoti sistemos procesams, siūlantiems įvairias tinklo paslaugas. Norint susieti „gerai žinomą“ prievadą, procesas turi turėti vartotojo privilegijas.
- 1024–49151: Tai yra „Registruoti“ prievadai, dar vadinami „Vartotojo“ prievadais, kuriuos IANA nurodo konkrečioms paslaugoms. Paprašius procesas gali turėti prieigą prie jų. Daugelio sistemų atveju norint naudotis šiais prievadais nereikia jokių vartotojo teisių.
- 49152–65535: Tai yra „dinaminiai“ prievadai, dar vadinami „asmeniniais“ prievadais. Šių uostų negalima užregistruoti IANA. Šiuos uostus galima naudoti privačioms ar pritaikytoms paslaugoms ir jie taip pat gali būti automatiškai priskirti trumpalaikiams (IP naudojami trumpalaikiai uostai).
„Linux“ yra keli būdai patikrinti atvirus prievadus. Pagal numatytuosius nustatymus bet kuris prievadas liks uždarytas, nebent programa juo naudosis. Jei uostas atidarytas, jis turi būti priskirtas paslaugai / procesui.
Išvardykite atidarytus uostus
Lengviau nustatyti, kurie uostai naudojami, o ne kurie atviri. Štai kodėl šiame skyriuje bus aprašyti metodai, kaip išvardyti visus šiuo metu naudojamus prievadus. „Linux“ yra keli užduoties įrankiai. Dauguma jų yra įmontuoti bet kuriame „Linux“ distributore.
Sužinoti, kurie uostai šiuo metu yra atidaryti, gali būti naudinga įvairiais atvejais. Galima sukonfigūruoti tam tikrai programai skirtą prievadą. Atviras prievadas taip pat gali būti tvirtas įsibrovimo į tinklą požymis.
Šie metodai demonstruojami „Ubuntu 20“.04.1 LTS.
Išvardykite protokolus ir atidarykite prievadus iš / etc / services
Faile / etc / services yra informacija apie šiuo metu teikiamas paslaugas. Tai didelis failas, todėl pasirengęs priblokšti.
$ cat / etc / services | mažiau
Išvardykite atidarytus uostus naudodami „netstat“
„Netstat“ įrankis yra įrankis, rodantis tinklo ryšius TCP, maršrutų lenteles ir įvairias tinklo sąsajas. Ji taip pat siūlo tinklo protokolo statistiką. Naudodami „netstat“ galime išvardyti visus atvirus sistemos prievadus.
Paleiskite šią komandą netstat:
$ netstat -atu
Greitai suskirstykime visas vėliavas, kurias naudojome šioje komandoje.
- a: Liepia netstat rodyti visus lizdus
- t: Liepia netstat išvardyti TCP prievadus
- u: Liepia netstat išvardyti UDP prievadus
Štai dar vienas „netstat“ komandos variantas:
$ netstat -lntu
Komandoje naudojamos dvi naujos vėliavos. Ką jie reiškia?
- l: Liepia netstat spausdinti tik klausymo lizdus
- n: Liepia netstat parodyti prievado numerį
Norėdami parodyti proceso, kuris naudoja uostą, PID, naudokite „-p“ vėliavą:
$ netstat -lntup
Išvardykite atidarytus uostus naudodami ss
SS įrankis yra įrankis lizdui tirti. Jo naudojimas yra panašus į „netstat“.
Norėdami išvardyti atidarytus prievadus, vykdykite šią komandą ss:
$ ss -lntu
Vėliavos yra panašios į „netstat“. Jų aprašytos funkcijos taip pat yra gana panašios.
- l: Liepia ss rodyti klausymo lizdus
- n: Liepia nemėginti išspręsti paslaugų pavadinimų
- t: Liepia ss rodyti TCP lizdus
- u: Liepia ss rodyti UDP lizdus
Išvardykite atidarytus prievadus naudodami „lsof“
Komanda „lsof“ yra atidaryti failai. Tačiau jis taip pat gali būti naudojamas rodant atvirus prievadus.
Paleiskite šią komandą lsof:
$ lsof -i
Norėdami gauti atvirus konkretaus protokolo prievadus (TCP, UDP ir kt.).), tada apibrėžkite jį po „-i“ vėliava, naudokite:
$ lsof -i
Išvardykite atidarytus prievadus naudodami nmap
„Nmap“ įrankis yra galingas įrankis tinklui tirti ir saugumui / uosto nuskaitymui. Jis gali pranešti apie visus sistemos atidarytus uostus.
Norėdami išvardyti atvirus TCP prievadus, vykdykite šią nmap komandą. Čia yra pagrindinio kompiuterio IP adresas:
$ sudo nmap -sT -p- localhost
Čia yra dvi komandos argumento dalys.
- -sT: Šiame skyriuje nurodoma nmap nuskaityti TCP prievadus.
- -p- : Tai nurodo nmap nuskaityti visus 65535 prievadus. Jei nenaudojamas, tada nmap pagal numatytuosius nustatymus nuskaitys tik 1000 prievadų.
Jei reikia išvardyti atidarytus UDP prievadus, paleiskite šią nmap komandą:
$ sudo nmap -sU -p- localhost
Norėdami gauti tiek atvirus TCP, tiek UDP prievadus, naudokite šią komandą:
$ sudo nmap -n -PN -sT -sU -p- localhostIšvardykite atidarytus prievadus naudodami „netcat“
„Netcat“ įrankis yra komandinės eilutės įrankis duomenims skaityti ir rašyti per tinklo ryšius per TCP ir UDP protokolus. Šis įrankis taip pat gali būti naudojamas įtraukiant atvirus uostus. Jis gali atlikti bandymus konkrečiame prievade ar uostų diapazone.
Ši „netcat“ komanda nuskaitys prievadą nuo 1 iki 1000. Pagal numatytuosius nustatymus komanda „netcat“ nuskaitys TCP protokolą:
$ nc -z -v localhost 1-1000
Jis taip pat gali būti išplėstas į visą galimų uostų sąrašą:
$ nc -z -v localhost 1-65535
Greitai suskirstykime vėliavas.
- z: Liepia netcat nuskaityti tik atidarytus prievadus, nesiunčiant jokių duomenų
- v: Liepia „netcat“ paleisti daugiažodžiu režimu
Jei norite, kad iš šio sąrašo būtų tik atidaryti prievadai, filtruokite išvestį su grep pagal terminą „pavyko“.
$ nc -z -v localhost 0-65535 2> & 1 | grep pavykoJei norite atlikti nuskaitymą naudodami UDP protokolą, pridėkite „-u“ vėliavą.
$ nc -z -v -u localhost 0-65535 2> & 1 | grep pavykoPaskutinės mintys
Kaip parodyta, yra daugybė būdų, kaip ieškoti atvirų „Linux“ prievadų. Siūlau išbandyti visus metodus, prieš nusprendžiant, kurį iš jų įvaldyti. Jei reguliariai naudojate tam tikrą įrankį, pvz., „Netcat“ ar „nmap“, bus naudingiausia įvaldyti susijusius metodus.
Laimingo skaičiavimo!