Me gustaría enumerar mis puertos de red abiertos en la Terminal con comandos integrados. Como lo que sé, netstat
es el comando a usar. Pero estoy luchando para obtener información útil.
¿Cómo puedo enumerar mis puertos abiertos netstat
? ¿Alguna bandera específica que me ayude en este caso?
lsof
fue un poco mejor, gracias.sudo lsof ...
. Sin el sudo, lsof solo puede ver los procesos que posee y, por lo tanto, no mostrará ningún puerto abierto por los procesos del sistema. Además, puede omitir el comando grep diciéndole a lsof que solo desea ver los puertos en el estado LISTENsudo lsof -PiTCP -sTCP:LISTEN
.grep -i "listen"
tus 2 ejemplos.netstat
, opcionalmente puede enumerar el pid del proceso que abrió cada puerto. ¿Hay alguna forma de obtener ese comportamiento con BSDnetstat
también?-v
bandera enciende eso. El pid estará en la penúltima columna.tal vez puedas usar lsof:
-i4 significa solo mostrar la dirección ipv4 y los puertos -P y -n salida rápida
salida como esta
fuente
lsof
Enumera los archivos abiertos. Los zócalos de red cuentan como archivos, por lo que cada zócalo de red abierto (ya sea en escucha o en uso activo) aparecerá en la listalsof
.lsof -Pn -i6
para IPV6-i4
cambio, para mirar solo las direcciones IPv4.El método más simple es usar
netstat
:... sin ningún filtro agregado, para obtener los encabezados correctos, y ver los dos servidores escuchando, y las conexiones ya establecidas en ambas direcciones. En este ejemplo, la primera línea muestra una conexión desde mi Mac hacia
17.172.233.109
, que además:me enseñó que se encuentra en Apple.
fuente
Primero, no soy un experto en BSD, pero al igual que el OP, quería el equivalente aproximado de ejecutar lo siguiente en un cuadro * nix, o algo parecido:
Leí otras preguntas / respuestas que ofrecen lsof * y netstat * en MacOS, y todavía quería algo con una salida más compacta. Entonces, esto es lo que preparé rápidamente:
Es un poco exagerado, así que agregué color a la salida por si acaso. Como no voy a poder recordar, ni quiero escribir, este gigante. Lo puse en una función bash y luego solo lo llamo cuando es necesario. Aquí se dice la función bash:
Tengo una pequeña colección de estas funciones de conveniencia en un archivo que obtengo de ~ / .bash_profile, o ~ / .zshrc. Esto se está agregando a la colección. Sería interesante ver otras oportunidades para hacer esto más agradable / delgado.
Salida de muestra:
fuente