Як же дивитися трафік, якщо зʼєднання йде через unix socket? Нижче ми розглянемо деякі методи вирішення цього питання.
socat
Тут ідея проста: дублюємо весь трафік на tcp socket і далі вже через tcpdump дивимося:
socat -v UNIX-LISTEN:/path/to/some.sock,fork TCP-CONNECT:127.0.0.1:8090
unixdump (https://pypi.org/project/unixdump/)
А тут можна просто напряму читати
unixdump -b -s '/tmp/domain-socket'
sockdump (https://github.com/mechpen/sockdump)
Ця утиліта поєднує 2 попередні: можна читати напряму, а можна і в pcap і далі дивитися через tcpdump/wireshark/…
sockdump.py --format string /var/run/docker.sock
watch-unix-socket.stp (https://gist.github.com/robbmanes/47b902512dbcaa9c068e4ed9b5a3bc72)
це скрипт на SystemTap, який дозволяє перехоплювати дані з unix socket
udptrace https://github.com/laf0rge/udtrace
А це вже бібліотека для яка дозволяє трасувати дані через unix socket
remusock (https://github.com/Zirias/remusock)
А ця утиліта дозволяє підключатися віддалено до unix socket’y по мережі.