如何檢查多個遠端 Linux 系統是否開啟了指定埠?
我們最近寫了一篇文章關於如何檢查遠端 Linux 伺服器是否開啟指定埠。它能幫助你檢查單個伺服器。
如果要檢查五個伺服器有沒有問題,可以使用以下任何一個命令,如 nc
(netcat)、nmap
和 telnet
。但是如果想檢查 50 多臺伺服器,那麼你的解決方案是什麼?
要檢查所有伺服器並不容易,如果你一個一個這樣做,完全沒有必要,因為這樣你將會浪費大量的時間。為了解決這種情況,我使用 nc
命令編寫了一個 shell 小指令碼,它將允許我們掃描任意數量伺服器給定的埠。
如果你要查詢單個伺服器掃描,你有多個選擇,你只需閱讀 檢查遠端 Linux 系統上的埠是否開啟? 瞭解更多資訊。
本教程中提供了兩個指令碼,這兩個指令碼都很有用。這兩個指令碼都用於不同的目的,你可以通過閱讀標題輕鬆理解其用途。
在你閱讀這篇文章之前,我會問你幾個問題,如果你不知道答案你可以通過閱讀這篇文章來獲得答案。
如何檢查一個遠端 Linux 伺服器上指定的埠是否開啟?
如何檢查多個遠端 Linux 伺服器上指定的埠是否開啟?
如何檢查多個遠端 Linux 伺服器上是否開啟了多個指定的埠?
什麼是 nc(netcat)命令?
nc
即 netcat。它是一個簡單實用的 Unix 程式,它使用 TCP 或 UDP 協議進行跨網路連線進行資料讀取和寫入。
它被設計成一個可靠的 “後端” 工具,我們可以直接使用或由其他程式和指令碼輕鬆驅動它。
同時,它也是一個功能豐富的網路除錯和探索工具,因為它可以建立你需要的幾乎任何型別的連線,並具有幾個有趣的內建功能。
netcat 有三個主要的模式。分別是連線模式,監聽模式和隧道模式。
nc
(netcat)的通用語法:
$ nc [-options] [HostName or IP] [PortNumber]
如何檢查多個遠端 Linux 伺服器上的埠是否開啟?
如果要檢查多個遠端 Linux 伺服器上給定埠是否開啟,請使用以下 shell 指令碼。
在我的例子中,我們將檢查埠 22 是否在以下遠端伺服器中開啟,確保你已經更新檔案中的伺服器列表而不是使用我的伺服器列表。
你必須確保已經更新伺服器列表 :server-list.txt
。每個伺服器(IP)應該在單獨的行中。
# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
使用以下指令碼可以達到此目的。
# vi port_scan.sh
#!/bin/sh
for server in `more server-list.txt`
do
#echo $i
nc -zvw3 $server 22
done
設定 port_scan.sh
檔案的可執行許可權。
$ chmod +x port_scan.sh
最後執行指令碼來達到此目的。
# sh port_scan.sh
Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!
如何檢查多個遠端 Linux 伺服器上是否開啟多個埠?
如果要檢查多個伺服器中的多個埠,請使用下面的指令碼。
在我的例子中,我們將檢查給定伺服器的 22 和 80 埠是否開啟。確保你必須替換所需的埠和伺服器名稱而不使用是我的。
你必須確保已經將要檢查的埠寫入 port-list.txt
檔案中。每個埠應該在一個單獨的行中。
# cat port-list.txt
22
80
你必須確保已經將要檢查的伺服器(IP 地址)寫入 server-list.txt
到檔案中。每個伺服器(IP) 應該在單獨的行中。
# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
使用以下指令碼來達成此目的。
# vi multiple_port_scan.sh
#!/bin/sh
for server in `more server-list.txt`
do
for port in `more port-list.txt`
do
#echo $server
nc -zvw3 $server $port
echo ""
done
done
設定 multiple_port_scan.sh
檔案的可執行許可權。
$ chmod +x multiple_port_scan.sh
最後執行指令碼來實現這一目的。
# sh multiple_port_scan.sh
Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.2 80 port [tcp/http] succeeded!
Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 80 port [tcp/http] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 80 port [tcp/http] succeeded!
Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 80 port [tcp/http] succeeded!
Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 80 port [tcp/http] succeeded!
Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 80 port [tcp/http] succeeded!
via: https://www.2daygeek.com/check-a-open-port-on-multiple-remote-linux-server-using-nc-command/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:zero-MK 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 如何檢視遠端埠是否開啟
- Linux檢查遠端埠是否通暢Linux
- linux下3種檢測遠端埠是否開啟的方法Linux
- linux測試遠端埠是否開啟(nc命令)Linux
- Linux中如何檢視開啟了哪些埠?Linux
- 如何使用 Shell 指令碼來檢視多個伺服器的埠是否開啟?指令碼伺服器
- Linux系統下如何在防火牆開放指定埠Linux防火牆
- linux檢視埠是否已開啟和檢視檔案數Linux
- 檢查udp埠是否可用?UDP
- 如何修改Linux的遠端埠Linux
- LINUX中如何檢視某個埠是否被佔用Linux
- telnet檢視遠端機器埠是否可以訪問
- linux 如何檢視防火牆是否開啟Linux防火牆
- 如何檢查 Linux 中的開放埠列表?Linux
- 如何遠端登入Linux系統?Linux
- 如何檢查Mac上是否啟用了SIP系統完整性保護Mac
- Windows10系統怎麼檢視電腦開啟了哪些埠Windows
- Linux中如何檢測系統是否被入侵Linux
- 檢視Linux埠是否被開放@[環境部署]Linux
- 檢測Linux伺服器埠是否開通Linux伺服器
- Linux系統中,要檢查CUDA是否安裝成功Linux
- 多個遠端資料庫查詢資料庫
- Linux 中如何開啟埠Linux
- linux開放指定埠Linux
- 利用HttpModule 檢查使用者是否有許可權開啟指定的網址HTTP
- 如何檢查一個物件是否為空物件
- centos 開啟防火牆指定埠CentOS防火牆
- Linux下防火牆開啟相關埠及檢視已開啟埠Linux防火牆
- 安防綜合管理系統EasyCVR影片匯聚平臺Linux環境,如何測試UDP埠是否開啟?VRLinuxUDP
- Kali Linux開啟多個終端視窗Linux
- MySQL 開啟 3306 埠遠端訪問MySql
- Linux中如何檢視8080埠是否被佔用?Linux
- linux開放指定埠命令Linux
- Docker 如何開啟遠端訪問Docker
- linux下檢視埠是否被佔用以及檢視所有埠Linux
- 在Linux下判斷系統當前是否開啟了超執行緒Linux執行緒
- 檢查貨幣是否存在SAP系統中
- nginx指定埠開啟gzip壓縮Nginx