在 Linux 中使用 netcat 命令掃描端口
無論您是要在備用端口上使用 SSH 還是要將Web 應(yīng)用程序部署到特定端口,第一步始終是檢查該端口是否正在使用。
netcat 實(shí)用程序是排除網(wǎng)絡(luò)故障的首選工具之一,也可用于掃描端口。
例如,如果我想檢查我的本地 VM 上的端口號(hào) 22 是否打開,我將使用 netcat 命令,如下所示:
如您所見,端口號(hào) 22 已打開供連接使用。那很簡(jiǎn)單。
但是等等,您可以使用 netcat 命令做更多的事情。
使用 netcat 命令掃描端口
您需要先安裝 netcat 命令,因?yàn)樗鼪]有預(yù)裝在許多發(fā)行版中。
對(duì)于基于 Debian/Ubuntu 的發(fā)行版:
對(duì)于 Fedora 和 RHEL:
現(xiàn)在,讓我們開始掃描多個(gè)端口。
使用netcat命令掃描多個(gè)端口
要使用 netcat 一次掃描多個(gè)端口,您需要遵循給定的命令語法:
這里,
- -z用于指示 netcat 在不建立連接的情況下掃描端口。
- -v產(chǎn)生更詳細(xì)的輸出。
- -n停止netcat進(jìn)行域名解析。
使用netcat命令掃描特定范圍內(nèi)的端口
確實(shí),您可以使用前面的方法掃描多個(gè)端口,但是如果您想掃描超過 50 個(gè)或 100 個(gè)端口怎么辦?您可以定義范圍。
例如,如果我想掃描 1 到 100 之間的端口,這將是我的命令:
你不能指望讓他們給你開放端口。但是你可以將它用于你的服務(wù)器并且可能會(huì)找到開放端口
不可用端口列表似乎很長,對(duì)嗎?在這種情況下,您可以使用 grep 命令僅獲取打開的端口:
這里,
- -w1將強(qiáng)制 netcat 命令為每個(gè)端口等待 1 秒。
- 2&1重定向標(biāo)準(zhǔn)錯(cuò)誤。