theonlygusti Asked: 2020-02-07 09:44:43 +0800 CST2020-02-07 09:44:43 +0800 CST 2020-02-07 09:44:43 +0800 CST 纯 bash 可以执行端口扫描吗? 772 不使用任何外部程序,仅使用 bash 语言,是否可以在远程主机上执行端口扫描? 在查看了 bash 的内置函数后,我会说:不。但也许有一些解决方法或其他可能的命令可以执行,这些命令不在 bash 内置函数中。 networking bash 1 个回答 Voted Best Answer Stephen Kitt 2020-02-07T09:54:34+08:002020-02-07T09:54:34+08:00 您可以使用 Bash 的 TCP 连接支持来检查打开的端口: if 2>/dev/null >"/dev/tcp/${IP}/${PORT}"; then echo open; fi 将检查是否可以打开到 port ${PORT}on的连接${IP}。 测试本身是通过尝试重定向到/dev/tcp/${IP}/${PORT}; 当目标端口无法访问时,将标准错误重定向到/dev/null( 2>/dev/null) 会隐藏产生的错误消息。 这可以用于循环扫描所有端口。
您可以使用 Bash 的 TCP 连接支持来检查打开的端口:
将检查是否可以打开到 port
${PORT}
on的连接${IP}
。测试本身是通过尝试重定向到
/dev/tcp/${IP}/${PORT}
; 当目标端口无法访问时,将标准错误重定向到/dev/null
(2>/dev/null
) 会隐藏产生的错误消息。这可以用于循环扫描所有端口。