【コマンド使用例つき】RustScanの使い方を徹底解説!

Rustで作られた高速スキャンツール
- RustScan -

Rustで開発されたこのツールは、Nmapと自動連携しながら、圧倒的なスキャンスピードを実現する次世代のポートスキャナです。

本記事では、RustScanとは何かNmapとの違い、そしてRustScanのインストール方法から基本的な使い方までを体系的に解説します。

さらに、具体的なコマンド使用例や、実際にスキャンを行った際の実行結果も掲載しているので、すぐに試せる実践的な内容になっています。

RustScanの使用には法的な注意が必要です。

RustScanを含むポートスキャナは強力なツールです。たとえ善意のポートスキャンであっても、ターゲットの管理者から事前に許可を得ていない場合は、サイバー攻撃とみなされる可能性があります。許可を得ていない環境では、絶対に使用しないでください。

学習目的で試したい場合は、必ずやられアプリなどの自己所有のテスト環境を使用してください。

目次

RustScanとは

RustScanは、ネットワーク上のポートスキャンを極めて高速に実行するためのスキャンツールです。一般的にポートスキャンと言えば〝Nmap〟が広く知られていますが、スキャン実行に多くの時間を要するという欠点があります。

RustScanはNmapの前処理として高速スキャンを行い、全体のスキャン時間を短縮することを目的として開発されました。

  • RustScan自体はオープンポートの検出に特化しており、サービス情報の収集・解析(例:HTTP、SSH、FTPなど)は行いません。
  • RustScanで高速に開いているポートを特定し、その結果をNmapに渡して詳細な調査を行う設計になっています。
  • 高速なポート検出(RustScan)+ 詳細なサービス解析(Nmap)という二段構えの効率的なスキャンを実現しています。

脆弱性診断やペネトレーションテストにおいて、迅速なポート特定が作業効率を大きく左右します。RustScanはポート検出の初動フェーズを高速化し、数百台規模のホストを扱うような環境でも、短時間でのスキャンを実現できるポートスキャナです。

RustScanの主な特徴
  • 高速スキャン
  • Rustプログラミング言語で実装
  • Nmapと自動連携
  • コマンドライン・インタフェース
  • IPv6対応
  • UDPスキャンも可能
  • オープンソース(GPLv3ライセンス)

RustScanとNmapの違い

RustScanとNmapは、いずれもポートスキャンに用いられるツールですが、その設計思想や用途、性能には明確な違いがあります。両者の関係を正確に理解することで、目的に応じた最適なツール選択が可能になります。

RustScanが圧倒的に高速

RustScan最大の特徴は、スキャン速度の速さにあります。RustScanは高速化に最適なRust言語で実装されており、数万ポートを短時間でスキャンすることができます。

Nmapも-T4-T5などの高速化オプションを持ちますが、それでもRustScanほどの速度には到達しません。

Nmapは多機能

RustScanはポートスキャンに特化したツールであり、ポート開閉状況を短時間で把握するために設計された高速ポートスキャナです。

一方、Nmapはポートスキャンに加え、OS識別、バナー取得、サービス・バージョン検出、スクリプトによる脆弱性診断(NSE:Nmap Scripting Engine)など、非常に多機能です。

したがって、ポートの開閉状態だけでなく、その先の脆弱性検出や環境把握を行いたい場合には、Nmapが適しています。

使用目的の違い

項目RustScanNmap
主な目的開いているポートの検出ネットワーク調査・脆弱性診断
スキャン速度非常に高速中速〜低速
スキャン精度普通見落とし(偽陰性)や誤検知(偽陽性)が少ない
機能範囲ポート検出に特化サービス検出、OS識別、スクリプト実行など多機能
実装言語RustC/C++
拡張性Nmapとの連携が前提独自スクリプト(NSE)による拡張が可能

RustScanはNmapの補完的ツール

RustScan単体ではサービス検出やスクリプト実行ができませんが、RustScanは開いているポートの検出後に、Nmapを自動で呼び出す機能を備えています。

例えば、以下のようにRustScanの--オプションを用いることで、Nmapのオプションを指定することができます。

$ rustscan -a 192.168.10.101 -- -sV -sC

上記コマンドの場合、RustScanが高速にオープンポートを特定し、その結果をNmapに渡してバージョン検出(-sV)とスクリプト実行(-sC)を行います。

※コマンドの詳しい解説は、後述しています。

RustScanをインストール

RustScanはKali Linuxに標準では含まれておらず、公式リポジトリでも提供されていません。そのため、GitHubのRustScanリリースページから.debパッケージを手動でダウンロードし、dpkgコマンドを使用してインストールします。

# インストールされていないことを確認
$ which rustscan

# 公式リポジトリで管理していないことを確認
$ apt search rustscan

この記事では、Kali Linux 2025.3 を前提にRustScanの使い方について、解説しています。

UbuntuもKali Linux(上記)と同様なので、 GitHubから.debパッケージをダウンロードし、インストールします。

STEP

RustScanの最新バージョンをダウンロード

$ wget https://github.com/bee-san/RustScan/releases/download/2.4.1/rustscan.deb.zip

RustScanの最新バージョンを、GitHubリリースページからダウンロードします。

2025年10月19日時点の最新バージョンは、2.4.1です(リリース日:2025年2月24日)。

STEP

ダウンロードしたzipファイルを解凍

$ unzip rustscan.deb.zip
STEP

RustScanをインストール

$ sudo dpkg -i rustscan_2.4.1-1_amd64.deb
以前に未選択のパッケージ rustscan を選択しています。
(データベースを読み込んでいます ... 現在 445020 個のファイルとディレクトリがインストールされています。)
rustscan_2.4.1-1_amd64.deb を展開する準備をしています ...
rustscan (2.4.1-1) を展開しています...
rustscan (2.4.1-1) を設定しています ...
kali-menu (2025.4.1) のトリガを処理しています ...

解凍した.debパッケージをdpkgコマンドでインストールします。

その他のインストール方法については、公式サイトのインストールガイドをご覧ください。

STEP

インストール後の動作確認

# 実行ファイルの場所
$ which rustscan
/usr/bin/rustscan

# バージョン確認
$ rustscan -V
rustscan 2.4.1

インストールが終了したら、実行ファイルの場所とバージョンを確認します。

RustScanの基本的な使い方

基本コマンド

$ rustscan -a <ターゲットホスト>

-a:スキャン対象のホストを指定

RustScanの使い方は非常にシンプルで、対象のIPアドレス、またはホスト名を指定するだけでスキャンを開始します。

処理の流れ
  • ポート番号を指定しない場合、RustScanは全TCPポート(1〜65535)を対象にスキャンを実施。
  • RustScanのスキャン結果がNmapに自動連携される。
  • Nmapは受け取ったスキャン結果より、nmap -vvv -p {{port}} -{{ipversion}} {{ip}}を実行し、詳細な情報収集・解析を行う。

RustScanからNmapへの連携は、RustScanの内部で自動処理されるので、ユーザーは意識する必要はありません。

ヘルプ

$ rustscan -h

バージョン確認

$ rustscan -V

rustscanコマンドの具体的な使用例

  • ターゲット(対象ホスト)を指定
  • 対象ポートを指定
  • Nmapとの連携スキャン
  • ファイル出力
  • UDPスキャン

ターゲット(対象ホスト)を指定

# 単一ターゲットを指定
$ rustscan -a 192.168.10.101

# 複数のターゲットを指定
$ rustscan -a 192.168.10.101,192.168.10.105

# ホスト名で指定
$ rustscan -a example.com

# CIDR形式で指定
$ rustscan -a 192.168.10.0/24

# ファイルで指定
$ cat targets.txt
192.168.10.101
192.168.10.102
192.168.10.105
$ rustscan -a targets.txt

-aオプションは、スキャン対象のIPアドレスやホスト名を指定するための必須オプションです。単一ターゲットだけでなく、複数指定やCIDR形式にも対応しています。

対象ポートを指定

# 単一ポート
$ rustscan -a 192.168.10.101 -p 53

# 複数ポート(個別指定)
$ rustscan -a 192.168.10.101 -p 22,80,443

# 複数ポート(レンジ指定)
$ rustscan -a 192.168.10.101 -r 1-1024
  • -p:対象ポートを個別指定(複数の場合、カンマ区切り)
  • -r:対象ポートを範囲指定

対象ポートを指定しない場合、すべてのTCPポート(1〜65535)を対象にスキャンします。

Nmapとの連携スキャン

$ rustscan <RustScan用オプション> -- <Nmap用オプション>

RustScanは内部的にNmapと連携しており、RustScanが高速にポートを検出した後、その結果をNmapに渡して詳細スキャン(OS検出、サービスバナー取得など)を実施する流れです。

RustScanに渡すオプションと、Nmapに渡すオプションを区別するために--を使います。

$ rustscan -a 192.168.10.101 -- -sV -sC
  • -a:スキャン対象のIPアドレス
  • --:以降はNmapに渡すオプション
    • -sV:サービスのバージョン検出
    • -sC:デフォルトスクリプトの実行

上記のコマンドの場合、RustScanで検出したオープンポートに対して、Nmapがバージョン検出(-sV)、及びデフォルトスクリプトの実行(-sC)を行います。

Nmapのオプションを指定する場合、--の後に記述します。

ファイル出力

$ rustscan -a 192.168.10.0/24 -- -sV -oN output.txt

スキャン結果をファイルに保存する場合、Nmap側の出力オプションを使います。

  • -oN ファイル名:通常の形式
  • -oX ファイル名:XML形式
  • -oA ベースファイル名:すべての形式で一括出力

UDPスキャン

$ rustscan -a 192.168.10.101 --udp -- -sU
  • --udp:UDPスキャン
  • --:以降はNmapに渡すオプション
    • -sU:UDPスキャン

RustScanを使って192.168.10.101に対してUDPスキャンを行い、検出されたポートに対してNmapのUDPスキャンを行います。

-sUを付けない場合、Nmapはデフォルトスキャン(TCP SYNスキャン)を実行します。RustScanはUDPポートをスキャンし、スキャン結果を受け取ったNmapはTCPポートを検査するので、正しい結果が得られません。

【参考】-sUを付けた場合の実行結果
$ rustscan -a 192.168.10.101 -p 53,111,2049 --udp -- -sU
.----. .-. .-. .----..---.  .----. .---.   .--.  .-. .-.
| {}  }| { } |{ {__ {_   _}{ {__  /  ___} / {} \ |  `| |
| .-. \| {_} |.-._} } | |  .-._} }\     }/  /\  \| |\  |
`-' `-'`-----'`----'  `-'  `----'  `---' `-'  `-'`-' `-'
The Modern Day Port Scanner.
________________________________________
: http://discord.skerritt.blog         :
: https://github.com/RustScan/RustScan :
 --------------------------------------
Open ports, closed hearts.

[~] The config file is expected to be at "/home/kali/.rustscan.toml"
[!] File limit is lower than default batch size. Consider upping with --ulimit. May cause harm to sensitive servers
[!] Your file limit is very small, which negatively impacts RustScan's speed. Use the Docker image, or up the Ulimit with '--ulimit 5000'.
Open 192.168.10.101:53
Open 192.168.10.101:111
Open 192.168.10.101:2049
[~] Starting Script(s)
[>] Running script "nmap -vvv -p {{port}} -{{ipversion}} {{ip}} -sU" on ip 192.168.10.101
Depending on the complexity of the script, results may take some time to appear.
[~] Starting Nmap 7.95 ( https://nmap.org ) at 2025-10-19 12:20 JST
Initiating ARP Ping Scan at 12:20
Scanning 192.168.10.101 [1 port]
Completed ARP Ping Scan at 12:20, 0.07s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:20
Completed Parallel DNS resolution of 1 host. at 12:20, 0.01s elapsed
DNS resolution of 1 IPs took 0.01s. Mode: Async [#: 2, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]
Initiating UDP Scan at 12:20
Scanning 192.168.10.101 [3 ports]
Discovered open port 2049/udp on 192.168.10.101
Discovered open port 111/udp on 192.168.10.101
Discovered open port 53/udp on 192.168.10.101
Completed UDP Scan at 12:20, 0.22s elapsed (3 total ports)
Nmap scan report for 192.168.10.101
Host is up, received arp-response (0.00045s latency).
Scanned at 2025-10-19 12:20:07 JST for 0s

PORT     STATE SERVICE REASON
53/udp   open  domain  udp-response ttl 64
111/udp  open  rpcbind udp-response ttl 64
2049/udp open  nfs     udp-response ttl 64
MAC Address: 08:00:27:A2:7C:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds
           Raw packets sent: 8 (472B) | Rcvd: 6 (334B)

RustScanで検出されたUDPポートは、Nmapでも同様にUDPポートとして扱われ、追加の詳細分析が行われていることを確認できます。

【参考】-sUを付けない場合の実行結果
$ rustscan -a 192.168.10.101 -p 53,111,2049 --udp
.----. .-. .-. .----..---.  .----. .---.   .--.  .-. .-.
| {}  }| { } |{ {__ {_   _}{ {__  /  ___} / {} \ |  `| |
| .-. \| {_} |.-._} } | |  .-._} }\     }/  /\  \| |\  |
`-' `-'`-----'`----'  `-'  `----'  `---' `-'  `-'`-' `-'
The Modern Day Port Scanner.
________________________________________
: http://discord.skerritt.blog         :
: https://github.com/RustScan/RustScan :
 --------------------------------------
Port scanning: Because every port has a story to tell.

[~] The config file is expected to be at "/home/kali/.rustscan.toml"
[!] File limit is lower than default batch size. Consider upping with --ulimit. May cause harm to sensitive servers
[!] Your file limit is very small, which negatively impacts RustScan's speed. Use the Docker image, or up the Ulimit with '--ulimit 5000'.
Open 192.168.10.101:111
Open 192.168.10.101:53
Open 192.168.10.101:2049
[~] Starting Script(s)
[~] Starting Nmap 7.95 ( https://nmap.org ) at 2025-10-19 12:22 JST
Initiating ARP Ping Scan at 12:22
Scanning 192.168.10.101 [1 port]
Completed ARP Ping Scan at 12:22, 0.06s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:22
Completed Parallel DNS resolution of 1 host. at 12:22, 0.01s elapsed
DNS resolution of 1 IPs took 0.01s. Mode: Async [#: 2, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]
Initiating SYN Stealth Scan at 12:22
Scanning 192.168.10.101 [3 ports]
Discovered open port 53/tcp on 192.168.10.101
Discovered open port 111/tcp on 192.168.10.101
Discovered open port 2049/tcp on 192.168.10.101
Completed SYN Stealth Scan at 12:22, 0.07s elapsed (3 total ports)
Nmap scan report for 192.168.10.101
Host is up, received arp-response (0.00041s latency).
Scanned at 2025-10-19 12:22:55 JST for 0s

PORT     STATE SERVICE REASON
53/tcp   open  domain  syn-ack ttl 64
111/tcp  open  rpcbind syn-ack ttl 64
2049/tcp open  nfs     syn-ack ttl 64
MAC Address: 08:00:27:A2:7C:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.38 seconds
           Raw packets sent: 4 (160B) | Rcvd: 4 (160B)

-sUオプションを付けない場合、Nmapはデフォルトスキャン(TCP SYNスキャン)を実施します。RustScanで検出されたUDPポートがNmapではTCPポートとして解析されていることが、上記の結果からも確認できます。

【実演解説】実際にRustScanを実行してみた

ここでは、Kali Linux上にインストール済みのRustScanを使い、検証環境内のMetasploitable2に対してポートスキャンを実行します。

検証環境のシステム構成

項目内容
ホストOSWindows 10 Pro 64bit
仮想化ソフトVirtualBox 7.1.12
仮想ネットワークホストオンリーアダプター
仮想マシン(1)
RustScan実行マシン
Kali Linux 2025.3
※RustScan 2.4.1 インストール済み
仮想マシン(2)
ターゲットマシン
Metasploitable2

Windows上のVirtualBoxで構築した仮想環境内で、Kali LinuxとMetasploitable2を仮想マシンとして動作させています。

STEP

RustScanを実行

使用するコマンド

$ rustscan -a 192.168.10.101 -- -sV -oN output.txt
  • -a:スキャン対象のIPアドレス
  • --:以降はNmapに渡すオプション
    • -sV:サービスのバージョン検出
    • -oN:出力をファイルに保存

すべてのTCPポート(1〜65535)をスキャンして、検出されたオープンポートに対してNmapの詳細スキャンを行います。

STEP

実行結果を確認

$ rustscan -a 192.168.10.101 -- -sV -oN output.txt
.----. .-. .-. .----..---.  .----. .---.   .--.  .-. .-.
| {}  }| { } |{ {__ {_   _}{ {__  /  ___} / {} \ |  `| |
| .-. \| {_} |.-._} } | |  .-._} }\     }/  /\  \| |\  |
`-' `-'`-----'`----'  `-'  `----'  `---' `-'  `-'`-' `-'
The Modern Day Port Scanner.
________________________________________
: http://discord.skerritt.blog         :
: https://github.com/RustScan/RustScan :
 --------------------------------------
RustScan: Because guessing isn't hacking.

[~] The config file is expected to be at "/home/kali/.rustscan.toml"
[!] File limit is lower than default batch size. Consider upping with --ulimit. May cause harm to sensitive servers
[!] Your file limit is very small, which negatively impacts RustScan's speed. Use the Docker image, or up the Ulimit with '--ulimit 5000'.
Open 192.168.10.101:80
Open 192.168.10.101:111
Open 192.168.10.101:139
Open 192.168.10.101:445
Open 192.168.10.101:512
Open 192.168.10.101:513
Open 192.168.10.101:514
Open 192.168.10.101:1099
Open 192.168.10.101:1524
Open 192.168.10.101:2049
Open 192.168.10.101:2121
Open 192.168.10.101:3306
Open 192.168.10.101:3632
Open 192.168.10.101:5432
Open 192.168.10.101:53
Open 192.168.10.101:25
Open 192.168.10.101:23
Open 192.168.10.101:22
Open 192.168.10.101:21
Open 192.168.10.101:5900
Open 192.168.10.101:6000
Open 192.168.10.101:6667
Open 192.168.10.101:6697
Open 192.168.10.101:8009
Open 192.168.10.101:8180
Open 192.168.10.101:8787
Open 192.168.10.101:32888
Open 192.168.10.101:35873
Open 192.168.10.101:44643
Open 192.168.10.101:56249
[~] Starting Script(s)
[>] Running script "nmap -vvv -p {{port}} -{{ipversion}} {{ip}} -sV -oN output.txt" on ip 192.168.10.101
Depending on the complexity of the script, results may take some time to appear.
[~] Starting Nmap 7.95 ( https://nmap.org ) at 2025-10-19 13:08 JST
NSE: Loaded 47 scripts for scanning.
Initiating ARP Ping Scan at 13:08
Scanning 192.168.10.101 [1 port]
Completed ARP Ping Scan at 13:08, 0.06s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 13:08
Completed Parallel DNS resolution of 1 host. at 13:08, 0.01s elapsed
DNS resolution of 1 IPs took 0.01s. Mode: Async [#: 2, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]
Initiating SYN Stealth Scan at 13:08
Scanning 192.168.10.101 [30 ports]
Discovered open port 5900/tcp on 192.168.10.101
Discovered open port 111/tcp on 192.168.10.101
Discovered open port 139/tcp on 192.168.10.101
Discovered open port 80/tcp on 192.168.10.101
Discovered open port 53/tcp on 192.168.10.101
Discovered open port 25/tcp on 192.168.10.101
Discovered open port 22/tcp on 192.168.10.101
Discovered open port 445/tcp on 192.168.10.101
Discovered open port 3306/tcp on 192.168.10.101
Discovered open port 21/tcp on 192.168.10.101
Discovered open port 23/tcp on 192.168.10.101
Discovered open port 5432/tcp on 192.168.10.101
Discovered open port 44643/tcp on 192.168.10.101
Discovered open port 56249/tcp on 192.168.10.101
Discovered open port 6697/tcp on 192.168.10.101
Discovered open port 3632/tcp on 192.168.10.101
Discovered open port 2049/tcp on 192.168.10.101
Discovered open port 6000/tcp on 192.168.10.101
Discovered open port 8180/tcp on 192.168.10.101
Discovered open port 32888/tcp on 192.168.10.101
Discovered open port 1099/tcp on 192.168.10.101
Discovered open port 6667/tcp on 192.168.10.101
Discovered open port 8787/tcp on 192.168.10.101
Discovered open port 512/tcp on 192.168.10.101
Discovered open port 2121/tcp on 192.168.10.101
Discovered open port 1524/tcp on 192.168.10.101
Discovered open port 35873/tcp on 192.168.10.101
Discovered open port 8009/tcp on 192.168.10.101
Discovered open port 514/tcp on 192.168.10.101
Discovered open port 513/tcp on 192.168.10.101
Completed SYN Stealth Scan at 13:08, 0.04s elapsed (30 total ports)
Initiating Service scan at 13:08
Scanning 30 services on 192.168.10.101
Completed Service scan at 13:10, 126.50s elapsed (30 services on 1 host)
NSE: Script scanning 192.168.10.101.
NSE: Starting runlevel 1 (of 2) scan.
Initiating NSE at 13:10
Completed NSE at 13:10, 0.15s elapsed
NSE: Starting runlevel 2 (of 2) scan.
Initiating NSE at 13:10
Completed NSE at 13:10, 0.04s elapsed
Nmap scan report for 192.168.10.101
Host is up, received arp-response (0.00041s latency).
Scanned at 2025-10-19 13:08:17 JST for 127s

PORT      STATE SERVICE     REASON         VERSION
21/tcp    open  ftp         syn-ack ttl 64 vsftpd 2.3.4
22/tcp    open  ssh         syn-ack ttl 64 OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp    open  telnet      syn-ack ttl 64 Linux telnetd
25/tcp    open  smtp        syn-ack ttl 64 Postfix smtpd
53/tcp    open  domain      syn-ack ttl 64 ISC BIND 9.4.2
80/tcp    open  http        syn-ack ttl 64 Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp   open  rpcbind     syn-ack ttl 64 2 (RPC #100000)
139/tcp   open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp   open  exec        syn-ack ttl 64 netkit-rsh rexecd
513/tcp   open  login       syn-ack ttl 64 OpenBSD or Solaris rlogind
514/tcp   open  shell       syn-ack ttl 64 Netkit rshd
1099/tcp  open  java-rmi    syn-ack ttl 64 GNU Classpath grmiregistry
1524/tcp  open  bindshell   syn-ack ttl 64 Metasploitable root shell
2049/tcp  open  nfs         syn-ack ttl 64 2-4 (RPC #100003)
2121/tcp  open  ftp         syn-ack ttl 64 ProFTPD 1.3.1
3306/tcp  open  mysql       syn-ack ttl 64 MySQL 5.0.51a-3ubuntu5
3632/tcp  open  distccd     syn-ack ttl 64 distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp  open  postgresql  syn-ack ttl 64 PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp  open  vnc         syn-ack ttl 64 VNC (protocol 3.3)
6000/tcp  open  X11         syn-ack ttl 64 (access denied)
6667/tcp  open  irc         syn-ack ttl 64 UnrealIRCd
6697/tcp  open  irc         syn-ack ttl 64 UnrealIRCd
8009/tcp  open  ajp13       syn-ack ttl 64 Apache Jserv (Protocol v1.3)
8180/tcp  open  http        syn-ack ttl 64 Apache Tomcat/Coyote JSP engine 1.1
8787/tcp  open  drb         syn-ack ttl 64 Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
32888/tcp open  java-rmi    syn-ack ttl 64 GNU Classpath grmiregistry
35873/tcp open  mountd      syn-ack ttl 64 1-3 (RPC #100005)
44643/tcp open  status      syn-ack ttl 64 1 (RPC #100024)
56249/tcp open  nlockmgr    syn-ack ttl 64 1-4 (RPC #100021)
MAC Address: 08:00:27:A2:7C:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: Hosts:  metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 127.67 seconds
           Raw packets sent: 31 (1.348KB) | Rcvd: 31 (1.348KB)

RustScanからスキャン結果を受け取り、続いてNmapが起動していることが確認できます。

nmap -vvv -p {{port}} -{{ipversion}} {{ip}} -sV -oN output.txt

STEP

出力ファイルを確認

$ cat output.txt
# Nmap 7.95 scan initiated Sun Oct 19 13:08:16 2025 as: /usr/lib/nmap/nmap --privileged -vvv -p 80,111,139,445,512,513,514,1099,1524,2049,2121,3306,3632,5432,53,25,23,22,21,5900,6000,6667,6697,8009,8180,8787,32888,35873,44643,56249 -4 -sV -oN output.txt 192.168.10.101
Nmap scan report for 192.168.10.101
Host is up, received arp-response (0.00041s latency).
Scanned at 2025-10-19 13:08:17 JST for 127s

PORT      STATE SERVICE     REASON         VERSION
21/tcp    open  ftp         syn-ack ttl 64 vsftpd 2.3.4
22/tcp    open  ssh         syn-ack ttl 64 OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp    open  telnet      syn-ack ttl 64 Linux telnetd
25/tcp    open  smtp        syn-ack ttl 64 Postfix smtpd
53/tcp    open  domain      syn-ack ttl 64 ISC BIND 9.4.2
80/tcp    open  http        syn-ack ttl 64 Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp   open  rpcbind     syn-ack ttl 64 2 (RPC #100000)
139/tcp   open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp   open  exec        syn-ack ttl 64 netkit-rsh rexecd
513/tcp   open  login       syn-ack ttl 64 OpenBSD or Solaris rlogind
514/tcp   open  shell       syn-ack ttl 64 Netkit rshd
1099/tcp  open  java-rmi    syn-ack ttl 64 GNU Classpath grmiregistry
1524/tcp  open  bindshell   syn-ack ttl 64 Metasploitable root shell
2049/tcp  open  nfs         syn-ack ttl 64 2-4 (RPC #100003)
2121/tcp  open  ftp         syn-ack ttl 64 ProFTPD 1.3.1
3306/tcp  open  mysql       syn-ack ttl 64 MySQL 5.0.51a-3ubuntu5
3632/tcp  open  distccd     syn-ack ttl 64 distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp  open  postgresql  syn-ack ttl 64 PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp  open  vnc         syn-ack ttl 64 VNC (protocol 3.3)
6000/tcp  open  X11         syn-ack ttl 64 (access denied)
6667/tcp  open  irc         syn-ack ttl 64 UnrealIRCd
6697/tcp  open  irc         syn-ack ttl 64 UnrealIRCd
8009/tcp  open  ajp13       syn-ack ttl 64 Apache Jserv (Protocol v1.3)
8180/tcp  open  http        syn-ack ttl 64 Apache Tomcat/Coyote JSP engine 1.1
8787/tcp  open  drb         syn-ack ttl 64 Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
32888/tcp open  java-rmi    syn-ack ttl 64 GNU Classpath grmiregistry
35873/tcp open  mountd      syn-ack ttl 64 1-3 (RPC #100005)
44643/tcp open  status      syn-ack ttl 64 1 (RPC #100024)
56249/tcp open  nlockmgr    syn-ack ttl 64 1-4 (RPC #100021)
MAC Address: 08:00:27:A2:7C:82 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: Hosts:  metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Oct 19 13:10:24 2025 -- 1 IP address (1 host up) scanned in 127.67 seconds

前述と同様、RustScanで検出したオープンポートに対して、Nmapが詳細スキャンを実行していることが確認できます。

/usr/lib/nmap/nmap --privileged -vvv -p 80,111,139,445,512,513,514,1099,1524,2049,2121,3306,3632,5432,53,25,23,22,21,5900,6000,6667,6697,8009,8180,8787,32888,35873,44643,56249 -4 -sV -oN output.txt 192.168.10.101

デフォラボ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次