Na kratko bomo opisali vrata v računalniškem omrežju, nadalje pa bomo govorili o tem, kako lahko naštejemo vsa odprta vrata v Linuxu.
Vrata lahko definiramo kot logično entiteto v smislu računalniškega omrežja in programske opreme.
Deluje kot komunikacijska končna točka za prepoznavanje danega procesa ali aplikacije na operacijski sistem Linux . Pristanišče je a 16-bitni (o do 65535) številka, ki razlikuje posamezno aplikacijo od drugih na različnih končnih sistemih.
Dva izmed najbolj znanih internetnih transportnih protokolov, Protokol uporabniškega datagrama (UDP) in Protokol za nadzor prenosa (TCP) in drugi protokoli uporabljajo številke vrat za številne seje komunikacije (številke ciljnih in izvornih vrat v povezavi s ciljnimi in izvornimi naslovi IP).
Kombinacija protokola, vrat in naslova IP, kot je TCP/UDP se imenuje a vtičnica. Vse storitve morajo imeti določeno vtičnico.
pomladne st
Kategorije pristanišča
Ta vrata so zaradi lažje uporabe razdeljena v tri kategorije, saj je raznolikost vrat velika. Vse kategorije so označene kot obseg vrat:
0-1023: Ta pristanišča so znano in poklical 'Sistem' pristanišča. Rezervirani so za procese sistema, ki zagotavljajo ogromno omrežnih storitev. Proces mora imeti privilegije superuporabnika za povezovanje s katerim koli 'Znano' pristanišče.
1024-49151: Ta pristanišča so 'Registrirano' in poklical 'Uporabnik' pristanišča. Določeni so prek IANA za edinstvene storitve. Postopek jim lahko na zahtevo omogoči preverjanje pristnosti. Za uporabo teh vrat v večini primerov sistemov ne potrebuje nobenih privilegijev superuporabnika.
49152-65535: Ta pristanišča so 'Dinamično' in poklical 'Zasebno' pristanišča. Ni jih mogoče registrirati pri IANA. Te vrste vrat so odprte za uporabo za prilagojene in zasebne storitve in se lahko dodelijo tudi kot efemerna vrata (znana kot kratkotrajno vrata, ki jih uporablja IP) samodejno.
Obstaja toliko načinov za preverjanje odprtih vrat v Linuxu. Privzeto se vrata zaprejo, razen če jih uporablja katera koli aplikacija. Vrata morajo biti dodeljena procesu ali storitvi, če je odprta.
Odprite seznam vrat
Lažje je vedeti, katera vrata so v uporabi, namesto katera vrata so odprta. Zato bo spodnji razdelek navedel metode za seznam vseh vrat, ki so trenutno v uporabi.
Za to nalogo je v Linuxu na voljo več orodij. Večina jih je na voljo vgrajena v distribuciji Linuxa.
Učenje, katera vrata so trenutno odprta, bi lahko bilo koristno v številnih scenarijih. Za zagotovljeno aplikacijo je mogoče določiti namenska vrata. Odprta vrata so lahko močan znak vdora v omrežje.
Metode se uporabljajo na Ubuntu 20.04 LTS ki so omenjeni spodaj.
Seznam odprtih vrat in protokolov z uporabo datoteke /etc/services
Datoteka, tj. /etc/storitve vsebuje podrobnosti o delujočih storitvah (trenutno). To je velika datoteka.
$cat /etc/services | less
Navedite odprta vrata z netstat
The netstat lahko opišemo kot pripomoček za prikaz omrežnih povezav za usmerjevalne tabele, TCP in več omrežnih vmesnikov. Prav tako olajša statistiko omrežnega protokola. Z orodjem netstat bi lahko našteli vsa odprta vrata sistema.
Izvedemo lahko spodnji ukaz:
$ netstat -atu
Na hitro razložimo razčlenitev vsake zastavice, ki smo jo uporabili v zgornjem ukazu:
1. a: Ta zastavica obvesti netstat za prikaz vsake vtičnice.
2. t: Ta zastavica obvesti netstat za seznam vrat TCP.
3. v: Ta zastavica obvesti netstat za seznam vrat UDP.
The netstat ukaz ima še eno različico, ki je omenjena spodaj:
$ netstat -lntu
Dve zastavici sta novi v zgornjem ukazu, kar je razloženo na naslednji način:
1. l: Ta zastavica obvesti netstat za tiskanje samo poslušajočih vtičnic.
2. n: Ta zastavica obvesti netstat za prikaz številke vrat.
Lahko uporabimo zastavo, tj. '-p' za prikaz PID procesa, ki uporablja katera koli vrata.
$ netstat -lntup
Lokalno preverite odprta vrata
Ukaz netstat je na voljo v vsakem računalniškem operacijskem sistemu za spremljanje omrežnih povezav. Spodnji ukaz uporabi netstat za prikaz vseh poslušajočih vrat s protokolom TCP:
netstat -lt
Na kratko definirajmo zastavice, ki so prisotne v zgornjem ukazu:
1. -l: Navaja prisluškovalna vrata.
2. -t: Določa protokol TCP.
Rezultat je dobro urejen v stolpcih, ki prikazujejo protokol, človeku prijazen, poslane in prejete pakete, stanje vrat, oddaljene in lokalne naslove IP.
Če spremenimo protokol TCP za protokol UDP, bo izhod pokazal samo odprta vrata. Rezultat bo prikazan brez opisa stanja zaradi protislovja s protokolom TCP.
netstat -lu
Opisovanje protokolov lahko prezremo in uporabimo samo možnost --listen ali -l za pridobitev podrobnosti o vsaki vrati, ki prosto posluša protokol:
netstat --listen
Zgornja možnost bo prikazala podrobnosti za protokole vtičnic Unix, UDP in TCP.
Vsak zgornji primer prikazuje, kako natisniti podrobnosti prek poslušajočih vrat brez pooblaščenih povezav. Spodnji ukazi prikazujejo, kako prikazati poslušajoča vrata in pooblaščene povezave.
netstat -vatn
Kje:
1. -v: Uporablja se za dobesednost.
tipkopis zanke foreach
2. -a: Prikazuje aktivne povezave.
3. -t: Prikazuje tcp povezave.
4. -n: Prikazuje vrata (številska vrednost).
Recimo, da prepoznamo sumljiv proces znotraj našega sistema in želimo preveriti z njim povezana vrata. Uporabimo lahko ukaz lsof, ki se uporablja za seznam odprtih datotek, povezanih s procesi.
lsof -i 4 -a -p
Kje,
1. -i: Navaja seznam datotek, ki sodelujejo z internetom 6 možnost je prisotna za IPv6, in 4 možnost navodi samo za tiskanje IPv4.
2. -a: Ukazuje na rezultat Si dal.
3. -p: Določa številko PID procesa, ki jo želimo preveriti.
Navedite odprta vrata s ss
The ss orodje je mogoče določiti kot pripomoček za raziskovanje vtičnice. Uporaba tega orodja je enaka kot pri netstat ukaz.
Lahko zaženemo spodnji ukaz za seznam odprtih vrat:
$ ss -lntu
Zgornje zastave so enake kot netstat ukaz. Tudi funkcije, ki jih opisuje orodje ss, so povsem enake.
1. l: Ta zastavica obvešča ss za prikaz poslušajočih vtičnic.
2. n: Ta zastavica obvešča ss, naj ne poskuša zaključiti imen storitev.
3. t: Ta zastavica obvešča ss za prikazne vtičnice TCP.
4. v: Ta zastavica obvešča ss za prikaz vtičnic UDP.
Seznam odprtih vrat z lsof
Ukaz lsof lahko uporabite za seznam odprtih datotek. Lahko pa se uporablja tudi za prikaz odprtih vrat.
Izvedemo lahko naslednji ukaz:
$ lsof -i
Če želite pridobiti odprta vrata določenega protokola (UDP, TCP itd.), ga nato določite po uporabi '-jaz' zastavico, lahko izvedemo naslednji ukaz:
$ lsof -i
Seznam odprtih vrat z nmapom
Ukaz nmap lahko opredelimo kot močnega za skeniranje vrat/varnosti in raziskovanje omrežja. Lahko tudi poroča o vseh odprtih vratih v sistemu.
Izvedemo lahko naslednji ukaz za seznam odprtih vrat TCP.
$ sudo nmap -sT -p- localhost
Obstajata dva dela tega ukaza, ki je omenjen zgoraj:
1. -sT: Obvešča orodje nmap za skeniranje TCP pristanišča.
2. -p-: Obvešča orodje nmap za skeniranje vsakega 65535 pristanišča. Orodje nmap bo skeniralo 1000 vrata samo privzeto, če se ne uporabljajo.
Če želimo navesti odprta vrata UDP, lahko izvedemo naslednji ukaz:
$ sudo nmap -sU -p- localhost
Izvedemo lahko tudi naslednji ukaz za pridobitev vrat UDP in TCP:
$ sudo nmap -n -PN -sT -sU -p- localhost
Navedite odprta vrata z netcat
Orodje netcat lahko opišemo kot pripomoček ukazne vrstice za branje in pisanje podatkov prek številnih omrežnih povezav na protokolih UDP in TCP. Uporablja se lahko tudi za seznam odprtih vrat. To orodje lahko izvaja teste na določenih vratih ali različnih vratih.
Spodnji ukaz netcat se uporablja za skeniranje vrat iz 1-1000. Privzeto bo izvajal skeniranje prek protokola TCP:
$ nc -z -v localhost 1-1000
Prav tako se lahko razširi na celoten seznam določenih vrat:
$ nc -z -v localhost 1-65535
Hitro razčlenimo te zastave.
1. od: Ukaz netcat sporoči samo za pregledovanje odprtih vrat, brez prenosa podatkov.
2. v: Obvešča ukaz netcat za izvajanje v podrobnem načinu.
shloka mehta izobraževanje
Rezultat lahko filtriramo s pomočjo grep za izraz 'uspelo' za pridobivanje samo odprtih vrat skozi ta seznam.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Če želimo izvesti skeniranje prek protokola UDP, je. Lahko vključimo '-in' zastava.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded