通过 ssh 使 netcat 服务器超时

通过 ssh 使 netcat 服务器超时

我正在编写一个脚本,通过 ssh 连接到另一台机器并打开 netcat 服务器。服务器需要能够超时。

使用-l忽略-w.

该命令netcat -w 3将用法返回给我。

我怎样才能做到这一点?

答案1

这是一个可以做你想做的事情的技巧:

nc -l 12345 & NC_PID=$! ; sleep 3; if [ `netstat -ant | grep ':12345 .*ESTABLISHED'` -eq 0 ]; then kill -9 $NC_PID; fi

它会启动服务器,无论超时时间如何,都会休眠,然后终止 netcat,除非已建立连接。如果存在远程端口与您的侦听器匹配的现有连接,则存在服务器挂起的轻微风险,但这将是运气不好。

注意:我在 CentOS Linux 上测试了这个,因此代码不完全可移植,但这个想法应该可以在任何 *nix 机器上实现。

相关内容