Android でルーター、スイッチ、プリンターを SNMP で読み取る
ネットワーク機器で SNMP を有効にし、Android の NetBlade で隠れた MAC アドレスを取得、機器の詳細を読み取り、スイッチからマップを作成します。
SNMP は、ネットワーク機器が自分自身を説明するためのプロトコルです。ルーター、スイッチ、プリンター、NAS は、インターフェース、テーブル、状態についての問い合わせに答えることができます。NetBlade は SNMP を読み取り専用で使うため、機器の設定が変更されることは一切ありません。この記事では、SNMP を有効にする一般的な方法と、NetBlade で SNMP を使って MAC アドレスを取得し、機器の詳細を読み取り、ネットワークマップを描く方法を説明します。
始める前に
- SNMP に対応した機器。多くの業務用ルーター、管理型スイッチ、プリンター、NAS は対応していますが、プロバイダーから提供される家庭用ルーターの多くは SNMP を公開していません。
- SNMP を有効にするための、機器の管理ページへのアクセス。
- 無料で使えるもの:「ルーターからのデバイス (SNMP)」によるルーターのテーブルの読み取りと、スキャン中の MAC 取得。デバイスの「SNMP詳細」は高度な機能で、動画を見ると 24 時間、「広告を削除」なら永続的に利用できます。
1. 機器で SNMP を有効にする
メーカーごとに場所は異なりますが、手順は似ています。管理ページで「SNMP」を探します。多くの場合「管理」「マネジメント」「システム」「サービス」などの下にあります。そのうえで、次の 2 つのいずれかを選びます。
コミュニティを使う SNMP v1/v2c
コミュニティは、読み取り用のパスワードのように働く共有の文字列です。次のように設定します。
- SNMP を有効にします。選べる場合はバージョン v2c にします。
- 読み取り専用のコミュニティを設定します。誰もが最初に試す既定値の
publicは避けてください。 - 機器で可能なら、アクセスをローカルネットワークまたは特定のアドレスに制限します。
- NetBlade のために読み書き可能なコミュニティを有効にしないでください。NetBlade は読み取るだけです。
ユーザーを使う SNMP v3
v3 ではユーザー名、認証、暗号化が加わります。利用できる場合はこちらのほうが適しています。
- 読み取り専用アクセスの v3 ユーザーを作成します。
- 認証:MD5 または SHA。NetBlade はこの 2 つに対応しています。
- プライバシー(暗号化):DES または AES(AES-128)。SHA と AES を選ぶことをおすすめします。
警告: 機器が v3 で SHA-256 または AES-256 しか提供していない場合、NetBlade はそのプロファイルを使えません。SHA と AES-128 を選ぶか、LAN に制限した強力なコミュニティで v2c を使ってください。
警告: SNMP をインターネットに公開しないでください。設定した覚えのない機器でポート 161 が開いているとスキャンで表示された場合、NetBlade のセキュリティ評価はこの理由で警告します。
2. スキャン中に MAC アドレスを取得する
Android 10 以降、システムはほとんどの MAC アドレスをアプリから隠しています。ルーターは、その ARP テーブルにすべてを持っています。
- 「LAN」タブで ⋮ →「ネットワークに名前を付ける」を開きます(または保存済みのネットワークを編集します)。
- 「ルーターからのデバイス (SNMP)」をオンにします。
- バージョンを選んで「コミュニティ」を入力します。v3 の場合は「v3 ユーザー名」、「認証」、「認証パスワード」、「プライバシー」、「プライバシーパスワード」を入力します。
- 「保存」をタップします。
- MAC がすぐに表示されない場合は、⋮ →「SNMP MACルックアップを再試行」を使います。
これ以降、このネットワークをスキャンするたびにルーターのテーブルが読み取られ、「スキャンのまとめ」の「SNMPによるMAC取得」に結果が表示されます。
注: SNMP の認証情報はアプリのデータベースに暗号化されずに保存されるため、Google アカウントのバックアップやエクスポートしたバックアップファイルにも含まれます。これは意図的なトレードオフで、復元すれば入力し直さなくても認証情報が戻ります。
3. ルーターのテーブルに直接問い合わせる
ネットワークを保存せずに 1 回だけ確認する場合:
- 「ツール」→「ルーターからのデバイス (SNMP)」。
- コミュニティまたは v3 の認証情報を入力して開始します。
ルーターが知っている IP と MAC の組が、メーカーとともに表示されます。「このネットワークに本当にいるのは誰か」に対する最も直接的な答えです。
4. デバイスの SNMP 詳細を読み取る
- スキャン後、任意のデバイスの詳細を開きます。
- 「SNMP詳細」を開きます。
- このデバイスがネットワークとは異なる認証情報を使っている場合は、⚙ アイコンをタップして「この端末のSNMP」に入力し、「適用」をタップします。
表示される内容は機器によって異なります。
- すべて:名前、設置場所、連絡先、稼働時間、説明。
- プリンター:トナー、印刷枚数、シリアル番号。
- NAS とサーバー:CPU、RAM、ストレージ、プロセス、ユーザー。
- スイッチとルーター:インターフェース、スイッチのポート、VLAN、IP アドレス、IP 転送。
- ハードウェアとファームウェア(機器が報告する場合)。
インターフェースをタップすると、2 秒ごとに更新されるリアルタイムの通信量グラフが表示されます。アップリンクを飽和させているポートを見つける手早い方法です。
5. スイッチからネットワークのマップを作る
管理型スイッチがあれば、SNMP を使って NetBlade にネットワークの配線を描かせることができます。
- スイッチがネットワークの認証情報で SNMP に応答することを確認します。または、スイッチごとに「この端末のSNMP」を設定します。
- スキャン後、「LAN」タブで「リスト表示」から「マップ表示」に切り替えます。
- 「再構築」をタップして、スイッチのテーブルからグラフを作り直します。
- 必要に応じて手で修正します。ノードをタップし、「スイッチとして設定」、「接続先…」、「切り離す」のいずれかを選びます。
スイッチで SNMP が使えない場合、ネットワークは単一のセグメントとして表示され、構成はあなたが描いたものだけになります。
うまくいったか確認する
- 「スキャンのまとめ」の「SNMPによるMAC取得」に、ARP エントリの件数とともに「ルーターが応答」と表示されます。
- 「取得できません」だったデバイスに、MAC とメーカーが表示されます。
- ルーターの「SNMP詳細」に、その名前と稼働時間が表示されます。
うまくいかないときは
- 「SNMP応答なし」または「…:161 から応答なし」。 SNMP がオフになっている、認証情報が間違っている、または機器が特定のアドレスからの問い合わせしか受け付けていません。機器でそれぞれを確認してください。
- 「ルーターは応答していますが、ARP テーブルが空です」。 ルーターによっては、SNMP の IP/ARP の部分を別途有効にする必要があります。SNMP の設定で MIB や ARP に関するオプションを探してください。
- まとめに、既定のコミュニティ
publicを試したと表示される。 このネットワークの SNMP をまだ設定していません。ネットワークの設定でコミュニティを入力してください。 - インターフェースに通信量のグラフがない。 そのインターフェースは通信量のカウンターを公開していません。
- MAC のないデバイスがマップに表示されない。 デバイスをマップに配置できるのは、その MAC がわかってからです。