NetBIOS Over TCP/IP が有効にならない場合の対処方法

画像

NetBIOSのサービスをTCP/IP上に実装すると、ネットワーク・プロトコルをTCP/IPだけに限定することができるためトラブル回避ができる。また、TCP/IPの持つルーティング機能を使って、ルーターで相互に接続されたような LANや WANを使って複数拠点を結ぶ大規模なネットワークが構築できる。このようなことから IBMと Microsoftは、TCP/IP上で NetBIOSの APIを使用し、Windows上でファイル共有サービスなど幅広く使えるようにした。これが NetBIOS over TCP/IP(NetBTまたはNBT)である。

しかし、NetBIOS over TCP/IPが有効になっていると、コンピュータの情報がインターネットに筒抜けになってしまい、攻撃者に対して有益な情報を与えてしまうことになる。従って、Windowsのアップデートやセキュリティソフトの導入などにより、ネットワークアダプタの GUID(Globally Unique IDentifier)グローバル一意識別子が、レジストリのデータベースから削除されてしまう場合がある。

そのような場合、ネットワーク接続を必要に迫られ、NetBIOS Over TCP/IPを GUI画面上で有効に設定しても、ネットワーク接続の詳細プロパティ [NetBIOS Over TCP/IP 有効] の値が [いいえ] になり、ネットワークに接続できなくなる。

このページでは、使用しているネットワークアダプタの GUIDを取得し、レジストリのデータベースから削除されている場合、レジストリのデータベースに再追加する作業を、画像を用いながら記すことにする。なお、ここで使用した画像等は、Windows 10 Pro 1909 である。

1、NetBIOS over TCP/IPの値を確認

最初に、NetBIOS over TCP/IPの値を確認するため、コマンドプロンプトを起動し、カーソル位置に [ipconfig /all] を入力し [Enter] キーを押す。

参考

ipconfigは、TCP/IPの設定などの確認ができ、パソコンのネットワーク機能を調査するコマンドである。

NetBIOS Over TCP/IPを GUI画面上で有効に設定したにもかかわらず、下の画像では [NetBIOS Over TCP/IP] の値が [いいえ] になっているのが見て取れる。実際の値は [有効] でなければならない。

画像のマスキング部分はグレー色で囲んであり、以下同様とする。

画像
2、ネットワークアダプタの GUIDを取得

使用しているネットワークアダプタの GUIDを取得する。

参考

GUID(Globally Unique IDentifier)とは、128ビット(16バイト)の値からなるデータを一意に識別するために用いられる識別子のことで、{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} のように8桁-4桁-4桁-12桁をハイフンで区切って記載する。Windowsではインターフェース識別子やクラス識別子などに利用されている。

コマンドプロンプトのカーソル位置に、[wmic nicconfig get Caption, SettingID] と入力し [Enter] キーを押す。

参考

WMIを操作するコマンドとして Windowsには、wmic.exe(Windows Management Instrumentation Command Line)というコマンドラインツールが用意されている。このコマンドを使えば、WMIによって提供されている情報の取得や操作が可能になる。

下の画像は GUIDがキャプションされている SettingIDである。使用しているネットワークアダプタは [Realtek PCIe GbE Family Controller] であり、GUIDは {FAA039B8-             15} であることが分かる。

画像
3、レジストリエディターで GUIDの確認

レジストリエディターを起動し、前記2で取得したネットワークアダプタ GUIDの有無を確認する。

スタートボタンを右クリックし、[ファイル名を指定して実行] の名前のフォーム内に [regedit] を入力 [OK] をクリックしてレジストリエディターを起動する。

起動したら、[HKEY_LOCAL_MACHINE ➡ SYSTEM ➡ CurrentControlSet ➡ Services ➡ NetBT ➡ Linkage] リンケージへ移動する。

[Linkage] をクリックすると、右側のフォーム内に [Bind] バインド [Export] エクスポート [Route] ルートの3つの名前がある。

画像

[Bind] を右クリックして [修正] をクリックする。

画像

下画像の [複数行文字列の編集] のダイアログが表示され [値のデータ] のフォーム内に前記2で取得したネットワークアダプタと同じGUIDがないことが見て取れる。

他の [Export]   [Route] も同様と思われるが、とりあえず同じように確認する必要がある。

画像
4、ネットワークアダプタの GUID追加

前記2で取得したネットワークアダプタの GUIDを前記❶❷❸の各セクションの値のデータに [Tcpip6GUID] および [TcpipGUID] をそれぞれ追加する。

参考

レジストリエディターの修正を間違えると、最悪の場合は Windowsのシステムが起動しない場合もあり得るため、レジストリのエクスポートは必須である。

また、インプットミスを軽減するには、フォーム内に現在表示されている値のデータ \Device\Tcpip6_{ } および \Device\Tcpip_{ } を下側にコピペし { } 内の GUIDを削除する。

次に、前記2で取得したネットワークアダプタの GUIDを { } 内にコピペすると入力ミスは皆無になる。

 [Bind] バインドに GUIDを追加し [OK] をクリックする。

\Device\Tcpip6_{FAA039B8-             15}

\Device\Tcpip_{FAA039B8-             15}

画像

 [Export] エクスポートに GUIDを追加し [OK] をクリックする。

\Device\Tcpip6_{FAA039B8-             15}

\Device\Tcpip_{FAA039B8-             15}

画像

 [Route] ルートに GUIDを追加し [OK] をクリックする。

\Device\Tcpip6_{FAA039B8-             15}

\Device\Tcpip_{FAA039B8-             15}

画像
5、PCの再起動および確認

すべてを追加して確認が終わったらパソコンを再起動し、コマンドプロンプトを起動する。

確認するため前記1と同じように、カーソル位置に [ipconfig /all] を入力し [Enter] キーを押す。

下の画像では [NetBIOS Over TCP/IP] の値が [有効] になっているのが見て取れる。

画像

当ウェブサイトは、ここに記した内容に伴い発生したいかなるトラブル、損失、損害などの諸問題について一切責任は負いません。あくまでも自己責任で行っていただくことをご承知おき願いたい。

page_top