
Estoy ejecutando escaneos de puertos simples en mi sistema y no sé si estoy confundido o no.
Después de correr lsof -i
y mis resultados son:
COMANDO PID USUARIO TIPO FD TAMAÑO DEL DISPOSITIVO/OFF NOMBRE DEL NODO firefox-e 8008 legion 43u IPv4 96999 0t0 TCP KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https (ESTABLECIDO) firefox-e 8008 legion 67u IPv4 84170 0t0 TCP KryptL0c:52778->ord37s09-in-f10.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 94u IPv4 93549 0t0 TCP KryptL0c:56526->ord37s35-in-f1.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 98u IPv4 89869 0t0 TCP KryptL0c:47874->ec2-52-86-133-10.compute-1.amazonaws.com:https (ESTABLECIDO) firefox-e 8008 legion 126u IPv4 98838 0t0 TCP KryptL0c:40792->ord38s28-in-f10.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 131u IPv4 98839 0t0 TCP KryptL0c:41878->ord38s01-in-f10.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 133u IPv4 88016 0t0 TCP KryptL0c:44998->server-99-84-167-136.ord52.r.cloudfront.net:https (ESTABLECIDO) firefox-e 8008 legion 176u IPv4 88018 0t0 TCP KryptL0c:51574->ord37s18-in-f2.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 179u IPv4 86297 0t0 TCP KryptL0c:46752->142.250.123.157:https (ESTABLECIDO) firefox-e 8008 legion 184u IPv4 84401 0t0 TCP KryptL0c:40262->ord38s08-in-f2.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 187u IPv4 92092 0t0 TCP KryptL0c:38700->ord38s28-in-f1.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 193u IPv4 89558 0t0 TCP KryptL0c:40714->ord37s09-in-f2.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 199u IPv4 90795 0t0 TCP KryptL0c:47760->136.144.59.88:https (ESTABLECIDO) firefox-e 8008 legion 201u IPv4 90789 0t0 TCP KryptL0c:40586->server-99-84-253-65.ord50.r.cloudfront.net:https (ESTABLECIDO) firefox-e 8008 legion 210u IPv4 90803 0t0 TCP KryptL0c:41732->lga15s49-in-f4.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 214u IPv4 90805 0t0 TCP KryptL0c:45540->rio01s25-in-f3.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 221u IPv4 97886 0t0 TCP KryptL0c:41752->ord37s07-in-f14.1e100.net:https (ESTABLECIDO) firefox-e 8008 legion 301u IPv4 92423 0t0 TCP KryptL0c:59832->ord38s04-in-f2.1e100.net:https (ESTABLECIDO)
En la primera línea, el puerto es 44376, ¿correcto?
Si eso es correcto y estos servicios están establecidos en mi sistema, ¿por qué cuando ejecuto un escaneo de puertos nmap -p 1-65535 xxx.xxx.x.xxx
obtengo el resultado de que no hay puertos abiertos?
Respuesta1
En la primera línea, el puerto es 44376, ¿correcto?
Sí, el puerto local es 44376. Sin embargo, lo que busca es una conexión establecida entre su sistema y un host remoto. Tener una conexión en algún puerto no significa que haya una toma de escucha en ese puerto.
Aquí, debido a que el puerto local es alto (>40 000) y el puerto remoto es 443 (HTTPS), podemos inferir con un alto nivel de confianza que se trata de una conexión saliente a algún servicio HTTPS en Internet.
Supongo que estás en macOS o BSD.
Considere los siguientes ejemplos de oyentes reales ( -P
para que los puertos no se resuelvan en "nombres de puertos conocidos"):
$ lsof -i udp -P
…
syncthing 16758 fuzzy 7u IPv6 0xd2b0d06f6f1a443d 0t0 UDP *:22000
…
$ lsof -i tcp -P
…
syncthing 16758 fuzzy 17u IPv6 0xd2b0d06f70a57bfd 0t0 TCP *:22000 (LISTEN)
…
Como puede ver, son fáciles de diferenciar: no tienen puntos finales remotos. Debido a que en TCP existe un estado de "Escucha" adecuado, esto también se enumera explícitamente. Con UDP las cosas no son tan fáciles.
Si ejecutara NMAP en el puerto TCP 22000, se informaría como abierto.
Respuesta2
KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
En este caso podemosinferirque la conexión apunte desde el host del cliente: puerto de origen KryptL0c:44376
al ->
servidor de destino host: puerto de ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
, porque https es un servicio conocido.
Los puertos de origen se utilizan para conexiones salientes del lado del cliente y no tienen servicios escuchando en ellos, por lo que no se muestran como abiertos. Por ejemplo, cada conexión de un navegador web a un servidor web utilizará un puerto de cliente/fuente diferente para abrir la conexión de red. El puerto se cerrará automáticamente cuando se cierre la conexión y se utilizará un nuevo puerto para la siguiente conexión. Los puertos de origen son generalmente números altos, por encima de 32768.
Además, los números de puerto de servicio comunes se resuelven en nombres como https
(que es el puerto 443) usando el archivo /etc/services y, a menudo, es posible que no aparezcan como números en resultados como este.