web-dev-qa-db-ja.com

事前の知識がなくても、ネットワークで使用可能なゲートウェイを見つけることはできますか?

同僚と私はどちらもこれは明らかに「ノー」であると推定しましたが、確かに、私たちのネットワーキングの知識は限られています。

ネットワーク構成の事前の知識がなくても(つまり、DHCPや静的IP構成が手元にない場合)、ネットワークのゲートウェイを把握できる可能性さえありますか?本当に可能ならどうやって?

7

まず、90%の確率でサブネットの最初のIPアドレスであると推測します(つまり、10.10.5.0/24、 それはそのようになります 10.10.5.1)-私のネットワークには.17と1つの.23(そして何も.1);だから、あなたがそうするものを作りなさい。

Wifiネットワークの場合、無差別モードでリッスンして、外部トラフィックの最も一般的な宛先を確認できます。他のユーザーがゲートウェイを使用している場合は、そこから推測できます(確認するIPの数を大幅に減らすことにより) )。

完全にスイッチされたネットワークの場合、状況はさらに難しくなりますが、私がこれまでに行ったことは、ARP要求を監視し、最も広告の多いARPデバイスを体系的に通過することです。

しかし、これはすべてnoと言うには長い方法です。ネットワークゲートウェイが存在するIPアドレスを100%確実に伝える方法はありません。また、ネットワークがhasゲートウェイ。


実際の例:私はかつてウォッチガードファイアウォールを継承しており、そのパスフレーズはありましたが、どのネットワークをリッスンしていたのかはわかりません。これは理論上の苦境によく似ています。私がやったことは、Wiresharkを起動し、ARPトラフィックのキャプチャを開始することでした。しばらくすると、ウォッチガードボックスのMACアドレスがグローバルブロードキャストトラフィックに表示されるようになり、不必要なARPを実行し、不明な事前構成済みデバイスのIPアドレスを探しました。そこから自分を正しいサブネットに設定し、そのIPアドレスを見つけるのは非常に簡単でした。


Al Westは興味深い点を提起します-IPv6ゲートウェイでは、自動構成を使用するかどうかを見つけるのは非常に簡単です-各ルーターは(RAを介して)自身をアドバタイズします。 DHCPネットワーク、または自動構成のないネットワークの場合OR DHCPは上記と同じルールが適用されます

5
Mark Henderson

私はここ@Mark Hendersonに同意しなければならないと思います。私がエッジのケースを検討している場合を除いて:

  • ポリシーで制御されたサブネット(VACL、MACフィルター)。これにより、ルーターが何であるかを理解できたとしても、ルーターに接続できなくなります。
  • 802.1x環境。このタイプのセキュリティは、人々が物理ポートに接続してアクセスするのを防ぐためのものでした。そのため、802.1x環境では実際にルーターのヒントが得られるため、認証を行うことができます。これを使用して、あらゆる種類のトラフィックに使用することはできません。
  • 非ブロードキャストネットワークでは、これは実質的に不可能です。

それ以外では、それは可能です。しかし、それは簡単なことではなく、かなりの時間がかかる場合があります。文書化されていないネットワークでルーティング調査をテストするためにこれを行うスクリプトを作成しました。最初にいくつかの問題を解決する必要があります。

  • 接続しているネットワークのサブネットは何ですか
  • ネットワークで利用可能なデバイス
  • これらのデバイスのいずれかを介してルートを設定した場合、稼働していることがわかっているリモートデバイスにpingを送信し、「既知の良好な」インターネットパス経由で到達できます。

最初の部分を解決するには、インターフェイスをtcpdumpできます。これにより、一部のトラフィック、できればブロードキャストまたはarpトラフィックが表示されます。通常はDHCPを試すことをお勧めしますが、それでもうまくいかない場合は、1時間待機してから、表示されている範囲内のIPアドレスを選択してください。また、このネットワークでarp要求が頻繁に表示される場合は、おそらくそれを作成しているルーターです。つまり、他の利用可能なホストをテストする前に、まずこれらのソースをゲートウェイとしてテストする必要があります。

2番目の部分を解決するには、割り当てられたIPアドレスを取得した後、nmapまたはstrobeを実行して、ネットワーク上にある他のデバイスを特定します。

最後の部分のセットアップを解決するには、routeコマンドを使用してデフォルト(0.0.0.0)または特定のIPへの静的ルートを作成し、外部テストホストにpingできるかどうかを確認します。これは単純なICMPテストの場合もあれば、ソースIPが何であるかを返すCGIが含まれるHTTPリクエストをお勧めします。これにより、NATの対象がわかります。

2
polynomial

マークとポリの両方が回答で述べたように、おそらくそれは可能ですが、それは簡単なことではなく、ある程度の幸運な推測と仮定の作成に依存します。

架空の例として、ラップトップをネットワークに接続し、パケットキャプチャプログラムを実行することができます。少なくとも、いくつかのブロードキャストトラフィック(ARP、NetBIOSなど)を取得します。これにより、ネットワークで使用されているIPアドレスを特定できます(ただし、使用されているサブネットマスクはわかりません)。次に、ネットワークで使用中の範囲でランダムなIPアドレスを選択できます(サブネットマスクについては知識に基づいた推測を行う必要があり、アドレスがまだ使用されていないことを期待する必要があります)。次に、ARPスキャンプログラムを使用してネットワーク上でARPスキャンを実行し、プログラムがARPスキャンに応答するデバイスを正確に識別できることを期待し、デバイス識別から、どのデバイスがルーターであるかを推測できる場合、これは、製造元を識別するMACアドレスの最初の3オクテットを調べてこれを自分で推定することもでき、それらをこの OUIリスト で調べて、DGである可能性が高いデバイスを見つけます。たとえば、発見されたシスコデバイスは、99%のケースでスイッチまたはルーターになります。そこから、DGのIDをARPスキャンで返されるIPアドレスについて推測および推測することが重要になります。

ご覧のように、この方法(これに対処する他の方法もあると思います)は科学的でなく、確実な結果が得られることがほとんど保証されていません。

2
joeqwerty

(IP)ゲートウェイは、実際のネットワーク構成の一部ではなく、接続されているすべてのノードで構成されているため、ネットワーク自体が「ゲートウェイ」とは何かを伝えることは不可能です-そのような獣は存在しません。
ただし、いくつかの無差別ARPスニッフィングを使用すると、他のすべてのノードがsingであるノードをゲートウェイとして把握し、これが同様に機能すると想定できます。

0
adaptr