Pri mreženju so vrata zanimiva lastnost. To je način, da omrežni promet prepozna ciljno aplikacijo ali storitev. Vsak postopek / storitev dobi svoja edinstvena vrata. Vrata bodo vedno povezana z naslovom IP gostitelja skupaj s protokolom.
To je moja najljubša prispodoba, ki opisuje, kaj je pristanišče. Predstavljajte si ladjo, natovorjeno s tovorom, ki bo odpotovala v oddaljeno deželo. Katere informacije so potrebne za pravilen dostop do cilja? Zaradi poenostavitve recimo, da potrebuje državo (naslov IP) in pristanišče ladja bo pristala.
V tem priročniku si oglejte, kako lahko v Linuxu navedete odprta vrata.
Vrata v Linuxu
Pristanišča delujejo kot končna točka komunikacije. To je 16-bitno število (od 0 do 65535 v decimalnih številkah). Obseg je velik, vendar so vrata zaradi enostavnosti uporabe razdeljena v tri kategorije. Vsaka kategorija je označena kot obseg vrednosti vrat:
- 0 do 1023: To so "dobro znana" vrata, znana tudi kot "sistemska" vrata, ki so rezervirana za sistemske procese, ki ponujajo najrazličnejše omrežne storitve. Če želite, da se postopek veže na »dobro znana« vrata, mora imeti privilegij super uporabnika.
- 1024 do 49151: To so "registrirana" vrata, znana tudi kot "uporabniška", ki jih IANA določi za posebne storitve. Na zahtevo ima lahko postopek dostop do njih. V primeru večine sistemov za uporabo teh vrat ni potreben privilegij super uporabnika.
- 49152 do 65535: To so "dinamična" vrata, znana tudi kot "zasebna" vrata. Teh vrat ni mogoče registrirati pri IANA. Ta vrata so odprta za uporabo za zasebne ali prilagojene storitve in se lahko samodejno dodelijo kot kratkotrajna vrata (kratkotrajna vrata, ki jih uporablja IP).
V Linuxu obstaja več načinov preverjanja odprtih vrat. Vsa vrata bodo privzeto ostala zaprta, razen če jih uporablja aplikacija. Če so vrata odprta, jih je treba dodeliti storitvi / procesu.
Seznam odprtih vrat
Lažje je ugotoviti, katera vrata so v uporabi in ne katera vrata so odprta. Zato bodo v naslednjem razdelku predstavljene metode za seznam vseh vrat, ki so trenutno v uporabi. V Linuxu je za nalogo na voljo več orodij. Večina jih je vgrajena v kateri koli distribucijski sistem Linux.
Učenje, katera vrata so trenutno odprta, je lahko koristno v različnih scenarijih. Za določeno aplikacijo je mogoče konfigurirati namenska vrata. Odprta vrata so lahko tudi močan znak vdora v omrežje.
Naslednje metode so predstavljene na Ubuntu 20.04.1 LTS.
Seznam protokolov in odprta vrata iz / etc / services
Datoteka / etc / services vsebuje informacije o trenutno delujočih storitvah. To je velika datoteka, tako pripravljena, da vas preobremeni.
$ mačka / itd / storitve | manj
Seznam odprtih vrat uporabite z uporabo netstata
Orodje netstat je pripomoček za prikaz omrežnih povezav za TCP, usmerjevalne tabele in različne omrežne vmesnike. Ponuja tudi statistiko omrežnih protokolov. Z uporabo netstata lahko naštejemo vsa odprta vrata sistema.
Zaženite naslednji ukaz netstat:
$ netstat -atu
Hitro razčlenimo vse zastavice, ki smo jih uporabili v tem ukazu.
- a: Pove omrežju, da prikaže vse vtičnice
- t: Pove netstatu, da navede vrata TCP
- u: Pove omrežju, naj navede vrata UDP
Tu je še ena različica ukaza netstat:
$ netstat -lntu
V ukazu sta uporabljeni dve novi zastavici. Kaj pomenijo?
- l: Pove omrežju, naj natisne samo vtičnice za poslušanje
- n: Pove omrežju, naj prikaže številko vrat
Če želite prikazati PID procesa, ki uporablja vrata, uporabite zastavico “-p”:
$ netstat -lntup
Seznam odprtih vrat uporabite ss
Orodje ss je pripomoček za preiskovanje vtičnice. Njegova uporaba je podobna netstatu.
Če želite seznam odprtih vrat, zaženite naslednji ukaz ss:
$ ss -lntu
Zastave so podobne netstatu. Tudi funkcije, ki jih opisujejo, so si precej podobne.
- l: Pove ss, da prikaže vtičnice za poslušanje
- n: Pove ss, naj ne poskuša razrešiti imen storitev
- t: Sporoča ss, da prikaže vtičnice TCP
- u: Pove ss, naj prikaže UDP vtičnice
Seznam odprtih vrat navedite s pomočjo lsof
Ukaz lsof je seznam odprtih datotek. Lahko pa se uporablja tudi za prikaz odprtih vrat.
Zaženite naslednji ukaz lsof:
$ lsof -i
Pridobiti odprta vrata določenega protokola (TCP, UDP itd.) nato ga definirajte za zastavico “-i”, uporabite:
$ lsof -i
Seznam odprtih vrat s pomočjo nmap
Orodje nmap je močno orodje za raziskovanje omrežja in varnost / skeniranje vrat. Poroča lahko o vseh odprtih vratih v sistemu.
Če želite seznam odprtih vrat TCP, zaženite naslednji ukaz nmap. Tu je naslov IP gostiteljskega računalnika:
$ sudo nmap -sT -p- localhost
Tu sta dva dela ukaznega argumenta.
- -sT: Ta odsek pove nmap-u, naj išče vrata TCP.
- -str- : To pove, da mora nmap pregledati vseh 65535 vrat. Če se ne uporablja, bo nmap privzeto skeniral le 1000 vrat.
Če morate navesti odprta vrata UDP, zaženite naslednji ukaz nmap:
$ sudo nmap -sU -p- localhost
Če želite dobiti odprta vrata TCP in UDP, uporabite naslednji ukaz:
$ sudo nmap -n -PN -sT -sU -p- localhostSeznam odprtih vrat uporabite z uporabo netcat
Orodje netcat je pripomoček ukazne vrstice za branje in zapisovanje podatkov prek omrežnih povezav prek protokolov TCP in UDP. To orodje lahko uporabite tudi za naštevanje odprtih vrat. Lahko izvaja teste na določenih vratih ali na številnih vratih.
Naslednji ukaz netcat bo skeniral vrata od 1 do 1000. Ukaz netcat bo privzeto opravil skeniranje protokola TCP:
$ nc -z -v localhost 1-1000
Razširi se lahko tudi na celoten seznam možnih vrat:
$ nc -z -v localhost 1-65535
Na hitro razčlenimo zastave.
- z: Omrežju pove, naj skenira samo za odprta vrata, ne da bi poslal podatke
- v: Pove, da se Netcat izvaja v podrobnem načinu
Če želite s tega seznama dobiti samo odprta vrata, filtrirajte izhod z grep za izraz "uspelo".
$ nc -z -v localhost 0-65535 2> & 1 | grep je uspelČe želite izvesti pregled na protokolu UDP, dodajte zastavico “-u”.
$ nc -z -v -u localhost 0-65535 2> & 1 | grep je uspelKončne misli
Kot je prikazano, obstaja veliko načinov za iskanje odprtih vrat v Linuxu. Predlagam, da preizkusite vse metode, preden se odločite, katero boste obvladali. Če redno uporabljate določeno orodje, kot sta netcat ali nmap, bo obvladovanje povezanih metod najbolj koristno.
Srečno računalništvo!