Võrgustike loomisel on port huvitav funktsioon. See võimaldab võrguliiklusel tuvastada sihtkoharakenduse või -teenuse. Iga protsess / teenus saab oma unikaalse pordi. Pord seostatakse alati hostiga koos protokolliga ka IP-aadressiga.
See on minu lemmikmetafoor, kirjeldamaks, mis on sadam. Kujutage ette lastiga koormatud laeva, mis sõidab kaugele maale. Millist teavet on vaja sihtkohta õigesti jõudmiseks? Oletame, et lihtsuse huvides vajab see riiki (IP-aadressi) ja sadam laev dokib.
Selles juhendis vaadake, kuidas Linuxis avatud porte loetleda.
Linuxi sadamad
Sadamad toimivad suhtlemise lõpp-punktina. See on 16-bitine arv (kümnendkohaga 0–65535). Kuigi valik on suur, on kasutusmugavuse huvides pordid jaotatud kolme kategooriasse. Iga kategooria on märgitud pordiväärtuse vahemikuna:
- 0 kuni 1023: Need on "tuntud" pordid, tuntud ka kui "süsteemi" pordid, mis on reserveeritud mitmesuguseid võrguteenuseid pakkuvatele süsteemiprotsessidele. "Tuntud" pordiga sidumiseks peab protsessil olema ülikasutaja privileeg.
- 1024 kuni 49151: Need on registreeritud pordid, mida nimetatakse ka kasutajate pordideks ja mille IANA on määranud konkreetsete teenuste jaoks. Taotluse korral võib protsess neile juurde pääseda. Enamiku süsteemide puhul ei nõua nende pordide kasutamine mingit superkasutaja õigust.
- 49152–65535: Need on dünaamilised pordid, mida nimetatakse ka privaatseteks pordideks. Neid sadamaid ei saa IANA-s registreerida. Neid porte saab kasutada era- või kohandatud teenuste jaoks ning neid võib automaatselt eraldada ka lühiajalisteks pordideks (IP-d kasutavad lühiajalisi porde).
Linuxis on avatud pordide kontrollimiseks mitu võimalust. Vaikimisi jääb iga port suletuks, kui mõni rakendus seda ei kasuta. Kui port on avatud, tuleb see määrata teenusele / protsessile.
Loetlege avatud sadamad
Lihtsam on tuvastada, milliseid porte kasutatakse, mitte milliseid porte on avatud. Sellepärast kirjeldatakse järgmises jaotises meetodeid kõigi praegu kasutatavate portide loetlemiseks. Linuxis on selle ülesande jaoks saadaval mitu tööriista. Enamik neist on sisseehitatud mis tahes Linuxi distributsioonis.
Praegu avatud portide õppimine võib olla kasulik erinevate stsenaariumide korral. Kindla rakenduse jaoks on võimalik konfigureerida spetsiaalne port. Avatud port võib olla ka tugev märk võrgu sissetungimisest.
Järgmisi meetodeid on demonstreeritud Ubuntu 20-s.04.1 LTS.
Lisage protokollid ja avatud pordid kataloogist / etc / services
Fail / etc / services sisaldab teavet praegu töötavate teenuste kohta. See on suur fail, nii et see on valmis üle jõu käima.
$ cat / etc / services | vähem
Loetlege avatud porte netstat abil
Tööriist netstat on utiliit TCP, marsruutimistabelite ja erinevate võrguliideste võrguühenduste kuvamiseks. Samuti pakub see võrguprotokollide statistikat. Netstat'i abil saame loetleda kõik süsteemi avatud pordid.
Käivitage järgmine käsk netstat:
$ netstat -atu
Teeme kiire jaotuse kõigist lipudest, mida selles käsus kasutasime.
- a: Käsib netstatil näidata kõiki pistikupesasid
- t: Käsib netstatil loetleda TCP-pordid
- u: Käsib netstatil loetleda UDP-pordid
Siin on käsk netstat veel üks variatsioon:
$ netstat -lntu
Käsus kasutatakse kahte uut lippu. Mida nad mõtlevad?
- l: Käsib netstatil printida ainult kuulamispesad
- n: Käsib netstatil näidata pordi numbrit
Porti kasutava protsessi PID kuvamiseks kasutage lippu -p:
$ netstat -lntup
Loetlege avatud porte ss abil
Tööriist ss on utiliit pistikupesa uurimiseks. Selle kasutamine on sarnane netstatiga.
Avatud pordide loetlemiseks käivitage järgmine ss-käsk:
$ ss -lntu
Lipud on sarnased netstatiga. Nende kirjeldatud funktsioonid on samuti üsna sarnased.
- l: Käsib ss kuvada kuulamispesasid
- n: Käsib ss mitte proovida teenusenimesid lahendada
- t: Käsib ss näidata TCP-pistikupesasid
- u: Käsib ss kuvada UDP-pistikupesasid
Loetlege avatud pordid lsofi abil
Käsu lsof eesmärk on loetleda avatud failid. Kuid seda saab kasutada ka avatud portide kuvamiseks.
Käivitage järgmine käsk lsof:
$ lsof -i
Konkreetse protokolli (TCP, UDP jne.) Avatud portide saamiseks.), siis määrake see pärast lipu -i, kasutage:
$ lsof -i
Loendage avatud sadamad nmap-i abil
Nmap-tööriist on võimas võrgu uurimiseks ja turvalisuse / pordi skannimiseks. See suudab teatada kõikidest süsteemi avatud portidest.
Avatud TCP-portide loetlemiseks käivitage järgmine nmap-käsk. Siin on hostarvuti IP-aadress:
$ sudo nmap -sT -p- localhost
Siin on käsuargumendi kaks osa.
- -sT: Selles jaotises öeldakse nmap-le TCP-pordide otsimine.
- -lk- : See käsib nmapil skannida kõiki 65535 porti. Kui seda ei kasutata, skannib nmap vaikimisi ainult 1000 porti.
Kui peate loetlema avatud UDP-pordid, käivitage järgmine nmap-käsk:
$ sudo nmap -sU -p- localhost
Nii avatud TCP- kui ka UDP-porti saamiseks kasutage järgmist käsku:
$ sudo nmap -n -PN -sT -sU -p- localhostLisage avatud porte netcati abil
Netcati tööriist on käsurea utiliit andmete lugemiseks ja kirjutamiseks võrguühenduste kaudu TCP ja UDP protokollide kaudu. Seda tööriista saab kasutada ka avatud portide loendisse lisamiseks. See võib teste teostada kindlas pordis või pordivahemikus.
Järgmine käsk netcat skannib pordi vahemikus 1 kuni 1000. Vaikimisi kontrollib käsk netcat TCP-protokollil:
$ nc -z -v localhost 1-1000
Seda saab laiendada ka kogu võimalike sadamate loendile:
$ nc -z -v localhost 1-65535
Teeme lippude kiire jaotuse.
- z: Käsib netcatil skannida ainult avatud porte ilma andmeid saatmata
- v: Käsib netcatil töötada verbose režiimis
Ainult avatud pordide saamiseks sellest loendist filtreerige väljund grepiga terminile "õnnestus".
$ nc -z -v localhost 0-65535 2> & 1 | grep õnnestusKui soovite skannida UDP-protokolli abil, lisage lipp “-u”.
$ nc -z -v -u localhost 0-65535 2> & 1 | grep õnnestusLõpumõtted
Nagu näidatud, on Linuxis avatud sadamate otsimiseks palju võimalusi. Soovitan enne meetodi valimist proovida kõik meetodid. Kui kasutate regulaarselt kindlat tööriista, näiteks netcat või nmap, on seonduvate meetodite valdamine kõige kasulikum.
Head arvutamist!