Esses comandos precisam ser executados quando o servidor que você deseja monitorar está atualmente escutando /path/to/sock
. Então, se você renomear /path/to/sock
, o servidor não será afetado.
O comando socat
insere um man-in-the-middle. Ele ouve /path/to/socks
e encaminha todo o tráfego dos clientes para /path/to/socks.original
(e registra no processo com -v
).
Isso só funciona para os tipos de sockets stream (use UNIX-RECVFROM
/ UNIX-RECV
para datagrama sockets) e somente se os clientes apenas read/write/send/recv
nesses sockets soquetes, não sendmsg()
com dados auxiliares e outras coisas extravagantes.
lsof
relatará apenas os processos de escuta ( socat
e o servidor para os sockets de escuta e aceitos). Geralmente não é possível vincular um soquete conectado no cliente ao caminho do soquete.
Se você fizer isso /path/to/socks
e falhará se socat
for já ouvindo isso. Ou você precisa dizer ao servidor para ouvir /path/to/sock.original
.