Можно ли отслеживать локальный сокет домена unix, например tcpdump?

Я хотел бы отслеживать ответы на сокете unix, не нарушая исходные соединения и передать их сценарию для обработки.

Я знаю, как это сделать с tcpdump для tcp-соединений, но я не могу найти решение для локальных сокетов unix.

Это вообще возможно?

5
задан ck_
13.04.2023 20:41 Количество просмотров материала 3361
Распечатать страницу

3 ответа

есть парень, который утверждает, что делает это, создавая приложение, которое действует как шлюз между двумя сокетами и регистрирует все данные, которые текут. Таким образом, вы не можете нажать на сокет, но если вы можете перезапустить службу и настроить его на использование этого парня приложение, которое вы сможете увидеть весь трафик.

вот ссылка на пост: Unix Socket Sniffer

есть другой способ, который требует, чтобы вы нашли идентификатор процесса, прикрепленный к сокету, а затем нашли с помощью lsof файловый дескриптор сокет, а затем нажмите файловый дескриптор с помощью strace.

Если вы можете остановить все, что клиент / сервер использует сокет и перенастроить его я бы рекомендовал всегда первый метод, Второй метод это сложно и требует, чтобы нажать текущий процесс, который на некоторых приложениях может привести к сбою.

надеюсь, кто-то просветить нас с anoter образом:)

удачи

13
отвечен Valor 2023-04-15 04:29

вы можете использовать socat.

sudo mv /path/to/sock /path/to/sock.original
sudo socat -t100 -x -v UNIX-LISTEN:/path/to/sock,mode=777,reuseaddr,fork UNIX-CONNECT:/path/to/sock.original

что происходит выше: сначала переместите оригинальный сокет в носок.оригинальный. Socat создает новый сокет ('UNIX-LISTEN') в месте оригиналов и пересылает все к оригиналу ('UNIX-connect'). -V говорит socat также вывод на печать в STDERR.

71
отвечен storoj 2023-04-15 06:46

вы также можете попробовать использовать strace на одном из процессов по обе стороны сокета, так как это позволит вам смотреть, что написано / прочитано. Я обнаружил, что в моей производственной среде у меня нет socat, но есть strace.

для любой полезной цели, установка -s на что-то большое является обязательным.

5
отвечен omnigrok 2023-04-15 09:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх