忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

IPアドレスのスキャンについて

わか

お仕事でローカル環境のIPアドレスの一覧を取得する案件があったため、調査したことを記載します。

IPアドレスのスキャンは基本的にローカル環境のスキャンに限られます。
スキャンプロトコルについて概要を以下に記載します。

IPアドレス一覧取得プロトコル
・Browser Service
 ローカル環境からNetBios名一覧表を保持しているマスタブラウザPCを検索し、一覧表を
 取得する方法です。NetBios名なので、名前解決サービスを使用することでIPアドレスを
 取得できるようです。
 対象OS:Windows7/XP/2000/98/me
 
・SSDP
 対象OS:WindowsVista以降 7/8など (XPも取得できるようです)

・ARP
 IPとMACアドレスの一覧表を取得する方法です。
 スキャン対象のMACアドレスが判明している場合、有効です。
 ブロードキャストで全ローカルIPに問いかける方法もあるようですが、ネットワーク負荷が
 高いため、ルータがオーバーフローするなど問題があるようです。

・Bonjuor
 Apple製品全般に搭載されているようです。
 サンプルプログラムを動かしてみましたが、動作が安定しており取得も一番早い印象です。
 対象OS:MacOSX

全てのOSを一括してスキャンするプロトコルは存在しないみたいです。
スキャンしたいOS毎にスキャン処理を実装する必要があります。

SSDPとBonjourに関してはサンプルプログラムもあり簡単に実装可能のようです。
Browser ServiceとARPに関しては、ライセンスの問題から自身で実装する必要があり面倒そうですね。

拍手[0回]

PR