¿Cómo llamar a lsof correctamente para recuperar todas las conexiones TCP?

14
# lsof -n -itcp | wc
     92     919   10212

# lsof -n | grep TCP | wc
   2482   27222  373861

¿Con qué estoy haciendo mal lsof -itcp? Tal llamada está saltando parte de las conexiones, parece que son conexiones de hilos.

vector
fuente

Respuestas:

16

La sintaxis correcta es:

lsof -a -i4 -i6 -itcp

Esto selecciona los sockets TCP que son IPv4 o IPv6.

CodeWriter23
fuente
1
deberías agregar -aa esto Y a ellos
Christian
Gracias Christian, mi solución original también incluía actividad UDP. Actualizado.
CodeWriter23
1

Echa un vistazo a las dos salidas. Aquí hay muestras de mi sistema

lsof -n -itcp | head -4
COMMAND     PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind    1509        root    8u  IPv4   9013      0t0  TCP *:sunrpc (LISTEN)
rpcbind    1509        root   11u  IPv6   9016      0t0  TCP *:sunrpc (LISTEN)
rpc.statd  1537       statd    8u  IPv4  10059      0t0  TCP *:36035 (LISTEN)

lsof -n | grep TCP | head -4
rpcbind    1509             root    8u     IPv4               9013      0t0        TCP *:sunrpc (LISTEN)
rpcbind    1509             root   11u     IPv6               9016      0t0        TCP *:sunrpc (LISTEN)
rpc.statd  1537            statd    8u     IPv4              10059      0t0        TCP *:36035 (LISTEN)
rpc.statd  1537            statd   10u     IPv6              10063      0t0        TCP *:45203 (LISTEN)

Una lectura rápida muestra que las únicas diferencias obvias hasta ahora son los espacios en blanco. Esto se puede comparar fácilmente para encontrar diferencias reales:

lsof -n -itcp | sort >1
lsof -n | grep TCP | sort >2
diff -wu 1 2 | grep '^[+-]'
--- 1   2015-10-13 20:43:12.588658249 +0100
+++ 2   2015-10-13 20:43:18.272678740 +0100
-COMMAND     PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
+dconf      3618 3634     roaima   11u     IPv6              12705      0t0        TCP [::1]:45177->[::1]:6010 (ESTABLISHED)
+gdbus      3632 3633     roaima    5u     IPv6              14008      0t0        TCP [::1]:45179->[::1]:6010 (ESTABLISHED)
+virt-mana  3618 3636     roaima   11u     IPv6              12705      0t0        TCP [::1]:45177->[::1]:6010 (ESTABLISHED)
+virt-mana  3618 3645     roaima   11u     IPv6              12705      0t0        TCP [::1]:45177->[::1]:6010 (ESTABLISHED)

Según este resultado, sugeriría que la diferencia en mi caso es el tráfico IPv6. Es posible que desee revisar su propia situación, pero sospecho que es lo mismo.

roaima
fuente