可以设置一个 SSH 端口转发,其中 ssh 客户端将通过 ssh 端口交换的流量打印到屏幕或文件。
我正在尝试调试问题,并想查看在本地计算机上运行的 java 进程与在 Solaris 上运行的远程进程之间发送的内容。我正在通过 ssh 使用端口转发,以便我可以单步执行 java 程序。通常我必须将 .java 文件复制到 Solaris 机器,构建它们并运行,这不是非常有效的调试方式,因此端口转发。客户端和服务器使用 IIOP 协议,所以我不能使用 http 代理来监控流量。
我会作弊并在管道中添加几个netcat
's 和 a tee
:
nc -k -l -p $localport -c "tee file.out | nc 127.0.0.1 $portforwardport"
Run Code Online (Sandbox Code Playgroud)
where$localport
是一个任意端口来指向你的 java 进程,$portforwardport
是你的 ssh 端口转发端口号。这-k
使得监听 netcat 保持监听而不是在客户端第一次断开连接后退出。输出将file.out
在您的本地主机上结束。
归档时间: |
|
查看次数: |
9642 次 |
最近记录: |