NBTscanでNetBIOS情報をスキャンする(Kali Linux、Ubuntu対応)

NetBIOS情報を収集し、Windows端末やSambaサーバーを調査できるネットワーク診断ツール
- NBTscan -

本記事では、NetBIOS情報を効率的に収集できるネットワーク調査ツールである「NBTscan」の使い方をゼロから解説します。

NBTscanとは何かという基礎知識から類似ツールとの違い、インストール手順、コマンドの実行方法、オプションの使用例まで、ひとつの記事で体系的に学べる内容になっています。

ローカル環境で実機検証を行い、実際の実行結果も掲載しているため、操作イメージを掴みながら学習を進められます。

目次

NBTscanとは

NBTscanは、ネットワーク上のWindows系ホストやSambaサーバーの情報を列挙する軽量な調査ツールです。具体的には、対象ホストのUDP137番ポート(NetBIOS Name Service)に対してクエリを送信し、IPアドレス、NetBIOSコンピューター名、ログインユーザー名、MACアドレスなどの情報を取得します。

主な特徴
  • NetBIOS情報を収集するための軽量なネットワークスキャナ
  • SMB共有そのものではなく、NetBIOS名前情報の列挙に特化している
  • Windows端末やSambaサーバーの「IPアドレス」「NetBIOSコンピューター名」「Macアドレス」などを取得できる
  • UDP137番ポート(NetBIOS Name Service) を利用して情報収集を行う
  • Linux/Unix系環境で動作し、Kali Linuxなどに標準搭載
  • コマンドラインツールで、スクリプトや自動化に組み込みやすい
  • スキャン結果をWindowsやUNIXのhostsファイルにそのまま貼り付けられる(-fオプション)

近年の企業ネットワークでは、セキュリティ強化の観点から〝NetBIOS over TCP/IP〟を無効化しているケースも少なくありません。また、クラウドやゼロトラスト環境では、UDP/137が遮断されている場合も多くあります。そのため、NBTscan単体ではなく、以下に示す類似ツールと組み合わせて使用することを推奨します。

類似ツールとの違い

NBTscanは、Windows端末などが使うNetBIOS情報を高速に列挙できる反面、SMB共有一覧や認証済み情報は取得できません。類似ツールとの違いを簡潔にまとめると、以下のとおりです。

ツール使用するプロトコル/ポート主な用途取得できる主な情報NBTscanとの違い
NmapTCP・UDP(全ポート)ポートスキャン・サービス調査ポート開閉状況、OSフィンガープリント、サービスバージョン など汎用性が高く多機能。NetBIOS情報はNSEスクリプト(nbstat.nse)で取得可能だが、NBTscanほど手軽ではない。
enum4linuxTCP/139, 445SMB情報収集ユーザー一覧、グループ情報、共有フォルダ、パスワードポリシー など認証接続にも対応。NBTscanより深い情報収集が可能。
smbclientTCP/139, 445SMB共有アクセスSMB共有一覧情報収集より検証・確認用途に近い。実際に共有フォルダに接続して、ファイル操作が可能。
NetdiscoverARPARPベースのホスト検出IPアドレス、MACアドレス、ベンダー情報ローカルネットワーク内のホスト探索に特化。
arp-scanARPARPベースのホスト検出IPアドレス、MACアドレス、ベンダー情報Netdiscoverと同様にデータリンク層(第2層/L2)でのホスト探索に特化。
(参考)
NBTscan
UDP/137NetBIOS情報取得IPアドレス、NetBIOSコンピューター名、ログインユーザー、MACアドレス などNetBIOSに特化。

使い分けのイメージは、こんな感じです。

  • LAN上のWindows端末名を素早く一覧化したい → NBTscan
  • 開いているポートやOSまで広く調べたい → Nmap
  • SMB共有を詳しく列挙したい → enum4linux
  • SMB共有への接続・ファイル操作 → smbclient
  • L2レベルで高速にホスト探索したい → Netdiscover、arp-scan

利用に関する注意事項

NBTscanは、ネットワーク上のNetBIOS情報を取得するツールです。取得できる情報は限定的ですが、許可を得ていないスキャンはセキュリティインシデントとして認識される可能性があります。

インシデントの一例
  • 就業規則違反
  • 不正アクセス関連法令への抵触
  • SOC/CSIRTによるインシデント検知
  • IDS/IPSアラート発報

そのため、利用時は以下を必ず遵守して下さい。

  • 自身が管理権限を持つ環境でのみ使用する
  • セキュリティ診断では許可を得た範囲内で使用する
  • 学習・検証用途では閉域環境を使用する

学習用途では、VirtualBoxやVMwareなどを利用したローカル仮想環境で実施すると安全です。特に「Kali Linux」と「Ubuntu+Samba」の組み合わせは、NBTscanのトレーニング環境として扱いやすい構成です。

NBTscanのインストール

NBTscanは、主要なLinuxディストリビューションでパッケージとして提供されており、容易にインストールできます。

Kali Linuxの場合

Kali Linuxは、脆弱性診断およびペネトレーションテスト向けに設計されたLinuxディストリビューションです。NBTscanは、ネットワーク探索を行うツールの一つとして標準搭載されています。

インストール済みであることは、以下のコマンドで確認できます。

# 実行ファイルの配置場所の確認
$ which nbtscan
/usr/bin/nbtscan

# バージョンの確認
$ nbtscan

NBTscan version 1.7.2.
This is a free software and it comes with absolutely no warranty.
You can use, distribute and modify it under terms of GNU GPL 2+.


Usage:
nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q] [-s separator] [-m retransmits] (-f filename)|(<scan_range>)
        -v              verbose output. Print all names received
                        from each host
        -d              dump packets. Print whole packet contents.
        -e              Format output in /etc/hosts format.
〜 以下、省略 〜

オプションなしでnbtscanコマンドを実行すると、バージョン、ライセンス情報、ヘルプメッセージが表示されます。

アプリケーションメニューから起動することもできます。

Kali Linux 2026.1の場合

アプリケーションメニューからNBTscanを起動する
09-Discovery>Network Share Discovery>nbtscan

Ubuntuの場合

Ubuntu環境では、APTパッケージマネージャを使用して、以下のコマンドでインストールできます。

Ubuntu 26.04 LTSの場合

# パッケージリストの最新化
$sudo apt update

# パッケージ情報を確認
$ apt show nbtscan
Package: nbtscan
Version: 1.7.2-3build1
Priority: optional
Section: universe/net
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 55.3 kB
Depends: libc6 (>= 2.38)
Homepage: https://github.com/resurrecting-open-source-projects/nbtscan
Download-Size: 19.5 kB
APT-Sources: http://archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
Description: scan networks searching for NetBIOS information
 NBTscan is a program for scanning IP networks for NetBIOS name information.
 It sends NetBIOS status query to each address in supplied range and lists
 received information in human readable form. For each responded host it
 lists IP address, NetBIOS computer name, logged-in user name and MAC address
 (such as Ethernet).
 .
 This program is useful for security checks, network discovery and forensics
 investigations.

# NBTscanのインストール
$ sudo apt install nbtscan

インストール完了後、以下のコマンドで動作確認を行います。

# 実行ファイルの配置場所の確認
$ which nbtscan
/usr/bin/nbtscan

# バージョンの確認
$ nbtscan

NBTscan version 1.7.2.
This is a free software and it comes with absolutely no warranty.
You can use, distribute and modify it under terms of GNU GPL 2+.


Usage:
nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q] [-s separator] [-m retransmits] (-f filename)|(<scan_range>)
        -v              verbose output. Print all names received
                        from each host
        -d              dump packets. Print whole packet contents.
        -e              Format output in /etc/hosts format.
〜 以下、省略 〜

オプションなしでnbtscanコマンドを実行し、バージョン、ライセンス情報、ヘルプメッセージが表示されれば、インストール成功です。

ソースコードからビルドする場合

パッケージが提供されていないディストリビューションでは、公式GitHubからソースコードをダウンロードし、ビルドおよびインストールを行います。詳しくは、公式GitHubをご覧ください。

NBTscanの使い方

コマンド構文
$ nbtscan [オプション] <ターゲット>

基本的なスキャン

単一ホストのスキャン

$ nbtscan 192.0.2.1

特定のIPアドレスに対してNetBIOS情報を取得するシンプルな実行例です。

複数ホストのスキャン

$ nbtscan 192.0.2.10-50

複数ホストをスキャンする場合、対象となるIPアドレスを範囲指定できます。

サブネット全体のスキャン

$ nbtscan 192.0.2.0/24    # CIDR表記

ネットワーク内に存在するWindowsホストやSambaサーバーを一括で検出する際に使用します。セキュリティ診断の初期フェーズ(情報収集)において、特に有効な手法です。

オプション一覧

NBTscanでは、NetBIOS Name Service(netbios-ns)に対する問い合わせ方法や、出力形式を制御するためのオプションが用意されています。

オプション説明
-v詳細表示モード(各ホストから受信したすべての名前を表示する)
-dパケットダンプ(パケットの内容をすべて表示する)
※-v、-s、-h と併用不可
-e/etc/hostsファイルの形式で出力する
-lLMHOSTS形式で出力する。
-t <timeout>応答待機時間(ミリ秒単位)
※デフォルト:1000ミリ秒(1秒)
-b <bandwidth>出力帯域制御。指定した帯域幅(bps)を超えないようにスキャン速度を調整する
-r送信元ポート137(netbios-ns)を使用する
※デフォルト:ランダムなポート(エフェメラルポート)
-qバナーおよびエラーメッセージを非表示にする
-s <separator>スクリプト向け出力(ヘッダーを表示せず、指定した区切り文字でフィールドを区切る)
-hサービス名を人間が読みやすい形式で表示する
※-vとの併用時のみ有効
-m <retransmits>再送回数(デフォルト:0)
-f <filename>スキャン対象の IP アドレスをファイルから読み込む

主要オプションの使用例

送信元ポートをUDP/137に固定する(-r)

$ nbtscan -r 192.0.2.1

デフォルトでは、NBTscanはランダムなUDPポートからスキャンを行います。-rオプションを指定すると、送信元ポートをNetBIOS Name Service(netbios-ns)の標準ポート(UDP/137)に固定できます。

ヘッダーを非表示にする(-q)

$ nbtscan -q 192.0.2.0/24

スキャン結果を他のツールやスクリプトに渡す場合、ヘッダー行が不要になることがあります。-qオプションを使うと、ヘッダーを出力せずにデータ行だけを取得できます。

区切り文字を指定する(-s)

# カンマ区切りで出力する例
$ nbtscan -s , 192.0.2.0/24

デフォルトの出力はスペース区切りですが、-sオプションで任意の区切り文字を指定できます。CSV形式での出力や、後続のデータ処理ツールへの連携に活用できます。

ファイルからスキャン対象を読み込む(-f)

$ nbtscan -f targets.txt

# targets.txtの内容例
192.0.2.1
192.0.2.2
192.0.2.3

スキャン対象をテキストファイルに記述し、-fオプションで読み込むことができます。

範囲指定(ハイフン)やCIDR形式での記述はできません。

ローカル環境でNBTscanを実行してみた

ここでは、Windowsホスト上のVirtualBoxに構築した仮想環境を用いて、NBTscanを実行した例を紹介します。

本検証で使用したシステム構成

検証環境のシステム構成は、以下のとおりです。

IPアドレスOS役割備考
192.168.10.11Kali Linux 2026.1NBTscan実行マシン
192.168.10.101Metasploitable2スキャン対象マシンやられアプリ
192.168.10.102Ubuntu 26.04 LTSスキャン対象マシンSamba(smbd/nmbd)インストール済み
192.168.10.105OWASP BWAスキャン対象マシンやられアプリ

各仮想マシンのネットワークアダプターは、VirtualBoxの「ホストオンリーアダプター」を設定し、外部ネットワークとは隔離しています。

Kali LinuxからNBTscanを実行する

Kali Linuxからローカルネットワークに対してnbtscanコマンドを実行します。

$ nbtscan 192.168.10.101-105

実行結果を確認する

実際の実行結果は以下の通りです。

$ nbtscan 192.168.10.101-105
Doing NBT name scan for addresses from 192.168.10.101-105

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
192.168.10.101   METASPLOITABLE   <server>  METASPLOITABLE   00:00:00:00:00:00
192.168.10.102   UBUNTU-SMB       <server>  UBUNTU-SMB       00:00:00:00:00:00
192.168.10.105   OWASPBWA         <server>  OWASPBWA         00:00:00:00:00:00
  • IP address:応答したホストのIPアドレス
  • NetBIOS Name:NetBIOSコンピューター名
  • Server<server>と表示された場合、ファイル共有やプリンタ共有のサービスが稼働中
  • User:ログインユーザー名、またはコンピューター名
  • MAC address:NICのMACアドレス

本記事で使用した検証環境では、User欄にはNetBIOSコンピューター名が表示されます。これはSambaサーバーの仕様であり、正常な動作です。また、MACアドレスはすべて00:00:00:00:00:00と表示されますが、これもSambaサーバーの仕様によるものです。

デフォラボ

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

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