コンピュータのグループをスキャンするための nmap スクリプト
説明する
Nmap (ネットワーク マッパー) は、オープンソースのネットワーク検出およびセキュリティ評価ツールです。これは、ネットワーク上のホスト、ポート、サービスをスキャンして検出するだけでなく、ネットワークのセキュリティを評価するためにも使用されます。
Nmap には次の主な機能があります。
- ホストの検出: Nmap は、ネットワーク プローブ リクエスト (ICMP エコー リクエストなど) を送信することで、ネットワーク上のアクティブなホストを検出できます。サブネット全体または指定された IP 範囲をスキャンできます。
- ポート スキャン: Nmap はホスト上の開いているポートをスキャンして、どのサービスが実行されているかを判断できます。TCP SYN スキャン、TCP Connect スキャン、UDP スキャンなどの複数のスキャン テクノロジをサポートします。
- サービスとバージョンの検出: Nmap は、ターゲット ホスト上で実行されているサービスとアプリケーションのバージョン情報の識別を試みることができます。これは、システムの脆弱性と弱点を評価するのに役立ちます。
- オペレーティング システムの検出: Nmap は、ネットワークの特性と応答を分析することによって、ターゲット ホストのオペレーティング システムの種類を判断しようとします。
- スクリプト スキャン: Nmap は、より複雑なスキャンおよび評価タスクを実行するために、Nmap スクリプト エンジン (NSE) を使用したカスタム スクリプトの実行をサポートしています。これらのスクリプトは、脆弱性の検出、セキュリティ監査の実行、情報の収集などに使用できます。
Nmapの基本的な使い方は以下の通りです。
nmap [扫描选项] <目标>
その中で、スキャン オプションは次の 1 つまたは組み合わせになります。
-sS
:TCP SYNスキャン(デフォルト)-sT
:TCPコネクトスキャン-sU
:UDPスキャン-O
: オペレーティング システムの検出-sV
: サービスとバージョンの検出-p <端口范围>
:スキャンするポート範囲を指定します-A
: オペレーティング システムの検出、バージョンの検出、スクリプト スキャンなどの機能を有効にします。
ターゲットは、単一のホスト、IP アドレス範囲、サブネット、またはホスト名にすることができます。
Nmap は他にも多くのオプションと機能を提供します。man nmap
コマンドを介して完全なドキュメントを参照してください。
使用例
Nmap を使用した例をいくつか示します。
- 単一ホストの共通ポートをスキャンします。
nmap <目标IP或主机名>
これにより、指定されたターゲットの共通ポートがスキャンされ、どのポートが開いているかが判断されます。
- 指定されたポート範囲をスキャンします。
nmap -p <起始端口>-<结束端口> <目标IP或主机名>
これにより、指定されたターゲット上の指定された範囲のポートがスキャンされます。
- TCP接続を使用してスキャンします。
nmap -sT <目标IP或主机名>
これは、TCP Connect スキャン テクノロジを使用して、指定されたターゲットのポートをスキャンします。
- UDP を使用したスキャン:
nmap -sU <目标IP或主机名>
これにより、UDP スキャン テクノロジを使用して、指定されたターゲットのポートがスキャンされます。
- サービスとバージョンの検出をスキャンして実行します。
nmap -sV <目标IP或主机名>
これにより、指定されたターゲットのポートがスキャンされ、実行中のサービスとアプリケーションのバージョン情報が識別されます。
- OS 検出をスキャンして実行します。
nmap -O <目标IP或主机名>
これにより、指定されたターゲットのポートがスキャンされ、オペレーティング システムの種類が判断されます。
これらは、Nmap を使用する基本的な例のほんの一部です。
Nmap は、特定のニーズに合わせてカスタマイズできる他の多くのオプションと機能を提供します
IP アドレス範囲のスキャン スクリプト
#!/bin/bash
# 定义要扫描的IP地址范围
IP_RANGE="192.168.0.1-10"
# 定义扫描端口范围
PORT_RANGE="1-1000"
# 定义输出文件名
OUTPUT_FILE="scan_results.txt"
# 使用nmap进行扫描
nmap -p $PORT_RANGE -oN $OUTPUT_FILE $IP_RANGE
# 打印扫描结果
cat $OUTPUT_FILE
使用説明書:
-
上記のスクリプトをファイルに保存します
scan.sh
。 -
ターミナルを開き、スクリプトが存在するディレクトリに移動します。
-
次のコマンドを実行して、スクリプトの実行権限を付与します。
chmod +x scan.sh
-
スクリプトを実行します。
./scan.sh
スクリプトは、nmap を使用して定義された IP アドレス範囲とポート範囲をスキャンし、結果を指定された出力ファイルに保存します。最後に、スクリプトはスキャン結果を出力します。
このスクリプトを実行するには、システムに nmap ツールがインストールされている必要があることに注意してください。さらに、nmap を使用したスキャンには、システムおよびネットワーク構成によっては管理者権限が必要な場合があります。実際に使用する場合は、適用される法律およびネットワーク セキュリティ ポリシーを遵守し、許可された範囲内でのみスキャンしてください。
nmap を使用して複数の IP アドレス範囲にわたってコンピュータをスキャンする
#!/bin/bash
# 定义要扫描的IP地址范围
IP_RANGES=("192.168.0.1-10" "10.0.0.1-20" "172.16.0.1-30")
# 定义扫描端口范围
PORT_RANGE="1-1000"
# 定义输出文件名
OUTPUT_FILE="scan_results.txt"
# 使用nmap进行扫描
for ip_range in "${IP_RANGES[@]}"
do
echo "Scanning IP range: $ip_range"
nmap -p $PORT_RANGE -oN $OUTPUT_FILE $ip_range
done
# 打印扫描结果
cat $OUTPUT_FILE