logo

Cum să verificați porturile deschise în Linux

Pe scurt, vom descrie porturile din rețeaua computerelor și, în continuare, vom vorbi despre cum putem enumera fiecare port deschis în Linux.

Un port poate fi definit ca o entitate logică în termeni de rețele de computere și software.

Acesta acționează ca un punct final de comunicare pentru identificarea unui anumit proces sau aplicație pe sistem de operare Linux . Un port este un 16 biți (de la 65535) număr care diferențiază o singură aplicație de altele pe diferite sisteme finale.

Două dintre cele mai cunoscute protocoale de transport pe Internet, Protocolul de datagramă utilizator (UDP) și Protocolul de control al transmisiei (TCP) și alte protocoale aplică numere de port pentru multe sesiuni de comunicare (numerele de porturi de destinație și sursă împreună cu adresele IP de destinație și sursă).

O combinație de protocol, port și adresă IP, cum ar fi TCP/UDP se numeste a priză. Este necesar ca toate serviciile să aibă o priză specifică.

operator rest python

Categorii de porturi

Aceste porturi sunt împărțite în trei categorii pentru ușurință în utilizare, deoarece varietatea de porturi este mare. Toate categoriile sunt etichetate ca interval de valori ale portului:

0-1023: Aceste porturi sunt bine cunoscute și a sunat 'Sistem' porturi. Acestea sunt rezervate proceselor sistemului care oferă o gamă largă de servicii de rețea. Un proces ar trebui să aibă privilegiile unui superutilizator pentru a le lega cu oricare 'Bine cunoscute' port.

1024-49151: Aceste porturi sunt „Înregistrat” și a numit 'Utilizator' porturi. Ele sunt desemnate prin IANA pentru servicii unice. Un proces poate avea autentificare la ele la cerere. Nu are nevoie de niciun privilegiu al unui superutilizator pentru utilizarea acestor porturi în majoritatea cazurilor de sisteme.

49152-65535: Aceste porturi sunt 'Dinamic' și a numit 'Privat' porturi. Ei nu pot fi înregistrați IANA. Aceste tipuri de porturi sunt deschise pentru utilizare pentru servicii personalizate și private și pot fi, de asemenea, alocate ca porturi efemere (cunoscute ca de scurtă durată porturi aplicate de IP) automat.

Există atât de multe moduri de a verifica porturile deschise în Linux. În mod implicit, un port se va închide dacă nu îl aplică vreo aplicație. Un port ar trebui să fie alocat unui proces sau serviciu dacă este deschis.

Deschideți Lista de porturi

Este mai ușor să știi care port este în uz în loc de ce port este deschis. Prin urmare, secțiunea de mai jos va oferi metode pentru listarea fiecărui port care este utilizat în prezent.

Există mai multe instrumente prezente pentru această sarcină în Linux. Cele mai multe dintre ele disponibile incorporat într-o distribuție Linux.

A afla care port este deschis în prezent ar putea fi util în multe scenarii. Este posibil să se determine un port dedicat pentru o aplicație asigurată. Un port deschis poate fi o indicație puternică de intruziune în rețea.

Metodele sunt folosite pe Ubuntu 20.04 LTS care sunt menționate mai jos.

Listați porturile și protocoalele deschise folosind fișierul /etc/services

Dosarul, adică /etc/services conține detalii despre serviciile care rulează (în prezent). Este un fișier mare.

 $cat /etc/services | less 

Cum să verificați porturile deschise în Linux

Listează porturile deschise cu netstat

The netstat Instrumentul poate fi descris ca un utilitar pentru afișarea conexiunilor de rețea pentru tabelele de rutare, TCP și mai multe interfețe de rețea. De asemenea, facilitează statisticile protocolului de rețea. Am putea enumera fiecare port deschis al unui sistem folosind instrumentul netstat.

Putem executa comanda de mai jos:

 $ netstat -atu 

Cum să verificați porturile deschise în Linux

Să explicăm rapid defalcarea fiecărui steag pe care l-am folosit în comanda de mai sus:

1.a: Acest flag informează netstat pentru afișarea fiecărui socket.

2. t: Acest flag informează netstat pentru listarea porturilor TCP.

3. în: Acest indicator informează netstat pentru listarea porturilor UDP.

The netstat comanda are o altă variantă, care este menționată mai jos:

 $ netstat -lntu 

Cum să verificați porturile deschise în Linux

Două steaguri sunt noi în comanda de mai sus, care este explicată după cum urmează:

1.l: Acest flag informează netstat numai pentru tipărirea soclurilor de ascultare.

2. n: Acest flag informează netstat pentru afișarea numărului portului.

Putem folosi un steag, adică '-p' pentru a afișa PID-ul procesului care utilizează orice port.

 $ netstat -lntup 

Cum să verificați porturile deschise în Linux

Verificați local porturile deschise

Comanda netstat este disponibilă pe fiecare sistem de operare al computerului pentru monitorizarea conexiunilor la rețea. Comanda de mai jos aplică netstat pentru a afișa fiecare port de ascultare cu protocolul TCP:

 netstat -lt 

Cum să verificați porturile deschise în Linux

Să definim pe scurt steagurile care sunt prezente în comanda de mai sus:

1. -l: Listează porturile de ascultare.

2. -t: Specifică protocolul TCP.

Rezultatul este bine ordonat în coloane care afișează protocolul, prietenos cu oamenii, pachetele trimise și primite, starea portului, adresele IP de la distanță și locale.

Dacă modificăm protocolul TCP pentru protocolul UDP, atunci rezultatul va afișa numai porturile deschise. Rezultatul se va afișa fără a descrie starea din cauza contradicției cu protocolul TCP.

 netstat -lu 

Cum să verificați porturile deschise în Linux

Putem ignora descrierea protocoalelor și putem aplica doar opțiunea --listen sau -l pentru a obține detalii despre fiecare port care ascultă liber protocolul:

 netstat --listen 

Cum să verificați porturile deschise în Linux

Opțiunea de mai sus va afișa detaliile pentru protocoalele socket Unix, UDP și TCP.

Fiecare exemplu de mai sus afișează cum să imprimați detaliile prin porturile de ascultare fără conexiuni autorizate. Comenzile de mai jos arată cum să afișați porturile de ascultare și conexiunile autorizate.

 netstat -vatn 

Cum să verificați porturile deschise în Linux

Unde:

1. -in: Este folosit pentru verbozitate.

2. -a: Afișează conexiunile active.

3. -t: Afișează conexiunile tcp.

4. -n: Afișează porturile (valoare numerică).

Să presupunem că recunoaștem un proces suspect în sistemul nostru și dorim să verificăm porturile aferente acestuia. Putem folosi comanda lsof care este folosită pentru listarea fișierelor deschise legate de procese.

 lsof -i 4 -a -p 

Unde,

1. -i: Listează fișierele care colaborează cu Internetul, 6 opțiunea este prezentă pentru IPv6, si 4 opțiunea indică numai imprimare IPv4.

2. -a: Instruiește rezultatul să fie Ai dat.

3. -p: Specifică numărul PID al procesului pe care dorim să-l verificăm.

sfârșitul java

Listați porturile deschise cu ss

The ss instrument poate fi specificat ca un utilitar pentru investigarea prizei. Utilizarea acestui instrument este aceeași cu cea a netstat comanda.

Putem rula comanda de mai jos pentru a lista porturile deschise:

 $ ss -lntu 

Cum să verificați porturile deschise în Linux

Steagulele de mai sus sunt aceleași cu cele netstat comanda. Funcțiile descrise de instrumentul ss sunt, de asemenea, aproape aceleași.

1.l: Acest steag informează ss pentru afișarea prizelor de ascultare.

2. n: Acest indicator informează ss să nu încerce să încheie nume de servicii.

3. t: Acest flag informează ss pentru socket-urile TCP de afișare.

4. în: Acest flag informează ss pentru afișarea socket-urilor UDP.

Listează porturile deschise cu lsof

Comanda lsof poate fi folosită pentru listarea fișierelor deschise. Dar, poate fi folosit și pentru a afișa porturile deschise.

Putem executa următoarea comandă:

 $ lsof -i 

Cum să verificați porturile deschise în Linux

Pentru a obține porturile deschise ale unui anumit protocol (UDP, TCP etc.), apoi specificați-l după utilizarea '-eu' flag, putem executa următoarea comandă:

 $ lsof -i 

Listați porturile deschise cu nmap

Comanda nmap poate fi definită ca fiind una puternică pentru scanarea portului/securității și explorarea rețelei. De asemenea, poate raporta fiecare port deschis din sistem.

Putem executa următoarea comandă pentru a lista porturile TCP deschise.

 $ sudo nmap -sT -p- localhost 

Cum să verificați porturile deschise în Linux

Există două secțiuni ale acestei comenzi care sunt menționate mai sus:

1. -sT: Acesta informează instrumentul nmap pentru scanare TCP porturi.

2. -p-: Acesta informează instrumentul nmap pentru scanarea fiecăruia 65535 porturi. Instrumentul nmap va scana 1000 porturile numai implicit dacă nu sunt utilizate.

Dacă avem nevoie să listăm porturile deschise ale UDP, atunci putem executa următoarea comandă:

 $ sudo nmap -sU -p- localhost 

Cum să verificați porturile deschise în Linux

De asemenea, putem executa următoarea comandă pentru a obține atât porturile UDP, cât și porturile TCP:

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

Cum să verificați porturile deschise în Linux

Listează porturile deschise cu netcat

Instrumentul netcat poate fi descris ca un utilitar de linie de comandă pentru a citi și scrie date prin multe conexiuni de rețea pe protocoalele UDP și TCP. De asemenea, poate fi folosit pentru a lista porturile deschise. Acest instrument poate implementa teste pe un anumit port sau pe o varietate de porturi.

Comanda netcat de mai jos este folosită pentru scanarea portului din 1-1000. În mod implicit, va implementa scanarea prin protocolul TCP:

 $ nc -z -v localhost 1-1000 

Cum să verificați porturile deschise în Linux

De asemenea, poate fi extins la întreaga listă a anumitor porturi:

 $ nc -z -v localhost 1-65535 

Cum să verificați porturile deschise în Linux

Să facem rapid o defalcare a acestor steaguri.

1. din: Acesta informează comanda netcat doar pentru scanarea porturi deschise, fără a transfera date.

2. în: Acesta informează comanda netcat pentru rularea în modul verbose.

cum se convertesc din int în șir în java

Putem filtra rezultatul cu ajutorul grep pentru un termen 'reușit' pentru a obține doar porturile deschise prin această listă.

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

Cum să verificați porturile deschise în Linux

Dacă dorim să implementăm scanarea prin protocolul UDP,. Putem include '-în' steag.

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