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
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
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
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
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
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
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
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
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
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
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
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
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
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
De asemenea, poate fi extins la întreaga listă a anumitor porturi:
$ nc -z -v localhost 1-65535
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
Dacă dorim să implementăm scanarea prin protocolul UDP,. Putem include '-în' steag.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded