【Linux】ネットワーク上のホストやポートの状態を調査する:nmap

Linux

どーも!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ポート番号を指定
-sSSYNスキャン(高速・一般的)
(動作原理はTCPの3-way handshakeを利用して相手側の状態を判断します。この時のTCP状態管理などカーネルが通常行う部分は、nmapアプリ側で行います)
-sTTCPコネクトスキャン
(通常のTCP接続(自分側カーネルがTCP状態管理などを行う接続)を利用し、相手側の状態を判断します)
-OOS推測
-AOS・バージョン・スクリプト検出をまとめて実行
-v詳細表示

注意点(重要)

nmapは非常に強力なツールです
許可のないサーバーへスキャンを行うと不正アクセスとみなされる場合があります

必ず、

  • 自分の管理しているサーバー
  • 検証環境
  • 明確に許可を得た環境

でのみ使用してください


まとめ

nmapは、

  • 開いているポートの確認
  • 稼働サービスの調査
  • OS推測
  • セキュリティチェック

ができる、ネットワーク管理・セキュリティ分野の必須コマンドです

インフラエンジニアやセキュリティエンジニアを目指すなら、
ぜひ触っておきたいツールのひとつです

まずは自宅の検証環境で、基本的なスキャンから試してみましょう

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました