我对 Solaris 不太熟悉,所以可能有一些我不知道的工具。我需要调试同一台机器上两个组件之间的通信,使用普通 TCP 套接字相互通信。
现在似乎有两个可用的工具,一个是 Linux 上的,称为tcpdump
,另一个是 Solaris 实用程序,称为snoop
。不幸的是,在客户站点,有很多限制等等,因此不允许/不可能使用这些工具。
因此,我认为我可以将服务器进程的监听端口更改为其他端口,并使用类似的工具netcat
在实际端口上充当代理,同时将流量转发到“真实”服务器进程,这样我就可以转储这些组件之间的通信。
有没有可以实现这个功能的工具 - 最好是输出像 tcpdump 这样的已知格式?或者您还能用什么其他方法实现这个功能?
答案1
snoop
无论如何都不是一个选择,因为它不适用于同一主机上两个进程之间的流量。
跟踪是最好的选择。例如,用于捕获同一服务器上两个进程之间的流量的脚本格式snoop
。但是,此特定脚本依赖于内核的内部工作,因此它可能适用于您的 Solaris 10 版本,也可能不适用于您的 Solaris 10 版本。