【製品情報】Mobile
Beholder:簡易ネットワーク管理/調査支援ツール公開(2008/05/28)
【技術メモ】DDoS 攻撃的な
SMTP 接続の分析を掲載(2007/08/13)
【技術メモ】Beholder
を利用したサイトへのアクセス動向の分析を掲載(2007/08/08)
【お知らせ】ウェブサイトを刷新(2007/08/02)
Mobile BeholderTM は、 BeholderTM 附属のコマンドライン・ツールを iPod touch の Native Application として動作するようにしたソフトウェアです。 Beholder 附属のコマンドライン・ツールの他にも機器端末管理機能や検索機能など、 ネットワーク設置やサーバ設定などの作業現場で活用できる機能も実装しています。 iPod touch と PLANEX GW-MF54G2 などの小型無線LANアクセスポイントを携帯していれば、 ノートパソコンを持っていないときでも簡単な調査がいつでもできます。 本アプリケーションを導入しても使用しない場合は、 iPod touch は通常の音楽プレイヤーとして機能します。
なお、本アプリケーションはまだ開発途中のソフトウェアです。 必要最低限の機能を実装したので公開しています。 まだ、動作不安定な部分や未実装の機能などがありますので、 あらかじめご了承の上、ご利用してください。 さらにご利用に関しては、ダウンロードページ内記載のソフトウェア使用許諾契約書に同意していただく必要があります。
また、本アプリケーションは、 ファームウェア 1.1.4 の iPod touch 上で動作確認をしています。 ソフトウェアの開発は、 FreeBSD で iPod touch のクロス開発環境を構築で記述した開発環境で行っています。 2008年6月5日(ver. 0.5.0)時点で利用可能な機能は、次のとおりです。
各機能のトップ画面のスクリーンショットです。 起動時には、右下の「Mobile Beholder」の画面が表示されます。
Mobile Beholder のネットワーク/機器端末管理機能のスクリーンショットです。 左の画像は、あるネットワーク上の管理機器端末一覧を表示しています。 中央の画像は、管理機器端末一覧画面で「192.168.1.22」を選択した結果です。 右の画像は、 「192.168.1.22」の管理機器端末情報で IP アドレス項目を選択した結果です。 表示内容は、 ARPスキャン機能と Port スキャン機能を使った結果をデータベースに記録し、 その情報を元に作成されます。 端末情報の分類や機種、稼働OS の情報は、自由にカスタマイズ可能です。
Mobile Beholder を導入するには、iPod touch を jailbreak する必要があります。 jailbreak を行うと Apple 社のサポートは受けられません。 jailbreak をはじめ、本ツールの使用は利用者の自己責任で行ってください。 なお、jailbreak については、 「こんなに簡単でいいの? iPod touchの脱獄」 の記事が参考になると思います。 また、jailbreak 後の iPod touch では、本ツール以外にも iPhone・iPod touch ラボで紹介されている様々なアプリケーションが利用できるようになります。
jailbreak を行った iPod touch であれば、 画面上に「Installer」というボタンが表示されていると思います。 Mobile Beholder もこの Installer の機能を利用して iPod touch に導入します。
Installer アイコンをタップすると左図のような画面が表示されると思います。 この画面上で画面下側のツールボタンの一番右の「Sources」をタップします。
ここでは、右上の「Edit」ボタンをタップします。
左上の「Add」ボタンをタップします。
URL として、http://www.magickworx.com/itouch/myapp.xml を入力します。
この画面のような URL の入力時の最後に iPod touch のキー入力の訂正機能が働くため、 「XML」という候補を表示します。 ここでは、リターンキーを押さずに、即座に「OK」をタップしてください。 リターンキーを押すと、URL の 「myapp.xml」が「myapp.XML」となり、 誤った URL を登録することになります。
Sources サイトに登録されると、 「Other Sources」のカテゴリに「MagickWorX Software」が追加されます。 これで、Sources サイトの登録が完了しました。 次は、画面下のツールボックスの「Install」をタップします。
カテゴリの一覧に「MagickWorX」が表示されると思いますので、 タップします。
「IEEE OUI」「Kobold」「NetFD」ライブラリを順に導入します。 最後に、「Mobile Beholder」を導入します。 導入時に Unofficial なサイトからの導入である旨の警告が表示されます。 iPod touch が参照している DNS サーバ側が悪意ある者に情報改竄されていない限り、 通常は www.magickworx.com サイトからのダウンロードとなります。 提供元の不明なホットスポットなど、不安のある無線LAN環境からの接続の場合は、 キャンセルして導入を中止してください。
Mobile Beholder 起動直後の画面です。 ネットワーク情報は、 iPod touch が接続している現在のネットワーク環境上での情報が表示されます。 お知らせ/広告の表示領域は将来のバージョンで自動的に更新される予定です。 各機能を有効にするには、左上の「設定」ボタンをタップしてください。
MACアドレスは、iPod touch 搭載の無線LANインタフェースの値です。 IPアドレスとネットマスクは、現在、iPod touch に割り当てられている値です。 スキャン機能におけるネットワーク・アドレスは、これらの値を元に計算されます。
設定画面では、 「スキャンツール」「チェックツール」「その他のツール」の各機能の有効/無効の設定ができます。 標準で有効になっている機能は、 「arpscan」「pingscan」「portscan」「httpcheck」だけです。 それ以外には、「wol」「tcptraceroute」が利用可能です。 現時点では、上記以外の機能を有効にしてもご利用できません。
スキャンツールでは、 ネットワーク上の接続端末調査や端末のポート開閉調査などの機能を提供します。 現時点では、「arpscan」「pingscan」「portscan」機能が利用できます。
ARP Scan では、指定範囲の IP アドレスに対して ARP Request フレームを送信します。 その応答を元に、MAC アドレスと IP アドレスの対応を表示します。 本機能を利用することで、ネットワークに接続している全機器を探索できます。
デフォルトでは、 iPod touch が接続しているネットワーク全体に対してスキャンを行います。 256 個の IP アドレスをスキャンするのに、約90秒かかります。 スキャン結果は、管理機能で作成した管理ネットワーク項目に保存可能です。
なお、未登録端末検知機能付きのネットワークの場合は、 正しく動作しない可能性があります。 また、スキャン対象のネットワークが混雑している場合も、 期待通りの結果を取得できないことがあります。
Ping Scan では、 指定範囲の IP アドレスに対して ICMP Echo Request パケットを送信します。 その応答である ICMP Echo Reply を元に、有効な IP アドレスを収集します。 IP アドレスと RTT(Round Trip Time) を表示しますが、無線 LAN 環境であるため、 RTT の精度は低いです。 また、ARP Scan よりも高速に実行しますが、 ICMP Echo Request に応答しない機器は表示されません。
デフォルトでは、 iPod touch が接続しているネットワーク全体に対してスキャンを行います。 スキャン結果は、管理機能で作成した管理ネットワーク項目に保存可能です。
なお、スキャン対象のネットワークが混雑している場合は、 期待通りの結果を取得できないことがあります。
Port Scan では、 指定した IP アドレスに対して Port スキャンを行います。 デフォルトでは、1〜1023 の well-known ポートに対して TCP スキャンを行います。 また、実装の都合上、iPod touch では Beholder の portscan/knock ツールと違い、 connect(2) スキャンではなく SYN パケットによるスキャンを行います。
画面上のオプションをタップすることで、 ポート範囲や UDP スキャンの利用を設定できます。 UDP スキャンでは、 ICMP の destination unreachable パケットを利用してポート開閉の判断をしています。 そのため、正しいチェック結果とは限らないので注意してください。
スキャン結果は、管理機能で作成した管理ネットワーク項目に保存可能です。 なお、スキャン対象の機器でフィルタリング機能が動作している場合は、 期待通りの結果を取得できないことがあります。
チェックツールでは、 各種サーバやネットワーク機器の設定などを検査するための機能を提供する予定です。 現時点では、「httpcheck」機能のみが利用できます。 それ以外の機能は、インタフェースの設計段階で止まっています。
HTTP Header Checker は、ウェブサーバの Response ヘッダを調べるツールです。 現時点では、HEAD メソッドの応答結果のみを表示します。 将来的には Request ヘッダも設定してサーバに送信し、 その応答を調査できるようにする予定です。
Wake On LAN 機能を提供する「wol」と TCP パケットを使った traceroute 機能を提供する「tcptraceroute」が利用できます。 デフォルトでは、両機能とも無効になっているので、 利用する場合は「設定」画面で有効にしてください。
なお、Wake On LAN 機能はパケット送信後のアクションがないので、 正しく動作したかは対象機器が起動したかどうかで確認してください。
WOL (Wake On LAN) 機能は、 指定した MAC アドレスを持つ機器にマジックパケットを送信します。 デフォルトでは、ブロードキャスト・アドレスの宛先ポート番号 9 (discard) に UDP パケットを送信します。これらの値はオプション画面で設定の変更ができます。
TCP Traceroute は、TCP パケットを使った traceroute です。 デフォルトでは、80/tcp 宛にパケットを送信して経路調査します。 画面には、ホップ数と IPアドレス(国旗表示付き)、 RTT[ms] を表示します。 オプション設定で、送信先ポート番号を変更できますので、 22/tcp など ssh ポートの開放調査と経路調査を同時に行うこともできます。
検索ツールでは、 OUI(MAC アドレスの先頭 3バイトの文字列)からベンダーを検索する機能、 IP アドレスから割り当てられている国名を検索する機能、 ホスト名から IP アドレスを検索する機能(DNS 検索と同義)を提供します。
画面内の「OUI」「Country」「DNS」をタップすることで、 検索機能を切り替え可能です。
KoboldTM を利用して IP アドレスの割り当て国の情報を検索します。 社内ネットワークからおかしな IP アドレスへのアクセスがあった場合など、 どこの国へ接続しているのかを調べるときに便利です。
ホスト名から IP アドレスを検索します。 iPod touch から外部ネットワークにアクセスできない場合は、 期待通りに動作しないので注意してください。
管理機能では、ネットワーク管理と機器端末管理の機能を提供します。 ネットワーク管理で登録したネットワークは、 スキャン機能の各機能の結果の保存先として選択可能になります。 これらの機能を活用すれば携帯可能で簡単な資産管理ツールとして利用できます。
左の画像は、4つのネットワークを管理していることを示します。 さらに、各ネットワークは、機器端末管理用の画面を持っています。 たとえば、「MWX」をタップすると、 そのネットワーク内で管理されている機器端末の一覧を表示します。
管理ネットワークの編集を行う場合は、左上の「編集」ボタンを押します。 すると、右画像のような画面に切り替わります(編集モード画面)。
左画像の編集モード画面で登録済みの項目を編集する場合は、 「>」ボタンをタップしてください。 右画像のような編集画面になります。 「更新」ボタンを押すとデータベースの内容が更新されます。 「完了」ボタンを押すとキャンセルになり、編集モードの画面に戻ります。
管理ネットワーク一覧から項目を削除する場合は、 編集モード(左画像)上で削除したい項目をタップします。 右画像のような「削除」ボタンが表示されるので、削除する場合は押してください。 キャンセルする場合は「削除」ボタン以外の場所をタップしてください。
編集モード(左画像)上で削除したい項目をタップします。 データベースからの削除が完了すると、右画像のようになります。 このとき、削除対象となったネットワークで管理していた機器端末も全て削除されますので注意してください。
編集モード画面(左画像)で右上の「追加」ボタンを押すと、 登録画面に切り替わります。 全ての項目を入力すると登録可能状態になりますので、 データベースに登録する場合は「登録」ボタンを押してください。 左上の「戻る」ボタンを押せば登録せずに、編集モード画面に戻ります。
左の画像の「MWX」をタップすると、 右の画像のような管理機器端末一覧画面が表示されます。 一覧の作成には、「arpscan」や「pingscan」機能の結果を利用する方法と、 手動で登録する方法があります。
また一覧画面では、IPアドレスとホスト名を表示します。 ホスト名は利用者が手動で編集して登録する必要があります。 端末の項目をタップすると、さらに詳細な情報を表示します。
管理機器端末情報は、簡単な資産管理にも利用できるような構成となっています。 IPアドレスやMACアドレスなどの情報は、 「arpscan」機能を利用することで自動的に作成されますが、編集することも可能です。 また、「portscan」機能を利用してデータを記録した場合は、 「IPアドレス」の項目にポートスキャン結果へのリンク(「>」印)が表示されます(右画像)。
「portscan」機能を利用して結果を保存した場合は、 本画面のような開放ポート一覧が表示できます。 「portscan」機能の結果表示時と違い、 ポート番号に対して少し詳細な情報が表示されます。 この情報は、データベースから呼び出しているので、自由に編集可能です。 ただし、現時点で本アプリケーションからの直接編集機能は実装していません。
管理機器端末一覧から項目を削除する場合は、 右上の「編集」ボタンを押して編集モードにしてください(左画像)。 詳細情報へのリンク印が消えますので、この状態で削除したい項目をタップします。 右画像のような「削除」ボタンが表示されるので、削除する場合は押してください。 キャンセルする場合は「削除」ボタン以外の場所をタップしてください。
管理機器端末一覧に項目を追加するには、 削除操作と同様に右上の「編集」ボタンを押して編集モードにしてください。 その後、続けて右上の「追加」ボタンを押すと登録画面が表示されます。 分類、機種、稼働OSの項目は、選択式となっています。 それ以外は、項目部分をタップするとソフトウェア・キーボードが起動されます。 入力の完了を示すために、必ずエンターキーを押してください。 空の入力でも同様です。
データベースに登録を行う場合は、右上の「登録」ボタンを押してください。 左上の「完了」ボタンを押せば登録せずに、編集画面に戻ります。
管理機器端末情報の「分類」項目は、 デフォルトで良く利用するだろうと思われる分類をいくつか設定してあります。 登録済みの項目を編集したい場合や、追加したい場合は、 右上の「編集」ボタンを押してください。
なお、「機種」項目や「稼働OS」項目もこれ以降に説明する同様の方法で操作できます。 「分類」「機種」「稼働OS」のいずれの項目も他のデータから参照されている場合は、 「削除」時にはエラーとなります。
「分類」項目の編集モードでは、データの編集と追加を選択できます。 登録済みの項目を編集する場合は、「>」ボタンをタップしてください。 右画像のような編集画面になります。 「更新」ボタンを押すとデータベースの内容が更新されます。 「完了」ボタンを押すとキャンセルになり、編集モードの画面に戻ります。
編集モード画面で右上の「追加」ボタンを押すと、 登録画面に切り替わります。 全ての項目を入力すると登録可能状態になりますので、 データベースに登録する場合は「登録」ボタンを押してください。 左上の「戻る」ボタンを押せば登録せずに、編集モード画面に戻ります。
Mobile Beholder では、iPod touch に標準で組み込まれている SQLite データベースを利用しています。 スキャン機能や管理機能で登録した情報は、iPod touch 内の "/var/root/Library/Beholder/management.db" に記録されます。 また、Port スキャン機能などで利用するサービス名のデータベースは、 "/var/root/Library/Beholder/services.db" で管理されています。 他の OS でデータベースを利用する場合は、 scp コマンドを使って iPod touch から取り出してください。
ネットワーク用途向けコンパクトフラッシュ版 FreeBSD
IPv4アドレスから国名を検索するC言語用ライブラリ
出力モジュールを拡張可能なパケットキャプチャとネットワークツール
接続元の国毎にアクセス制御 を行うための Postfix用 milter