6

私は現在、ネットワークをスキャンしてネットワーク上のコンピューターとデバイスを検出するプログラムに取り組んでいます。さまざまな操作を使用して、検出したデバイス上のデータを検索しますが、ネットワークデバイスとコンピューターを区別したいと考えています。そして、私がこれを行う方法を誰かが知っているかどうか疑問に思っていますか?

SNMPを少し調べて、ネットワークプリンター、ルーター、モデムに接続してみました。しかし、私はプリンターにしか接続できないようで、ルーターもモデムも応答しません。

IPアドレスが属するデバイスの種類を識別する別の方法はありますか?

4

4 に答える 4

9

nmapなどのコマンド ライン ツールを使用すると、あらゆる種類の情報を提供できるデバイスをフィンガー プリントできます。

おそらく、c# 経由で nmap を呼び出して、応答を読み返すことができます。

もう 1 つの方法は、特定の MAC アドレスのネットワーク チップ ベンダーを検索することです。しかし、それがどの程度の詳細を提供するかはわかりません。

nmap サイトの例を次に示します。

# nmap -O -v scanme.nmap.org

Starting Nmap ( http://nmap.org )
Nmap scan report for scanme.nmap.org (64.13.134.52)
Not shown: 994 filtered ports
PORT    STATE  SERVICE
22/tcp  open   ssh
25/tcp  closed smtp
53/tcp  open   domain
70/tcp  closed gopher
80/tcp  open   http
113/tcp closed auth
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.20-1 (Fedora Core 5)
Uptime guess: 11.433 days (since Thu Sep 18 13:13:01 2008)
TCP Sequence Prediction: Difficulty=204 (Good luck!)
IP ID Sequence Generation: All zeros

Nmap done: 1 IP address (1 host up) scanned in 6.21 seconds
           Raw packets sent: 2021 (90.526KB) | Rcvd: 23 (1326B)
于 2011-06-23T13:51:02.067 に答える
8

まず、この回答はイーサネット ネットワークに偏っています。アイデアは、他のシナリオのヒントにもなります。

これを実現するには、次のように多くの方法があります。

  • 走査
  • ターゲットを絞った発見
  • パッシブ トラフィック モニタリング

走査

たとえば、nmap で可能です。

プロ :

  1. 不明なデバイスとサービスを検出できます。怠惰なシステム管理者によって忘れられたり、信頼できないユーザーによってインストールされたりします。
  2. サービスとセキュリティ監査を発見するための便利なツールになる可能性があります。
  3. 初心者にとっては、それが最善の方法のように思えます。ゼロから始めて、それらをすべて見つけてください。悪いニュース : 短所を読んでください。

短所:

  1. 非常に非効率的です。ゼロから始めて (LAN について何も知らない)、考えられるすべてのサービスを見つけたい場合は、考えられるすべてのホストのほぼすべての tcp および udp ポートをスキャンする必要があります。
  2. 結果は 100% 手頃な価格ではありません。ハードウェアまたはソフトウェアのファイアウォール。など...次の実行では、まったく異なる結果になる可能性があります。
  3. 結果は単純な i_got_it / null ではなく、あいまいです。結果を評価するには専門家が必要です。
  4. このスキャンを実行するには、PC に管理者アカウントが必要な場合があります。
  5. 一部の IDS では、このアクティビティを不正なアクティビティとしてログに記録できます。

ターゲットを絞った発見

公式サービスであるネットワークをマッピングすることが目標である場合は、公式の検出機能について考えることができます。たとえば、CDP、SSDP、srvloc、snmp get broadcast などです。プローブしているサービスを知っておく必要があります。

プロ:

  1. これは、最大速度と最小ネットワーク帯域幅の両方で最も効率的な方法です。
  2. 結果は信頼できます。次の実行では同じ結果が返される必要があります (明らかに、サービスとネットワークが存続している場合)。
  3. これは、サービスの可用性を確認し、SLA を説明する方法です。
  4. 専門家は必要ありません。たとえば、デバイスが snmp get SysDescr に応答する場合、データはわかります。あなたは正確な答えを得るか、それを見逃します。

短所:

  1. プローブしているサービスを知る必要があります。
  2. これを使用して、デバイス/サービスを確実に見つけることはできません。これはセキュリティ監査でも発見ツールでもありません。例: http サーバーのリッスン ポートを 81 に変更しました。

パッシブ トラフィック モニタリング

むかしむかし、銅ケーブル (CAT3 / CAT5) でハブにリンクされたイーサネット ホストを見つけました。これらのホストのいずれかで、すべてのトラフィックをキャプチャするプログラムを実行して、イーサネット カードをプロミスカス モードにすることができます。これにより、NIC はオペレーティング システムにすべてのパケットを渡し、MAC 宛先がホストの MAC アドレスとは異なるパケットも渡します。 NIC。

プログラムはこれらの生データを分析し、内部のプロトコルとパケットを解析できます。

最近では、ハブではなく、イーサネット スイッチを使用しています。無差別モードの pc の NIC は、ネットワーク上のすべてのトラフィックを受信しません。これは、スイッチがホストまたはすべてのパケットのみを転送するためです (ブロードキャストおよび登録されている場合はマルチキャスト)。

監視ホストをリンクするには、マネージド スイッチを使用し、1 つのポートをリピーターまたは監視ポートとして構成する必要があります。

プロ:

  1. これは受動的な監視です - 正しく行われた場合。これは、テスト中のネットワークでパケットを送信できず、強力な SLA を尊重する特定の評価に役立ちます。
  2. nw トラフィックを収集するために、プロトコルとサービスの構成を知る必要はありません。たとえば、ホストから tcp/ip スタックを削除し、イーサネット カードのドライバーを残し、トラフィックを収集できます。
  3. 監視ポートを備えたマネージド スイッチを使用すると、NIC を無差別モードにしたり、tcp/ip スタックを微調整したりする必要はありません。
  4. libpcap / winpcap は、パケットをキャプチャするための事実上の標準であり、機能します。独自のアプリケーションを開発する前に、Analyzer や Wireshark などの GUI フロントエンドで遊ぶことができます。
  5. サービスやセキュリティ監査を発見するための便利なツールにもなりません。

短所:

  1. テスト中のネットワークでパケットを送信しないようにする必要がありますか? ハブがある場合も、リピーター ポートを備えたマネージド スイッチを使用します。リピータ ポートは、ネットワーク トラフィックのみを受信できます。
  2. 1 Gbit のように高スループットのデータをキャプチャするには、オペレーティング システムの構成を微調整する必要があります。そうしないと、CPU が最大負荷になり、パケットが失われます。このようなもののためにmsウィンドウを忘れました。
  3. 明らかに、ライブ トラフィックのみが表示され、送信していないサービスについては何も表示されません。
  4. スキャンの短所 3、4 を参照してください。これは、ワイヤ上のビットを監視するのに近く、電子技術者のオシロスコープのようなものです。すべてのデータを取得すると、後でそれらを評価する専門家^2が必要になります。はい、後で。エラーやグリッチを詳細に分析するには非常に時間がかかるためです。

これはダミーイントロの簡単な発見です。検出ツールは、両方の方法を組み合わせてネットワーク上のデバイスとサービスを検索できます。

たとえば、HP JetAdmin の検出では、さまざまな方法を使用して、LAN 上のすべてのデバイスではなく、HP ネットワーク プリンターとスキャナーを検索します。

于 2011-11-13T08:19:30.320 に答える
0

私の発言は単純に見えるかもしれません。ただし、SNMP を実装するデバイスのほとんどは、MIB-II を実装しています。ここでわかるように、「システム」には「sysDescr」というエントリがあり、ほとんどの場合、これを使用してデバイスを識別できます。

ここに画像の説明を入力

于 2011-06-27T14:07:00.033 に答える
0

一般に、デバイスの IP からはデバイスについて多くのことを知ることはできません。ホストの MAC アドレスを使用すると、ネットワーク アダプタの製造元を特定できます。MAC アドレスの前半はメーカーが割り当てます。

nmapを使用してみてください。

Nmap (「ネットワーク マッパー」) は、ネットワーク探索またはセキュリティ監査用の無料のオープン ソース ユーティリティです。単一のホストに対しては問題なく動作しますが、大規模なネットワークを迅速にスキャンするように設計されています。Nmap は生の IP パケットを斬新な方法で使用して、ネットワーク上で利用可能なホスト、ホストが提供するサービス (アプリケーション名とバージョン)、ホストが実行しているオペレーティング システム (および OS バージョン)、パケット フィルター/ファイアウォールの種類を特定します。が使用されており、その他にも多数の特性があります。Nmap はほとんどの種類のコンピューターで実行され、コンソール バージョンとグラフィカル バージョンの両方が利用可能です。Nmap はフリー ソフトウェアであり、GNU GPL の条件の下で完全なソース コードを使用できます。

于 2011-06-23T13:53:50.270 に答える