Linuxの中で、ncコマンドを使用してポートを一括でチェックする方法は何ですか?
Linuxでは、Shellスクリプトとncコマンドを組み合わせて、ポートを一括でチェックすることができます。
以下は簡単な例のスクリプトです。
#!/bin/bash
# 定义需要检测的IP地址和端口范围
IP_ADDRESS="192.168.0.1"
PORT_RANGE="1-100"
# 循环遍历端口范围
for PORT in $(seq $PORT_RANGE); do
# 使用nc命令检测端口是否开放
nc -zvw 1 $IP_ADDRESS $PORT
# 检查nc命令的返回值,如果为0则端口开放,否则端口关闭
if [ $? -eq 0 ]; then
echo "端口 $PORT 开放"
else
echo "端口 $PORT 关闭"
fi
done
スクリプトでは、まず検出する必要があるIPアドレスとポート範囲を定義します。次に、seqコマンドを使用してポート範囲のシーケンスを生成します。そして、nc -zvw 1コマンドを使用して各ポートが開いているかどうかを確認します。-zパラメータはポートスキャンのみを行うことを示し、-vパラメータは詳細な出力を表示します。-w 1パラメータはタイムアウト時間を1秒に設定します。最後に、ncコマンドの返り値に基づいてポートが開いているかどうかを判断し、結果を出力します。
port_check.shというスクリプトファイルを保存し、端末でsh port_check.shを実行すると、ポートを一括でチェックできます。IP_ADDRESSをチェックしたいIPアドレス、PORT_RANGEをチェックしたいポートの範囲に設定してください。