Te polecenia należy uruchomić, gdy serwer, który chcesz monitorować, nasłuchuje /path/to/sock
. W takim przypadku zmiana nazwy /path/to/sock
nie wpłynie na serwer.
socat
Polecenie wstawia man-in-the-middle. Nasłuchuje /path/to/socks
i przekazuje cały ruch klientów do /path/to/socks.original
(i loguje go w procesie za pomocą -v
).
Działa to tylko w przypadku gniazd strumieniowych (użyj UNIX-RECVFROM
/ UNIX-RECV
dla gniazd datagramowych ) i tylko wtedy, gdy klienci korzystają tylko z read/write/send/recv
tych gniazd, a nie sendmsg()
z danymi pomocniczymi i innymi fantazyjnymi rzeczami.
lsof
będzie raportować tylko procesy nasłuchiwania ( socat
oraz serwer nasłuchiwania i zaakceptowane gniazda). Zasadniczo nie można połączyć podłączonego gniazda na kliencie ze ścieżką gniazda.
Jeśli tak, że przed uruchomieniem serwera, to nie będzie działać jako serwer będzie starał się słuchać na /path/to/socks
a nie jak socat
jest już słuchać o tym. Lub /path/to/sock.original
zamiast tego musisz powiedzieć serwerowi, aby nasłuchiwał .