netstat: n: protocolo desconocido o no documentado

6

Siempre uso netstat en ubuntu para verificar qué procesos están escuchando en puertos específicos. Yo uso los siguientes switches con netstat que funcionan bien en ubuntu pero en mac fail:

sudo netstat -tulpn
netstat: n: unknown or uninstrumented protocol
    
pregunta JohnMerlino 25.07.2013 - 22:25

3 respuestas

7

Las opciones de comando netstat de Linux y OS X (/ BSD) no tienen casi nada que ver entre sí. De las opciones que está invocando, solo -n significa lo mismo en ambas, y algunas de las otras ( -l y -p ) no tienen un equivalente en netstat de OS X. Lo que habitualmente uso en OS X es netstat -an | grep LISTEN , pero eso no muestra UDP o el programa involucrado. Supongo que podrías usar netstat -an | egrep '^udp|LISTEN' para incluir UDP, pero eso es bastante detallado (y también verás un poco de cosas de UDP sin sentido, ya que realmente no hay un concepto de escucha UDP frente a otros estados). Si necesita conocer el programa, debe ir al comando lsof (listar archivos abiertos), y eso requiere acceso de root para verificar los procesos que no posee. Pruebe algo como sudo lsof -nPi -sTCP:LISTEN

    
respondido por el Gordon Davisson 26.07.2013 - 02:35
3

@ gordon-davisson es correcto, pero aún puede obtener el pid desde netstat en mac con la opción verbove. Publico una respuesta porque me falta la reputación para comentar su respuesta.

Por lo tanto, si la pregunta es cómo obtener pid y port en un comando netstat , aún puede hacer:

netstat -anv

la opción verbosa da el pid en la postición 9 de esta manera:

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)     rhiwat shiwat    pid   epid
tcp4       0      0  127.0.0.1.3335         *.*                    LISTEN      131072 131072  45710      0

Pero la salida es pletórica, que es soportable si sabes lo que buscas, como: netstat -anv | grep 3335 o netstat -anv | grep LISTEN

La salida de lsof es aún mejor.

    
respondido por el loic.jaouen 01.03.2017 - 12:11
0

Puede dejar que su Mac "escuche" en una interfaz de red:

Escriba sudo tcpdump -i en0 (seguido de su contraseña de administrador)

    
respondido por el Buscar웃 26.07.2013 - 00:06

Lea otras preguntas en las etiquetas