在Linux中,可以使用Shell腳本結(jié)合nc命令批量檢測端口。
以下是一個簡單的示例腳本:
#!/bin/bash
# 定義需要檢測的IP地址和端口范圍
IP_ADDRESS="192.168.0.1"
PORT_RANGE="1-100"
# 循環(huán)遍歷端口范圍
for PORT in $(seq $PORT_RANGE); do
# 使用nc命令檢測端口是否開放
nc -zvw 1 $IP_ADDRESS $PORT
# 檢查nc命令的返回值,如果為0則端口開放,否則端口關(guān)閉
if [ $? -eq 0 ]; then
echo "端口 $PORT 開放"
else
echo "端口 $PORT 關(guān)閉"
fi
done
在腳本中,首先定義需要檢測的IP地址和端口范圍。然后使用seq
命令生成端口范圍的序列。接著使用nc -zvw 1
命令檢測每個端口是否開放,參數(shù)-z
表示只進(jìn)行端口掃描,參數(shù)-v
表示顯示詳細(xì)輸出,參數(shù)-w 1
表示設(shè)置超時時間為1秒。最后根據(jù)nc命令的返回值判斷端口是否開放,并輸出結(jié)果。
保存腳本文件,比如port_check.sh
,然后在終端中執(zhí)行sh port_check.sh
即可批量檢測端口。將IP_ADDRESS設(shè)置為需要檢測的IP地址,PORT_RANGE設(shè)置為需要檢測的端口范圍即可。