Después de iniciar sesión en un servidor, utilicé netstat para comprobar los puertos de este servidor y quería saber qué puerto se comunicaba conmigo.
Mi IP es 143.248.143.198 y los resultados de mi búsqueda son los siguientes:
[kwagjj@James5 ~]$ netstat | grep 143.248.143.198
tcp 0 52 James5:smakynet 143.248.143.198:49690 ESTABLISHED
[kwagjj@James5 ~]$ netstat | smakynet
smakynet: Command not found.
[kwagjj@James5 ~]$ netstat | grep smakynet
tcp 0 0 James5:smakynet 143.248.143.199:49573 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.198:49690 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.212:51070 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.210:9693 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.217:azeti ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.216:51892 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.210:10599 ESTABLISHED
Intenté ver si James5:smakynet conducía a algún otro puerto, pero parece que mi lado del puerto solo se comunica con 'James5:smakynet'.
¿Alguien sabe qué es este 'smakynet'? ¿Qué hace esto? Lo busqué en Google pero no me dio ninguna información adecuada.
Respuesta1
Siempre que no reconozca un puerto por su nombre, puede grep
buscar el nombre en /etc/services
para ver que el nombre está definido allí. En mis sistemas Linux, smakynet es TCP/UDP 122.
grep smakynet /etc/services
Úselo man netstat
para saber qué interruptores se pueden usar para revelar más información. En este caso, utilice modificadores que le ayudarán a encontrar más información sobre los ID de proceso.
netstat -tulpn | grep smakynet
Ahora puedes ver qué proceso utiliza el puerto. Obtendrá un resultado como el siguiente ejemplo.
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1565/cupsd
Arriba, cupsd
se abrió con PID 1565; está utilizando el puerto TCP 631.
Esto debería ayudar a identificar qué programa está utilizando el puerto. No sé por qué aparece smakynet en /etc/services
; aunque, para aventurarnos a adivinar, podría tratarse de un protocolo antiguo o tal vez estuviera registrado enIANAy nunca desarrollado.
Entonces, ¿qué programa encontraste que usa el puerto smakynet en qué sistema operativo?
Respuesta2
Generalmente es más útil ejecutar netstat
con los conmutadores -n
y -p
para poder ver qué proceso está escuchando o usando un puerto determinado en la netstat
salida.
Ejemplo
$ sudo netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1406/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13203/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1628/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1506/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1712/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 13203/nginx
tcp 0 0 0.0.0.0:35171 0.0.0.0:* LISTEN 1424/rpc.statd
tcp 0 0 192.168.1.228:80 209.190.113.82:36019 ESTABLISHED 13307/nginx
tcp 0 0 192.168.1.228:80 192.168.1.1:58845 TIME_WAIT -
tcp 0 0 192.168.1.228:22 192.168.1.7:52418 ESTABLISHED 2382/sshd
tcp 0 0 192.168.1.228:443 209.190.113.82:46600 TIME_WAIT -
tcp 0 0 :::111 :::* LISTEN 1406/rpcbind
tcp 0 0 :::22 :::* LISTEN 1628/sshd
tcp 0 0 ::1:631 :::* LISTEN 1506/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1712/master
tcp 0 0 :::37115 :::* LISTEN 1424/rpc.statd
Aquí podemos ver que los puertos 80 y 443 están en uso por un proceso, nginx
en 2 interfaces 0.0.0.0
y 192.168.1.228
. La segunda IP es la asociada con el puerto Ethernet en este sistema, y la IP 0.0.0.0
es especial, lo que indica que el demonio del servidor nginx
se vinculará a todas y cada una de las interfaces que estén presentes en la caja.
Interfaces de red
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 54:52:00:ff:ff:f1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.228/24 brd 192.168.1.255 scope global eth0
inet6 fe80::5652:ff:feff:fff1/64 scope link
valid_lft forever preferred_lft forever