Kako popisati otvorene portove na Linuxu?

How List Open Ports Linux



U umrežavanju je port zanimljiva značajka. To je način da mrežni promet identificira odredišnu aplikaciju ili uslugu. Svaki proces/usluga dobiva svoj jedinstveni port. Port će uvijek biti povezan s IP adresom hosta zajedno s protokolom.

Ovo mi je omiljena metafora da opišem što je luka. Zamislite brod natovaren teretom, koji će putovati u daleku zemlju. Koje su informacije potrebne za pravilan dolazak na odredište? Radi jednostavnosti, recimo da treba državu (IP adresu) i luka brod će pristati.







U ovom vodiču provjerite kako popisati otvorene portove na Linuxu.



Portovi na Linuxu

Luke djeluju kao krajnja točka komunikacije. To je 16-bitni broj (od 0 do 65535 u decimalnom obliku). Iako je raspon velik, radi lakšeg korištenja, portovi su kategorizirani u tri kategorije. Svaka kategorija je označena kao raspon vrijednosti porta:



  • 0 do 1023: To su dobro poznati portovi, poznati i kao sistemski portovi, koji su rezervirani za sistemske procese koji nude široku paletu mrežnih usluga. Za povezivanje s dobro poznatim portom, proces mora imati privilegije superkorisnika.
  • 1024 do 49151: To su registrirani portovi, poznati i kao korisnički portovi, koje je IANA označila za određene usluge. Na zahtjev, proces može imati pristup njima. U slučaju većine sustava, za korištenje ovih portova nije potrebna nikakva privilegija superkorisnika.
  • 49152 do 65535: To su dinamički portovi, poznati i kao privatni portovi. Ti se portovi ne mogu registrirati kod IANA -e. Ti su portovi otvoreni za korištenje za privatne ili prilagođene usluge, a mogu se i automatski dodijeliti kao efemerni portovi (kratkotrajni portovi koje koristi IP).

U Linuxu postoji više načina provjere otvorenih portova. Prema zadanim postavkama, svaki će port ostati zatvoren ako ga aplikacija ne koristi. Ako je port otvoren, mora se dodijeliti usluzi/procesu.





Popis otvorenih portova

Lakše je odrediti koji su portovi u upotrebi, a ne otvoreni. Zato će sljedeći odjeljak sadržavati metode za popis svih portova koji se trenutno koriste. U Linuxu postoji više alata za taj zadatak. Većina njih dolazi ugrađena u bilo koji Linux distro.

Učenje koji su trenutno otvoreni portovi može biti korisno u različitim scenarijima. Moguće je konfigurirati namjenski port za određenu aplikaciju. Otvoreni port također može biti snažan pokazatelj upada u mrežu.



Sljedeće metode prikazane su na Ubuntu 20.04.1 LTS.

Navedite protokole i otvorene portove iz /etc /services

Datoteka /etc /services sadrži informacije o uslugama koje se trenutno izvode. To je velika datoteka, spremna za preopterećenje.

$mačka /itd/usluge| manje

Popis otvorenih portova pomoću netstat -a

Alat netstat je uslužni program za prikaz mrežnih veza za TCP, tablica usmjeravanja i različitih mrežnih sučelja. Također nudi statistiku mrežnih protokola. Korištenjem netstata možemo popisati sve otvorene portove sustava.

Pokrenite sljedeću naredbu netstat:

$netstat -atu

Hajdemo nakratko raščlaniti sve zastavice koje smo koristili u ovoj naredbi.

  • do : Kaže netstatu da prikazuje sve utičnice
  • t : Kaže netstatu da napiše TCP portove
  • u : Kaže netstatu da napiše UDP portove

Evo još jedne varijacije naredbe netstat:

$netstat -lntu

U naredbi se koriste dvije nove zastavice. Što znače?

  • the : Kaže netstatu da ispisuje samo utičnice za slušanje
  • n : Kaže netstatu da prikaže broj porta

Za prikaz PID -a procesa koji koristi port koristite zastavicu -p:

$netstat -U nastavku

Popis otvorenih portova pomoću ss

Alat ss je uslužni program za istraživanje utičnice. Njegova je upotreba slična netstatu.

Za popis otvorenih portova pokrenite sljedeću naredbu ss:

$ss-lntu

Zastave su slične netstatu. Funkcije koje opisuju također su prilično slične.

  • the : Kaže ss -u da prikaže utičnice za slušanje
  • n : Kaže ss -u da ne pokušava riješiti nazive usluga
  • t : Kaže ss -u da prikaže TCP utičnice
  • u : Kaže ss -u da prikazuje UDP utičnice

Popis otvorenih portova pomoću lsof

Naredba lsof je popis otvorenih datoteka. Međutim, može se koristiti i za prikaz otvorenih portova.

Pokrenite sljedeću naredbu lsof:

$lsof-i

Da biste dobili otvorene portove određenog protokola (TCP, UDP itd.), A zatim ga definirajte iza -i zastavice, upotrijebite:

$lsof-i <protokol>

Popis otvorenih portova pomoću nmap -a

Nmap alat je moćan alat za istraživanje mreže i sigurnost/skeniranje portova. Može prijaviti sve otvorene portove u sustavu.

Za popis otvorenih TCP portova pokrenite sljedeću naredbu nmap. Ovdje je IP adresa računala domaćina:

$sudo nmap -sT -p-localhost

Ovdje postoje dva dijela argumenta naredbe.

  • -sT : Ovaj odjeljak govori nmapu da traži TCP portove.
  • -p- : Ovo govori nmapu da skenira svih 65535 portova. Ako se ne koristi, nmap će prema zadanim postavkama skenirati samo 1000 portova.

Ako trebate navesti otvorene UDP portove, pokrenite sljedeću naredbu nmap:

$sudo nmap -svoje -p-localhost

Da biste dobili otvorena TCP i UDP porta, upotrijebite sljedeću naredbu:

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

Navedite otvorene portove koristeći netcat

Alat netcat je pomoćni program za naredbeni redak za čitanje i pisanje podataka preko mrežnih veza preko TCP i UDP protokola. Ovaj se alat može koristiti i za popis otvorenih portova. Može izvesti ispitivanja na određenom portu ili nizu portova.

Sljedeća naredba netcat skenirat će port od 1 do 1000. Naredba netcat prema zadanim će postavkama izvršiti skeniranje na TCP protokolu:

$nc-S -vlocalhost1-1000

Također se može proširiti na cijeli popis mogućih priključaka:

$nc-S -vlocalhost1-65535

Hajdemo na brzinu razgraditi zastave.

  • S : Kaže netcat -u da skenira samo otvorene portove bez slanja podataka
  • v : Kaže netcat -u da radi u detaljnom načinu rada

Da biste s ovog popisa dobili samo otvorene portove, filtrirajte izlaz pomoću grep za pojam uspio.

$nc-S -vlocalhost0-65535 2> &1 | zahvatuspio

Ako želite skenirati na UDP protokolu, dodajte zastavicu -u.

$nc-S -v -ulocalhost0-65535 2> &1 | zahvatuspio

Završne misli

Kao što je pokazano, postoji mnogo načina za traženje otvorenih portova na Linuxu. Predlažem da isprobate sve metode prije nego odlučite koju ćete svladati. Ako redovito koristite određeni alat poput netcat ili nmap, svladavanje pridruženih metoda bit će najkorisnije.

Sretno računanje!