0

Wake On Lan が可能かどうかを検出したいと思います。

私のルーター (Tomato ファームウェア) には情報を含むテーブルがあります - デバイスが「Active (In ARP)」と表示されている場合 - このデバイスを WOL (オフライン Linux PC) で有効にすることができます。

ルーターのみの機能で実現できるのでしょうか、それとも C# や C でできるのでしょうか? 関数 SendArp は MAC アドレスを検出して「arping」を実行できますが、私がやりたいことではありません。

4

3 に答える 3

1

コンピューター(または他のネットワークデバイス)がWake-On-Lanをサポートしているかどうかをルーターが検出できません。ルーターができることは、WOLパッケージを送信し、それがウェイクアップすることを期待することだけです。

呼び出し側デバイスがパケットを尊重し、ウェイクアップをデバイス自体で構成する必要があり、デバイスがWOLをサポートしているかどうかを通知できるOSIレイヤー4〜1内には何も存在しない場合。

C#を使用してPCからWOLパケットを送信したい場合は、お気に入りの検索エンジンを使用して多くの例を見つけることができます。これがバート・デ・シュメの例です。

アップデート

「アクティブ(ARP内)」というメッセージは、ルーターがWOLパケットを送信できることを検出したことを意味するものではありません。これは、ルーター内でARPキャッシュが現在このIPまたはMACアドレスに一致するエントリであることを示しています。このようなキャッシュには、すべてのネットワークデバイス(PCも)があります。Windowsでは、コマンドラインを開いてEnterキーarp -aを押すだけで、Windowsマシンのキャッシュが表示されます。ここでは、IPアドレスに送信するために保存されているMACアドレスのリストを取得します。ブラックハットは、このキャッシュを操作してIP通信をリダイレクトしようとする可能性があります。これに関する詳細は、ウィキペディアで見つけることができます。

したがって、このメッセージは、ルーターが最近このデバイスへのIP接続を確立したことを示しています。それでおしまい。ただし、デバイスが現在WOLパケットを処理できるかどうかはわかりません(電源が接続されているかどうかが原因)。

于 2010-11-10T10:34:26.880 に答える
0

マシンが BIOS から WOL をサポートしているかどうかに関する情報を取得します。

サポートされている場合は、オンになっていることを確認してください。多くのマシンでは、この機能がデフォルトで無効になっています。

ネットワーク経由で WOL パケットをルーティングするには、ルーターのポート 9 を 255.255.255.255 (Brodcast-to-all) IP アドレスに転送する必要があります。

于 2010-11-10T09:20:47.507 に答える
0

あなたはおそらくhttp://msdn.microsoft.com/en-us/library/ff566341(VS.85).aspxをチェックするのが最善です

これにより、電源管理とデバイス固有の「ウェイク有効」状態のブール値を照会できます。

これが WMI であることを考えると、これにリモートでアクセスできるはずですが、WMI クラスを公開するためにいくつかのレジストリ キーを設定する必要があります。

于 2010-10-01T22:22:05.860 に答える