如何使用socat测试远程端口是否可达?
使用 netcat 我们可以
nc -zv 192.168.1.15 22
Run Code Online (Sandbox Code Playgroud)
如何用 socat 做到这一点?
由于 OP 请求了-z以下socat命令的等效项,因此将确保它不会等待输入,而只会检查端口是否正在侦听。
socat /dev/null TCP:remote:port
Run Code Online (Sandbox Code Playgroud)
这可以在 Docker 上下文中使用,尤其是在alpine/socat图像的健康检查中。这是一个示例,该示例为smtp服务设置转发器mailhog并检查连接是否已建立
services:
smtp:
image: alpine/socat
command: tcp-listen:25,fork TCP:mailhog:1025
healthcheck: socat /dev/null TCP:mailhog:1025
Run Code Online (Sandbox Code Playgroud)
我想手册页中的第一个示例会起作用
socat - TCP4:www.domain.org:80
Run Code Online (Sandbox Code Playgroud)
对于您的示例,这将是(并添加 2 秒连接超时):
socat - TCP4:192.168.1.15:22,connect-timeout=2
Run Code Online (Sandbox Code Playgroud)
响应将是 sshd 连接横幅(如果这就是正在侦听的内容)
SSH-2.0-OpenSSH_5.3
Run Code Online (Sandbox Code Playgroud)
或者
socat[12650] E connecting to AF=2 192.168.189.6:23: Connection timed out
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6127 次 |
| 最近记录: |