有效测试Linux是否打开了端口?

有效测试Linux是否打开了端口?,第1张

有效测试Linux是否打开了端口

我最近发现的一个惊喜是Bash本身支持tcp连接作为文件描述符。使用方法:

exec 6<>/dev/tcp/ip.addr.of.server/445echo -e "GET / HTTP/1.0n" >&6cat <&6

我使用6作为文件描述符,因为0,1,2是stdin,stdout和stderr。Bash有时会将5用作子进程,因此3,4,6,7,8和9应该是安全的。

根据下面的注释,要测试是否在脚本中侦听 本地服务器

exec 6<>/dev/tcp/127.0.0.1/445 || echo "No one is listening!"exec 6>&- # close output connectionexec 6<&- # close input connection

要确定是否有人在监听,请尝试通过环回连接。如果失败,则说明该端口已关闭或不允许我们访问。然后,关闭连接。

针对您的用例进行修改,例如发送电子邮件,在失败时退出脚本或启动所需的服务。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存