Estoy buscando enumerar todos los puertos en los que un PID está escuchando actualmente.
¿Cómo recomendaría que obtenga este tipo de datos sobre un proceso?
ip
monitoring
port-forwarding
iproute
ThorSummoner
fuente
fuente
ss
no tiene filtrado en PID, excepto para los sockets de netlink.Respuestas:
Puede usar
ss
desde el paquete iproute2 (que es similar anetstat
):o (para versiones anteriores de iproute2):
Reemplace 1234 con el PID del programa.
fuente
-u
o solo-t
para udb o tcp. : +1: Y todo esto se puede apilar de esta manera:,ss -tlnp
y para eliminar la salida de ancho de relleno, lo que me parece molesto , puede canalizar a través de cat o menos o w / e:ss -tlnp | cat
ss -nlp | cat
, eso es más o menos, muéstrame los procesos de escucha (-l), sus números de puerto (-n) y su información de proceso (-p), y no intentes ajustar la salida a mi shell| cat
( o menos o lo que sea). Solo me tomó dos años acostumbrarme a eso: DNo conozco una forma de usar
iproute2
herramientas. Pero como solución alternativa, puedes probar este.debería darle la información que está buscando.
Salida
Obtuve este comando desde aquí, pero no estoy seguro del enlace exacto, ya que todos los anoté en el cuaderno. Pero también puedes echar un vistazo desde allí.
fuente
Puede usar
netstat
esto para descubrir el pid de cada proceso de escucha.netstat: imprime conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones enmascaradas y membresías de multidifusión
-a, --todos muestran tomas de escucha y no escucha (para TCP, esto significa conexiones establecidas). Con la opción --interfaces, muestra las interfaces que no están marcadas
--numeric, -n Muestra direcciones numéricas en lugar de intentar determinar nombres de host, puerto o usuario simbólicos.
-p, --program Muestra el PID y el nombre del programa al que pertenece cada socket.
Aquí hay un ejemplo:
fuente
netstat
herramientas iproute2 han dejado de usarlo y estoy tratando de evitarlo.La respuesta de @ jofel le muestra la herramienta adecuada para usar
ss
, aquí están los reemplazos para las otras herramientas de red en iproute2.Los comandos en desuso y sus equivalentes iproute2 son los siguientes:
La lista básica también está aquí en Wikipedia: http://en.wikipedia.org/wiki/Iproute2 .
Referencias
fuente
Otro método para
lsof
si no conoce el PID, pero solo el nombre del Programa:fuente
lsof
4.89 en ubuntu 16.04pgrep <program name>
luego elija el PID que necesita para el comando anterior. reemplazando$(pgrep [programName])
con el PID #¿Has probado, esto también hace lo mismo
fuente