【问题标题】:How to stop socat from quitting?如何阻止socat退出?
【发布时间】:2012-04-16 10:44:17
【问题描述】:

我使用 Windows 的 socat 作为客户端通过 SSH 建立 DNS 隧道,它可以正常工作,直到 ssh 连接断开或暂时不可用 - 当这种情况发生时,socat Windows 客户端将终止并需要重新启动。

我在 windows 客户端上使用以下命令:

socat -s udp-recvfrom:53,reuseaddr,bind=127.0.0.1,fork tcp:127.0.0.1:5377

有没有人知道当 ssh 连接不可用时防止 socat 客户端退出的方法?帮助文件建议 -s 开关解决了这个问题,但它没有。

【问题讨论】:

  • 你可以用infinite loop包装命令。
  • 不确定如何创建无限循环 - 我正在使用 WshShell.Run "socat.exe -s udp-recvfrom:53,reuseaddr,bind=127.0.0.1 从已编译的 vbscript 运行命令,fork tcp:127.0.0.1:5377",0,false

标签: windows linux ssh dns socat


【解决方案1】:

根据您的评论,VBScript 中的循环(Windows 脚本宿主使用的)更容易:

Do
    WshShell.Run "socat.exe -s udp-recvfrom:53,reuseaddr,bind=127.0.0.1,fork tcp:127.0.0.1:5377",0,True
Loop While True

【讨论】:

  • 这不起作用,它只会启动数千个 socat.exe 进程
  • @Kyoku:对不起,我的错。在您启动 socat 的行中将最后一个 false 更改为 true
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
相关资源
最近更新 更多