Эти команды должны выполняться, когда сервер, который вы хотите отслеживать, в данный момент прослушивает /path/to/sock
. Тогда, если вы переименуете /path/to/sock
, сервер не будет затронут.
Команда socat
вставляет человека посередине. Он прослушивает /path/to/socks
и перенаправляет весь трафик клиентов /path/to/socks.original
(и регистрирует его в процессе с -v
).
Это работает только для потоковых сокетов (используйте UNIX-RECVFROM
/ UNIX-RECV
для дейтаграммных сокетов) и только в том случае, если клиенты просто используют read/write/send/recv
эти сокеты, а не sendmsg()
со вспомогательными данными и другими причудливыми вещами.
lsof
будет только сообщать о процессах прослушивания ( socat
и сервере для прослушивания и принятых сокетов). Как правило, невозможно связать подключенный сокет на клиенте с путем сокета.
Если вы сделаете это , прежде чем запустить сервер, то это не будет работать как сервер будет пытаться слушать на /path/to/socks
и не так socat
уже слушает на этом. Или вам нужно указать серверу прослушивать /path/to/sock.original
вместо этого.