直接接続されたコンピューターのIPアドレスを取得する


21

直接イーサネットケーブルを使用して、作業中のコンピューターを別のコンピューターに接続しました。他のマシンは、周辺機器(キーボード、マウス、モニターを含む)が接続されていないデスクトップコンピューターで、RDPとSMBを使用してアクセスしたいです。IPアドレスは自動設定されるため、範囲内の何かを取得します169.254.x.x

Windowsが他のマシンを認識するか、IPアドレスをスキャンするまで待つことができますが、どちらも時間がかかり、予測できない時間がかかります。直接イーサネットケーブルのもう一方の端にあるマシンを認識するより速い方法はありますか?ブロードキャスト「イーサネットping」とリバースARPを作成することを考えましたが、この手法の説明は見つかりません。

回答:


8

両方のコンピューターを接続した瞬間に、DHCPサーバーを見つけようとします。数秒後、要求はタイムアウトし、コンピューターは自動構成されたアドレスを自分自身に割り当てます。その後、ホストはリンクローカルIPアドレスをランダムに割り当て 、ネットワーク上でarp要求をブロードキャストして、使用中かどうかを確認します

上記はhttps://en.wikipedia.org/wiki/Link-local_addressの要約を書き直したものです

我々は使用することができます。<任意の>これらのARP要求のIP-アドレスをそれらのパケットをキャプチャし、印刷するには、パケットキャプチャツールを。

Wireshark GUIを使用したarpパケットのキャプチャ(すべてのプラットフォーム)

  1. すべてのインターフェイスでキャプチャ:はい(または、理解できる場合は正しいインターフェイスを選択します)
  2. キャプチャフィルター:arp
  3. キャプチャを開始し、右の列で自分のPCと他のPCのIPアドレスを探します

cli tcpdumpを使用したarpパケットのキャプチャ(Li​​nuxでテスト済み)

  1. 端末インターフェイスの開始/ログイン
  2. プログラム「sudo tcpdump arp」を実行します
  3. あなたのPCと他のPCのIPアドレスが画面に表示されます

18

ブロードキャストIP pingは機能する可能性があります。すべてのシステムがそれに応答するわけではありませんが、169.254モードでは一部のシステムが応答します。試してくださいping 169.254.255.255-bLinuxで必要)、またはping ff02::1ping6Linuxで必要で、おそらくのようなスコープff02::1%eth0

nbtstat -aWindowsを実行していて、コンピューター名がわかっている場合は、NetBIOS名のルックアップ(を使用)を直接送信しても機能する場合があります。LLMNRに相当するものがわかりません。

169.254の自動設定には、ホスト自身のアドレスでいくつかのARPプローブを送信することが含まれます-Wireshark、tshark、tcpdumpでそれらを見ることができます。


「イーサネットping」は存在します、イーサネットレベルでのみ機能し、IPについては何も通知しません。(NIC自体に実装されることもありますが、ほとんど実装されていません。)

「逆ARP」も存在しますが、実際に実装されることはほとんどありません。その主な用途は、BOOTPとその後のDHCPに取って代わられました。


2
IP pingは機能しませんでしたがnbtstat -a <computer_name> -c、目的のIPアドレスを提供します!ありがとう!
メレビウス

2
もちろん、すべての65024 IPアドレスに対してARP要求を送信し、どのアドレスに対して応答が返されるかを確認する「極端な」方法もあります。
カスペルド

OPはすでに「IPアドレスをスキャンすることはできますが、[これは]時間がかかります...時間がかかります」と言っています。
スコット

あなたが良いツールを持っている場合、それはありません。たとえば、ZmapはIPv4インターネット全体を数時間でスキャンできます。64kアドレスでARPスキャンを実行すると、非常に高速になります。
user1686

6

DHCPサーバーからIPアドレスを取得するようにマシンを構成する場合、明らかに、ネットワークにDHCPサーバーが必要です。直接ケーブル(クロス)を使用して両方のコンピューターを相互に接続すると、DHCPサーバーがないため、Windowsは偽のランダムIPアドレスを作成します。このため、接続を管理するサーバーがないため、お互いを見つけるのに長い時間がかかります。

最善の方法は、DHCPを組み合わせたルーターを追加することです。これにより、物事が大幅に高速化されます。あなたがこの上の任意のお金を費やすしたくない場合でも、2番目の最良のオプションは、manaullyに両方のマシン上のIPアドレスを設定することです192.168.0.1192.168.0.2のサブネットマスクと255.255.255.0


4

2番目のマシンが完全にヘッドレスである場合、何らかのDHCPを使用する必要があります。ステータス画面を表示できる2つのシステムの間にルーターを配置するか、作業コンピューターにDHCPサーバーアプリケーションをインストールして、ヘッドレスシステムにアドレスを提供します。


1

DHCPサーバーとして機能するようにPCをセットアップできます。

http://www.dhcpserver.de/cms/-私が使用しているものです。セットアップには数分しかかかりません。

イーサネットNICに静的IPアドレス(:など169.254.1.1)とサブネット(:など255.255.0.0)を与えるだけで、それ以外は何もしません。

前述のアプリケーションで、DHCPサーバーアダプタとしてイーサネットNICを選択します。

DHCPサーバーアプリケーションを実行し、検索しているIPのサーバーまたはデバイスを再起動します。起動すると、DHCPサーバーで定義された範囲からIPアドレスが提供されます。次に、DHCPサーバーに含まれているWebインターフェースを使用して、新しいサーバーが発行されたIPアドレスを確認するか、DHCP範囲内のすべてのIPをpingスキャンします。

迅速、簡単、直感的。少なくとも私はそう思う。


0

トラブルシューティングを行う前に、ネットワークカードの背面に緑色の静的リンクライトが存在することを確認してください。緑色に点灯しない場合は、代わりにクロスオーバーケーブルで接続されていることを確認する必要があります。また、カードの二重設定が同じ(全二重/半二重)であることを確認してください。同じでない場合は、黄色のライトが点灯する場合があります。

緑になったら、アドレスを静的に割り当てる必要があります。これが職場のネットワーク上にある場合、割り当てのためにdhcpサーバーを実行することはお勧めしません(dhcpサーバーがネットワーク上の他のマシンのdhcpディスカバリブロードキャストからの要求に応答し始めると、大きな問題が発生する可能性があります)


-1

マシン#2に行き、そこでpingを実行してみてください!マシンへの物理的なアクセス権とログイン権限があると仮定しています。

この取り組みの目的(およびOS)に応じて、次のこともできます。-他のコンピューターにマップし(コンピューター名があると仮定)、必要なファイルを取得する-コンピューター名を介したRDP / SSH。


1
OPは、質問で「他のマシンには周辺機器が接続されておらず、RDPを使用してアクセスしたい…」と述べています。この最初の部分は、キーボードやモニターがないことを意味すると解釈します。明らかに、OPはRDPについて知っています。また、コンピューター名は魔法の弾丸ではありません。最初のコンピューターが名前をIPアドレスにマッピングする方法を「知っている」場合にのみ機能します。そして、質問の全体的なポイントは、「IPアドレスは自動構成されている」ということです。そのため、マシンは互いのアドレスを知りません。
スコット

-1

私は専門家ではありませんがipconfig、コマンドウィンドウを見て、DHCPがない場合は自動IPアドレスである2番目のコンピューターのIPアドレスを見つけるか、同じネットワーク上にIPアドレスを手動で構成することができます。最初のコンピューターとしてのサブネット。


2
OPは、質問で「他のマシンには周辺機器が接続されていません...」と言います。これは、キーボードやモニターがないことを意味すると解釈します。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.