0

自分のコンピュータに接続されているコンピュータの情報を取得するにはどうすればよいですか? それはコンピューター名であり、IPアドレスです..プログラミング言語としてC#を使用しています

クロスケーブルを使用して2台のコンピューターを接続しています。

4

1 に答える 1

2

最初に知っておくべきことは、イーサネット ネットワークに何かを接続する場合、クロスオーバー ケーブルかどうかに関係なく、このネットワーク上のデバイスは実際に何かを送信する必要がないということです。「やあ、私はこのネットワークの初心者です。近所の人に紹介してくれませんか?」というメッセージはありません。

そうは言っても、通常、デバイスが接続されていると、さまざまなアクティビティが発生します。ほとんどのネットワークには、IP アドレス、ネットマスク、DNS サーバー アドレスなどの構成を送信する DHCP サーバーと呼ばれるものがあります。繰り返しますが、これが構成である必要はありません。多くのデバイスは手動で構成され、DHCP を使用しません。通常、ネットワークは DHCP を使用する必要はありません。しかし、それは良いスタートです。

あなたがする必要があるのは、パケットのスニッフィングです。基本的に、ネットワーク インターフェイスを通過するすべてのパケットをリッスンし、関心のあるパケットを除外するソフトウェアを作成します。Winpcap 用の .NET ラッパーがあり、これは Windows 用のパケット キャプチャ ドライバーです。これで始められるはずです。

イーサネット ブロードキャストに設定されたパケットをリッスンします(FF:FF:FF:FF:FF:FF)。IP ネットワークでは、ARP を使用してそのホストの IP アドレスを取得できます。

興味があれば、Windows ネットワーク情報もブロードキャストで送信されます。

探しているものを把握するには、Wiresharkをダウンロードして見てください。

于 2012-09-30T06:15:31.513 に答える