Com llistar els ports oberts a Linux?

How List Open Ports Linux



A la xarxa, un port és una característica interessant. És una manera que el trànsit de xarxa identifica l’aplicació o el servei de destinació. Cada procés / servei obté el seu port únic. Sempre s’associarà un port amb l’adreça IP de l’amfitrió juntament amb el protocol.

Aquesta és la meva metàfora favorita per descriure què és un port. Imagineu-vos un vaixell carregat de càrrega, que viatjarà a una terra llunyana. Quina informació es necessita per arribar correctament a la destinació? Per motius de simplicitat, diguem que necessita el país (l’adreça IP) i el port el vaixell atracarà.







En aquesta guia, consulteu com s'enumeren els ports oberts a Linux.



Ports a Linux

Els ports actuen com a punt final de comunicació. És un número de 16 bits (de 0 a 65535 en decimal). Tot i que l’abast és gran, per facilitar-ne l’ús, els ports es classifiquen en tres categories. Cada categoria s'etiqueta com l'interval de valor del port:



  • 0 a 1023: Es tracta dels ports coneguts, també coneguts com a ports del sistema, que es reserven per a processos del sistema que ofereixen una àmplia varietat de serveis de xarxa. Per enllaçar amb un port conegut, un procés ha de tenir privilegis de superusuari.
  • 1024 a 49151: Aquests són els ports registrats, també coneguts com a ports d’usuari, designats per IANA per a serveis específics. A petició, un procés pot tenir-hi accés. En el cas de la majoria de sistemes, no requereix cap privilegi de superusuari per utilitzar aquests ports.
  • 49152 a 65535: Aquests són els ports dinàmics, també coneguts com a ports privats. Aquests ports no es poden registrar a IANA. Aquests ports es poden utilitzar per a serveis privats o personalitzats i també es poden assignar automàticament com a ports efímers (ports de curta durada utilitzats per IP).

A Linux, hi ha diverses maneres de comprovar els ports oberts. Per defecte, qualsevol port romandrà tancat tret que una aplicació l'utilitzi. Si un port està obert, s’ha d’assignar a un servei / procés.





Llista de ports oberts

És més fàcil identificar quins ports s’utilitzen en lloc de quins ports estan oberts. És per això que la secció següent inclourà mètodes per llistar tots els ports que s’utilitzen actualment. A Linux, hi ha diverses eines disponibles per a la tasca. La majoria d'ells estan incorporats a qualsevol distribució de Linux.

Aprendre quins ports estan oberts actualment pot ser útil en diversos escenaris. És possible configurar un port dedicat per a una aplicació determinada. Un port obert també pot ser una forta indicació d'intrusió a la xarxa.



Els mètodes següents es mostren a Ubuntu 20.04.1 LTS.

Enumereu protocols i ports oberts des de / etc / services

El fitxer / etc / services conté informació sobre els serveis que s’executen actualment. És un fitxer gran, tan a punt per deixar-se aclaparar.

$gat /etc/serveis| menys

Enumereu els ports oberts mitjançant netstat

L’eina netstat és una utilitat per mostrar connexions de xarxa per a TCP, taules d’encaminament i diverses interfícies de xarxa. També ofereix estadístiques de protocol de xarxa. Mitjançant l’ús de netstat, podem enumerar tots els ports oberts del sistema.

Executeu l'ordre netstat següent:

$netstat -atu

Anem a fer un desglossament ràpid de totes les marques que hem utilitzat en aquesta ordre.

  • a : Indica a netstat que mostri tots els sòcols
  • t : Indica a netstat que llista els ports TCP
  • tu : Indica a netstat que llista els ports UDP

Aquí hi ha una altra variació de l'ordre netstat:

$netstat -lntu

Hi ha dues marques noves utilitzades a l'ordre. Què volen dir?

  • el : Indica a netstat que només imprimeixi els sòcols d'escolta
  • n : Indica a netstat que mostri el número de port

Per mostrar el PID del procés que utilitza un port, utilitzeu el senyalador -p:

$netstat -Intup

Llista els ports oberts mitjançant ss

L'eina ss és una utilitat per investigar el sòcol. El seu ús és similar al netstat.

Per llistar els ports oberts, executeu l'ordre ss següent:

$ss-lntu

Les banderes són similars a netstat. Les funcions que descriuen també són força similars.

  • el : Indica a ss que mostren sòcols d'escolta
  • n : Indica que no intenti resoldre els noms dels serveis
  • t : Indica a ss que mostren sòcols TCP
  • tu : Indica a ss que mostren sòcols UDP

Llista els ports oberts mitjançant lsof

L'ordre lsof és enumerar fitxers oberts. Tanmateix, també es pot utilitzar per mostrar els ports oberts.

Executeu l'ordre lsof següent:

$lsof-i

Per obtenir els ports oberts d'un protocol específic (TCP, UDP, etc.) i després definir-lo després del senyalador -i, utilitzeu:

$lsof-i <protocol>

Llista els ports oberts mitjançant nmap

L'eina nmap és potent per a l'exploració de xarxes i l'escaneig de seguretat / ports. Pot informar de tots els ports oberts del sistema.

Per llistar els ports TCP oberts, executeu l'ordre nmap següent. Aquí, l'adreça IP és de l'ordinador amfitrió:

$suo nmap -sT -p-localhost

Aquí hi ha dues porcions de l'argument de l'ordre.

  • -sT : Aquesta secció indica a nmap que busqui ports TCP.
  • -p- : Això indica a nmap que busqui tots els ports 65535. Si no s’utilitza, nmap explorarà només 1.000 ports per defecte.

Si heu d’enumerar els ports UDP oberts, executeu l’ordre nmap següent:

$suo nmap -La seva -p-localhost

Per obtenir els ports TCP i UDP oberts, utilitzeu l'ordre següent:

$suo nmap -n -PN -sT -La seva -p-localhost

Enumereu els ports oberts mitjançant netcat

L'eina netcat és una utilitat de línia d'ordres per llegir i escriure dades a través de connexions de xarxa a través dels protocols TCP i UDP. Aquesta eina també es pot utilitzar per llistar ports oberts. Pot realitzar proves en un port específic o en una sèrie de ports.

L'ordre netcat següent escanejarà el port de l'1 al 1000. L'ordre netcat realitzarà l'escaneig al protocol TCP per defecte:

$nc-Amb -vlocalhost1-1000

També es pot ampliar a tota la llista de ports possibles:

$nc-Amb -vlocalhost1-65535

Fem un repartiment ràpid de les banderes.

  • Amb : Indica a netcat que només busqui ports oberts sense enviar cap dada
  • v : Indica que netcat s’executi en mode detallat

Per obtenir només els ports oberts d'aquesta llista, filtreu la sortida amb grep per al terme correcte.

$nc-Amb -vlocalhost0-65535 2> &1 | adherènciava tenir èxit

Si voleu escanejar el protocol UDP, afegiu el senyalador -u.

$nc-Amb -v -ulocalhost0-65535 2> &1 | adherènciava tenir èxit

Pensaments finals

Com es demostra, hi ha un munt de maneres de cercar ports oberts a Linux. Us proposo provar tots els mètodes abans de decidir quin dominar. Si utilitzeu una eina determinada com ara netcat o nmap amb regularitat, dominar els mètodes associats serà el més beneficiós.

Feliç informàtica!