U umrežavanju je luka zanimljiva značajka. To je način za mrežni promet da identificira odredišnu aplikaciju ili uslugu. Svaki postupak / usluga dobiva svoj jedinstveni port. Luka će uvijek biti povezana s IP adresom hosta zajedno s protokolom.
Ovo je moja omiljena metafora koja opisuje što je luka. Zamislite brod natovaren teretom koji će otputovati u daleku zemlju. Koje su informacije potrebne da biste pravilno stigli do odredišta? Radi jednostavnosti, recimo da trebaju zemlju (IP adresu) i luka brod će pristati.
U ovom vodiču provjerite kako navesti otvorene portove na Linuxu.
Portovi na Linuxu
Luke djeluju kao krajnja točka komunikacije. To je 16-bitni broj (od 0 do 65535 u decimalu). Iako je raspon velik, radi lakšeg korištenja, luke su kategorizirane u tri kategorije. Svaka kategorija označena je kao raspon vrijednosti priključka:
- 0 do 1023: To su „dobro poznati“ priključci, poznati i kao „sistemski“ priključci, koji su rezervirani za sistemske procese koji nude širok spektar mrežnih usluga. Da bi se povezao s “Dobro poznatim” priključkom, proces mora imati privilegiju superkorisnika.
- 1024 do 49151: To su „Registrirani“ priključci, poznati i kao „Korisnički“ priključci, koje je IANA odredila za određene usluge. Na zahtjev, postupak im može imati pristup. U slučaju većine sustava, za upotrebu ovih priključaka nije potrebna privilegija superkorisnika.
- 49152 do 65535: To su "dinamički" priključci, poznati i kao "privatni" priključci. Te se luke ne mogu registrirati kod IANA-e. Te se luke mogu koristiti za privatne ili prilagođene usluge i mogu se automatski dodijeliti kao kratkotrajne luke (kratkotrajne luke koje koristi IP).
U Linuxu postoji više načina provjere otvorenih portova. Prema zadanim postavkama, bilo koji priključak ostat će zatvoren ako ga aplikacija ne koristi. Ako je port otvoren, tada se mora dodijeliti usluzi / procesu.
Popis otvorenih portova
Lakše je prepoznati koji se porta koriste, a ne koji su otvoreni. Zbog toga će sljedeći odjeljak sadržavati metode za popis svih priključaka koji se trenutno koriste. U Linuxu je za taj zadatak dostupno više alata. Većina ih dolazi ugrađena u bilo koji Linux distribucijski sustav.
Učenje koje su luke trenutno otvorene može biti korisno u različitim scenarijima. Moguće je konfigurirati namjenski port za određenu aplikaciju. Otvoreni priključak također može biti jak pokazatelj upada u mrežu.
Sljedeće su metode prikazane na Ubuntu 20.04.1 LTS.
Navedite protokole i otvorite priključke iz / etc / services
Datoteka / etc / services sadrži informacije o trenutno pokrenutim uslugama. To je velika datoteka, tako spremna za preopterećenje.
$ mačka / itd. / usluge | manje
Popis otvorenih portova pomoću netstata
Alat netstat uslužni je program za prikaz mrežnih veza za TCP, tablice usmjeravanja i razna mrežna sučelja. Također nudi statistiku mrežnog protokola. Korištenjem netstata možemo navesti sve otvorene priključke sustava.
Pokrenite sljedeću naredbu netstat:
$ netstat -atu
Idemo na brzu raščlambu svih zastavica koje smo koristili u ovoj naredbi.
- a: Kaže netstatu da prikaže sve utičnice
- t: Kaže netstatu da navede TCP portove
- u: Kaže netstatu da navede UDP portove
Evo još jedne varijacije naredbe netstat:
$ netstat -lntu
U naredbi se koriste dvije nove zastavice. Što oni znače?
- l: Kaže netstatu da ispisuje samo utičnice za slušanje
- n: Kaže netstatu da prikaže broj porta
Da biste prikazali PID procesa koji koristi priključak, upotrijebite zastavicu "-p":
$ netstat -lntup
Popis otvorenih portova pomoću ss
SS alat je uslužni program za istraživanje utičnice. Njegova upotreba slična je netstatu.
Da biste popisali otvorene portove, pokrenite sljedeću ss naredbu:
$ ss -lntu
Zastave su slične netstatu. Funkcije koje opisuju također su prilično slične.
- l: Kaže ss da prikaže utičnice za slušanje
- n: Reče ss da ne pokušava riješiti nazive usluga
- t: Govori ss da prikaže TCP utičnice
- u: Govori ss da prikaže 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 priključke određenog protokola (TCP, UDP, itd.) zatim ga definirajte nakon zastavice "-i", upotrijebite:
$ lsof -i
Popis otvorenih portova pomoću nmap-a
Nmap alat moćan je za istraživanje mreže i sigurnost / skeniranje priključaka. Može prijaviti sve otvorene priključke u sustavu.
Da biste popisali otvorene TCP portove, pokrenite sljedeću naredbu nmap. Ovdje je IP adresa glavnog računala:
$ sudo nmap -sT -p- localhost
Ovdje su dva dijela naredbenog argumenta.
- -sT: Ovaj odjeljak govori nmap-u da traži TCP portove.
- -str- : Ovo govori nmap-u da skenira svih 65535 priključaka. Ako se ne koristi, tada će nmap prema zadanim postavkama skenirati samo 1000 priključaka.
Ako trebate navesti otvorene UDP portove, pokrenite sljedeću naredbu nmap:
$ sudo nmap -sU -p- localhost
Da biste dobili i otvorene TCP i UDP priključke, upotrijebite sljedeću naredbu:
$ sudo nmap -n -PN -sT -sU -p- localhostPopis otvorenih portova koristeći netcat
Alat netcat uslužni je program naredbenog retka za čitanje i upisivanje podataka preko mrežnih veza preko TCP i UDP protokola. Ovaj se alat također može koristiti za navođenje otvorenih portova. Može provoditi testove na određenoj luci ili na nizu luka.
Sljedeća naredba netcat skenirat će port od 1 do 1000. Naredba netcat će prema zadanim postavkama izvršiti skeniranje na TCP protokolu:
$ nc -z -v localhost 1-1000
Također se može proširiti na cijeli popis mogućih priključaka:
$ nc -z -v localhost 1-65535
Idemo brzo razbiti zastave.
- z: Kaže netcatu da skenira samo otvorene portove bez slanja podataka
- v: Kaže netcatu da se izvodi u opsežnom načinu
Da biste dobili samo otvorene portove s ovog popisa, filtrirajte izlaz grepom za izraz "uspjelo".
$ nc -z -v localhost 0-65535 2> & 1 | grep je uspioAko želite izvršiti skeniranje na UDP protokolu, dodajte zastavicu "-u".
$ nc -z -v -u localhost 0-65535 2> & 1 | grep je uspioZavršne misli
Kao što je pokazano, postoji puno načina za traženje otvorenih portova na Linuxu. Predlažem da isprobate sve metode prije nego što odlučite koju ćete svladati. Ako redovito koristite određeni alat poput netcat ili nmap, tada će svladavanje povezanih metoda biti najkorisnije.
Sretno računanje!