从那篇文章中,我意识到:
UNIX 域套接字绑定到文件路径。
所以,我需要通过这里socat
提到的嗅探 DGRAM Unix 套接字。但是当我尝试为此目的检索路径时,我发现目标应用程序使用了一个没有文件路径的套接字。
该ss -apex
命令显示有和没有文件路径的结果,例如:
u_dgr UNCONN 0 0 /var/lib/samba/private/msg.sock/32222 1345285 * 0 users:(("nmbd",pid=32222,fd=7))
u_dgr UNCONN 0 0 * 8567674 * 0 users:(("gnome-shell",pid=16368,fd=23))
从ss 手册页* 8567674
我无法找到,例如没有文件路径是什么意思。
所以,两个问题:
- 为什么在某些情况下没有指向 unix 套接字的文件路径?
- 如何在
socat
没有文件路径的情况下通过嗅探 unix DGRAM 套接字?
问题 #1
从文档中,它解释了 Address:Port 列,如下所示:
摘抄最后一句话就是你的答案。
问题2
请参阅此 SO Q&A,标题为:如何在不创建套接字文件的情况下使用 unix 域套接字。
摘抄问题 #3
一旦你知道什么叫做什么,再次谷歌搜索:socat docs。
摘抄