どーも!marusukeです!
ネットワーク上のホストやポートの状態を調査するためのコマンドnmapコマンドについてです!
nmapコマンドでできること
nmap [オプション] ターゲットIPアドレスまたはホスト名
nmap(Network Mapper)は、ネットワーク上のホストやポートの状態を調査するためのコマンドです
主にサーバーのポートスキャンや稼働サービスの確認に使用されます
例えば、
- どのポートが開いているか
- どんなサービス(SSH・HTTPなど)が動いているか
- OSの種類は何か
といった情報を調査できます
ポートとは?
ポートとは、コンピュータ内で通信サービスを識別する番号です
例:SSHは22番、HTTPは80番を使用します
※nmapは多くのディストリビューションで標準インストールされていません
未インストールの場合は以下で導入できます(詳しくはググってみてください)
- Debian / Ubuntu系
sudo apt install nmap - RHEL / CentOS / Rocky Linux系
sudo dnf install nmap
nmapコマンドの使用例
基本的なポートスキャン
$ nmap 192.168.1.10
Starting Nmap 7.93
Nmap scan report for 192.168.1.10
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
指定したIPアドレスに対して、よく使われるポートをスキャンします
🔹特定ポートを指定してスキャン
$ nmap -p 22 192.168.1.10
PORT STATE SERVICE
22/tcp open ssh
-pでポート番号を指定できます
OSを推測するスキャン
$ sudo nmap -O 192.168.1.10
OS details: Linux 5.x
-OオプションでOS推測が可能です
※root権限が必要です
🔹複数オプションを併用する例
$ sudo nmap -sS -p 1-1024 192.168.1.10
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
-sS→ SYNスキャン(高速で一般的なスキャン方法)-p 1-1024→ 1〜1024番ポートをスキャン
nmapコマンドの主なオプション
| オプション | 説明 |
|---|---|
-p | ポート番号を指定 |
-sS | SYNスキャン(高速・一般的) (動作原理はTCPの3-way handshakeを利用して相手側の状態を判断します。この時のTCP状態管理などカーネルが通常行う部分は、nmapアプリ側で行います) |
-sT | TCPコネクトスキャン (通常のTCP接続(自分側カーネルがTCP状態管理などを行う接続)を利用し、相手側の状態を判断します) |
-O | OS推測 |
-A | OS・バージョン・スクリプト検出をまとめて実行 |
-v | 詳細表示 |
注意点(重要)
nmapは非常に強力なツールです
許可のないサーバーへスキャンを行うと不正アクセスとみなされる場合があります
必ず、
- 自分の管理しているサーバー
- 検証環境
- 明確に許可を得た環境
でのみ使用してください
まとめ
nmapは、
- 開いているポートの確認
- 稼働サービスの調査
- OS推測
- セキュリティチェック
ができる、ネットワーク管理・セキュリティ分野の必須コマンドです
インフラエンジニアやセキュリティエンジニアを目指すなら、
ぜひ触っておきたいツールのひとつです
まずは自宅の検証環境で、基本的なスキャンから試してみましょう
以上です!
ここまで読んでいただきありがとうございました!


コメント