Võrgustikus on port huvitav funktsioon. See on võrguliikluse viis sihtkoha rakenduse või teenuse tuvastamiseks. Iga protsess/teenus saab oma unikaalse pordi. Port koos protokolliga seotakse alati hosti IP -aadressiga.
See on minu lemmik metafoor kirjeldamaks, mis on sadam. Kujutage ette lasti, mis on koormatud ja mis sõidab kaugele maale. Millist teavet on vaja sihtkohta jõudmiseks? Ütleme lihtsuse huvides, et see vajab riiki (IP -aadress) ja sadam laev dokib.
Selles juhendis vaadake, kuidas Linuxis avatud pordid loetleda.
Pordid Linuxis
Sadamad toimivad suhtluse lõpp -punktina. See on 16-bitine number (0 kuni 65535 kümnendkohani). Kuigi valik on suur, on kasutusmugavuse huvides sadamad jaotatud kolme kategooriasse. Iga kategooria on tähistatud pordi väärtuste vahemikuna:
- 0 kuni 1023: Need on tuntud pordid, mida tuntakse ka süsteemiportidena, mis on reserveeritud süsteemiprotsessidele, mis pakuvad laias valikus võrguteenuseid. Tuntud pordiga sidumiseks peab protsessil olema superkasutaja privileeg.
- 1024 kuni 49151: Need on registreeritud pordid, mida tuntakse ka kui kasutajaporte, mis on IANA poolt määratud teatud teenuste jaoks. Soovi korral võib protsess neile juurde pääseda. Enamiku süsteemide puhul ei nõua nende portide kasutamiseks superkasutaja õigusi.
- 49152 kuni 65535: Need on dünaamilised pordid, tuntud ka kui privaatsadamad. Neid sadamaid ei saa IANA -s registreerida. Need pordid on avatud kasutamiseks era- või kohandatud teenuste jaoks ning neid võib automaatselt eraldada ka lühiajaliste sadamatena (IP kasutab lühiajalisi sadamaid).
Linuxis on avatud portide kontrollimiseks mitmeid viise. Vaikimisi jääb iga port suletuks, kui rakendus seda ei kasuta. Kui port on avatud, tuleb see määrata teenusele/protsessile.
Avatud portide loend
Lihtsam on tuvastada, millised sadamad on kasutusel, mitte millised. 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 sadamate õppimine võib olla kasulik erinevate stsenaariumide korral. Teatud rakenduste jaoks on võimalik seadistada spetsiaalne port. Avatud port võib samuti olla tugev märk sissetungimisest võrku.
Ubuntu 20.04.1 LTS -is on näidatud järgmisi meetodeid.
Loetlege protokollid ja avatud pordid /etc /services
Fail /etc /services sisaldab teavet praegu töötavate teenuste kohta. See on suur fail, nii et olete ülekoormatud.
$kass /jne/teenused| vähem
Loetlege avatud pordid, kasutades netstatit
Tööriist netstat on utiliit TCP, marsruutimistabelite ja erinevate võrguliideste võrguühenduste kuvamiseks. Samuti pakub see võrguprotokolli statistikat. Netstatit kasutades saame loetleda kõik süsteemi avatud pordid.
Käivitage järgmine käsk netstat:
$netstat -atu
Jaotame kiiresti kõik lipud, mida selles käsus kasutasime.
- et : Käsib netstatil kuvada kõik pistikupesad
- t : Käsib netstatil loetleda TCP pordid
- u : Käsib netstatil loetleda UDP pordid
Siin on veel üks käsu netstat variant:
$netstat -lntu
Käskluses on kasutatud kahte uut lippu. Mida nad mõtlevad?
- the : Käsib netstatil printida ainult kuulamispesad
- n : Käsib netstatil näidata pordi numbrit
Porti kasutava protsessi PID kuvamiseks kasutage lippu -p:
$netstat -Sisestage
Loetlege avatud pordid ss abil
SS -tööriist on pistikupesa uurimise utiliit. Selle kasutamine on sarnane netstatiga.
Avatud portide loendiks käivitage järgmine ss -käsk:
$ss-lntu
Lipud on sarnased netstatiga. Nende kirjeldatud funktsioonid on samuti üsna sarnased.
- the : Käsib ss kuvada kuulamispesasid
- n : Käsib ss -i mitte proovida teenuste nimesid lahendada
- t : Käsib ss -l kuvada TCP -pistikupesad
- u : Käsib ss kuvada UDP pesasid
Loetlege avatud pordid lsofi abil
Käsk lsof on avatud failide loend. Kuid seda saab kasutada ka avatud portide kuvamiseks.
Käivitage järgmine käsk lsof:
$lsof-mina
Konkreetse protokolli (TCP, UDP jne) avatud portide hankimiseks määrake see pärast -i lippu, kasutage järgmist:
$lsof-mina <protokoll>
Loetlege avatud pordid nmap abil
Nmap tööriist on võimas võrguuuringute ja turvalisuse/pordi skannimise tööriist. See võib teatada kõikidest süsteemi avatud portidest.
Avatud TCP -portide loetlemiseks käivitage järgmine käsk nmap. Siin on hostarvuti IP -aadress:
$sudo nmap -sT -p-localhost
Siin on käsuargumendi kaks osa.
- -sT : See jaotis käsib nmapil otsida TCP -porte.
- -p- : See käsib nmapil otsida kõiki 65535 porti. Kui seda ei kasutata, skannib nmap vaikimisi ainult 1000 porti.
Kui teil on vaja loetleda avatud UDP -pordid, käivitage järgmine käsk nmap:
$sudo nmap -oma -p-localhost
Nii avatud TCP- kui ka UDP -portide hankimiseks kasutage järgmist käsku:
$sudo nmap -n -PN -sT -oma -p-localhostLoetlege avatud pordid 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 loetlemiseks. See võib sooritada katseid konkreetses sadamas või mitmes sadamas.
Järgmine käsk netcat skannib pordi vahemikus 1 kuni 1000. Käsk netcat kontrollib vaikimisi TCP -protokolli:
$nc-Koos -vlocalhost1-1000
Seda saab laiendada ka võimalike sadamate kogu loendile:
$nc-Koos -vlocalhost1-65535
Teeme lippude kiire jaotuse.
- Koos : Käsib netcatil otsida ainult avatud porte ilma andmeid saatmata
- v : Käsib netcatil töötada paljusõnalises režiimis
Sellest loendist ainult avatud portide hankimiseks filtreerige väljund grep abil, et mõiste õnnestus.
$nc-Koos -vlocalhost0-65535 2> &1 | haaretõnnestusKui soovite skannida UDP -protokolli abil, lisage -u lipp.
$nc-Koos -v -ulocalhost0-65535 2> &1 | haaretõnnestusLõplikud mõtted
Nagu näidatud, on Linuxis avatud sadamate otsimiseks palju võimalusi. Soovitan proovida kõiki meetodeid, enne kui otsustate, millist neist omandada. Kui kasutate regulaarselt teatud tööriista, näiteks netcat või nmap, on seotud meetodite valdamine kõige kasulikum.
Head arvutamist!