logo

Kako provjeriti otvorene portove u Linuxu

Ukratko ćemo opisati portove unutar računalnog umrežavanja i dalje ćemo govoriti o tome kako možemo navesti svaki otvoreni port u Linuxu.

Port se može definirati kao logički entitet u smislu računalnog umrežavanja i softvera.

Djeluje kao komunikacijska krajnja točka za identificiranje određenog procesa ili aplikacije na Linux operativni sustav . Luka je a 16-bitni (o do 65535) broj koji razlikuje jednu aplikaciju od drugih na različitim krajnjim sustavima.

Dva najpoznatija internetska transportna protokola, Protokol korisničkog datagrama (UDP) i Protokol kontrole prijenosa (TCP) i drugi protokoli primjenjuju brojeve portova za mnoge sesije komunikacije (odredišni i izvorišni brojevi porta u kombinaciji s odredišnom i izvorišnom IP adresom).

Kombinacija protokola, porta i IP adrese poput TCP/UDP zove se a utičnica. Potrebno je da sve usluge imaju određenu utičnicu.

niz bajtova u niz java

Kategorije luka

Ti su priključci podijeljeni u tri kategorije radi lakšeg korištenja jer je raznolikost priključaka velika. Sve kategorije su označene kao raspon vrijednosti porta:

0-1023: Ove luke su dobro poznat i nazvao 'Sustav' luke. Oni su rezervirani za procese sustava koji pružaju ogroman raspon mrežnih usluga. Proces bi trebao imati privilegije superkorisnika za povezivanje s bilo kojim 'Dobro poznat' luka.

1024-49151: Ove luke su 'Registrirano' i nazvao je 'Korisnik' luke. Određeni su putem IANA za jedinstvene usluge. Proces može imati autentifikaciju za njih na zahtjev. Ne treba nikakvu privilegiju superkorisnika za korištenje ovih portova u većini slučajeva sustava.

49152-65535: Ove luke su 'Dinamičan' i nazvao je 'Privatna' luke. Ne mogu se registrirati IANA. Ove vrste priključaka otvorene su za korištenje za prilagođene i privatne usluge, a mogu se također dodijeliti kao prolazni priključci (poznati kao kratkotrajni portovi primijenjeni putem IP-a) automatski.

Postoji toliko mnogo načina za provjeru otvorenih portova u Linuxu. Prema zadanim postavkama, port će se zatvoriti osim ako ga aplikacija ne primjenjuje. Port bi trebao biti dodijeljen procesu ili usluzi ako je otvoren.

Otvorite popis priključaka

Lakše je znati koji je port u upotrebi umjesto koji je port otvoren. Stoga će odjeljak u nastavku pružiti metode za ispisivanje svakog priključka koji se trenutno koristi.

Za ovaj zadatak u Linuxu postoji nekoliko alata. Većina ih je dostupna ugrađeni u Linux distribuciji.

Saznavanje koji je port trenutno otvoren moglo bi biti od pomoći u mnogim scenarijima. Moguće je odrediti namjenski priključak za osiguranu aplikaciju. Otvoreni priključak može biti jak pokazatelj upada unutar mreže.

Metode se koriste na Ubuntu 20.04 LTS koji su navedeni u nastavku.

Popis otvorenih portova i protokola pomoću datoteke /etc/services

Datoteka, tj. /etc/services sadrži detalje o pokrenutim uslugama (trenutačno). To je velika datoteka.

 $cat /etc/services | less 

Kako provjeriti otvorene portove u Linuxu

Popis otvorenih portova s ​​netstatom

The netstat Alat se može opisati kao uslužni program za prikaz mrežnih veza za tablice usmjeravanja, TCP i nekoliko mrežnih sučelja. Također, olakšava statistiku mrežnog protokola. Mogli bismo popisati svaki otvoreni port sustava pomoću alata netstat.

Možemo izvršiti sljedeću naredbu:

 $ netstat -atu 

Kako provjeriti otvorene portove u Linuxu

Objasnimo brzo raščlambu svake zastavice koju smo koristili u gornjoj naredbi:

1. a: Ova zastavica obavještava netstat za prikazivanje svake utičnice.

2. t: Ova oznaka obavještava netstat za popis TCP portova.

3. u: Ova oznaka obavještava netstat za popis UDP portova.

The netstat naredba ima još jednu varijaciju koja je navedena u nastavku:

 $ netstat -lntu 

Kako provjeriti otvorene portove u Linuxu

Dvije zastavice su nove u gornjoj naredbi što je objašnjeno na sljedeći način:

1. l: Ova zastavica obavještava netstat da ispisuje samo slušajuće utičnice.

2. n: Ova zastavica obavještava netstat za prikazivanje broja priključka.

Možemo koristiti zastavu, tj. '-p' za prikaz PID-a procesa koji koristi bilo koji port.

 $ netstat -lntup 

Kako provjeriti otvorene portove u Linuxu

Provjerite otvorene portove lokalno

Naredba netstat dostupna je na svakom operativnom sustavu računala za praćenje mrežnih veza. Donja naredba primjenjuje netstat za prikaz svakog porta za slušanje s TCP protokolom:

 netstat -lt 

Kako provjeriti otvorene portove u Linuxu

Ukratko definirajmo oznake koje su prisutne u gornjoj naredbi:

1. -l: Navodi priključke za slušanje.

2. -t: Određuje TCP protokol.

Rezultat je dobro raspoređen u stupcima koji prikazuju protokol, prilagođene ljudima, poslane i primljene pakete, stanje priključka, udaljene i lokalne IP adrese.

Ako promijenimo TCP protokol za UDP protokol, tada će izlaz prikazati samo otvorene portove. Rezultat će se prikazati bez opisa stanja zbog proturječnosti TCP protokolu.

 netstat -lu 

Kako provjeriti otvorene portove u Linuxu

Možemo zanemariti opisivanje protokola i primijeniti samo opciju --listen ili -l za dobivanje detalja o svakom portu koji slobodno sluša protokol:

32-bitna arhitektura naspram 64-bitne
 netstat --listen 

Kako provjeriti otvorene portove u Linuxu

Gornja opcija će pokazati detalje za Unix, UDP i TCP socket protokole.

Svaki gornji primjer prikazuje kako ispisati detalje preko priključaka za slušanje bez ovlaštenih veza. Naredbe u nastavku prikazuju kako prikazati priključke za slušanje i ovlaštene veze.

 netstat -vatn 

Kako provjeriti otvorene portove u Linuxu

Gdje:

1. -u: Koristi se za opširnost.

2. -a: Prikazuje aktivne veze.

3. -t: Prikazuje tcp veze.

4. -n: Prikazuje priključke (brojčana vrijednost).

Recimo da prepoznamo sumnjivi proces unutar našeg sustava i želimo provjeriti povezane priključke. Možemo koristiti naredbu lsof koja se koristi za ispisivanje otvorenih datoteka povezanih s procesima.

 lsof -i 4 -a -p 

Gdje,

1. -i: Popisuje datoteke koje surađuju s Internetom, 6 postoji opcija za IPv6, i 4 opcija upućuje samo na ispis IPv4.

2. -a: Upućuje na rezultat Ti si dao.

3. -p: Određuje PID broj procesa koji želimo provjeriti.

Navedite otvorene portove s ss

The ss alat se može navesti kao uslužni program za istraživanje utičnice. Upotreba ovog alata je ista kao i netstat naredba.

Možemo pokrenuti naredbu ispod za popis otvorenih portova:

 $ ss -lntu 

Kako provjeriti otvorene portove u Linuxu

Gornje zastave su iste kao netstat naredba. Funkcije koje opisuje ss alat također su prilično iste.

1. l: Ova zastavica obavještava ss za prikazivanje slušajućih utičnica.

2. n: Ova zastavica obavještava ss da ne pokušava zaključiti imena usluga.

3. t: Ova zastavica obavještava ss za prikaz TCP utičnica.

4. u: Ova zastavica obavještava ss za prikazivanje UDP utičnica.

Ispis otvorenih portova pomoću lsof

Naredba lsof može se koristiti za ispisivanje otvorenih datoteka. No, može se koristiti i za prikaz otvorenih portova.

Možemo izvršiti sljedeću naredbu:

 $ lsof -i 

Kako provjeriti otvorene portove u Linuxu

Za dobivanje otvorenih portova određenog protokola (UDP, TCP, itd.) navedite ga nakon korištenja '-ja' zastavicom, možemo izvršiti sljedeću naredbu:

 $ lsof -i 

Popis otvorenih portova s ​​nmapom

Naredba nmap može se definirati kao jaka za port/sigurnosno skeniranje i istraživanje mreže. Također može prijaviti svaki otvoreni port unutar sustava.

Možemo izvršiti sljedeću naredbu za popis otvorenih TCP portova.

 $ sudo nmap -sT -p- localhost 

Kako provjeriti otvorene portove u Linuxu

Postoje dva dijela ove naredbe koja je gore spomenuta:

1. -sT: Obavještava nmap alat za skeniranje TCP luke.

2. -p-: Obavještava nmap alat za skeniranje svake 65535 luke. Nmap alat će skenirati 1000 portovi samo prema zadanim postavkama ako se ne koriste.

Ako trebamo navesti otvorene portove UDP-a, tada možemo izvršiti sljedeću naredbu:

 $ sudo nmap -sU -p- localhost 

Kako provjeriti otvorene portove u Linuxu

Također možemo izvršiti sljedeću naredbu za dobivanje UDP i TCP portova:

 $ sudo nmap -n -PN -sT -sU -p- localhost 

Kako provjeriti otvorene portove u Linuxu

Ispis otvorenih portova pomoću netcat-a

Alat netcat može se opisati kao uslužni program naredbenog retka za čitanje i pisanje podataka preko mnogih mrežnih veza na UDP i TCP protokolima. Također, može se koristiti za popis otvorenih portova. Ovaj alat može implementirati testove preko određenog priključka ili niza priključaka.

Naredba netcat u nastavku koristi se za skeniranje porta iz 1-1000 (prikaz, stručni). Prema zadanim postavkama, implementirat će skeniranje preko TCP protokola:

 $ nc -z -v localhost 1-1000 

Kako provjeriti otvorene portove u Linuxu

Također, može se proširiti na cijeli popis određenih portova:

 $ nc -z -v localhost 1-65535 

Kako provjeriti otvorene portove u Linuxu

Brzo raščlanimo ove zastave.

1. od: Obavještava netcat naredbu za skeniranje samo otvorenih portova, bez prijenosa podataka.

2. u: Obavještava naredbu netcat za izvođenje u opširnom načinu.

mysql jedinstveni ključ

Rezultat možemo filtrirati uz pomoć grepa za izraz 'uspjelo' za dobivanje samo otvorenih portova kroz ovaj popis.

 $ nc -z -v 127.0.0.1 20-80 | grep succeeded 

Kako provjeriti otvorene portove u Linuxu

Ako želimo implementirati skeniranje preko UDP protokola, Možemo uključiti '-u' zastava.

 $ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded