我正在開發一個Wake on LAN服務,它將從一個網站運行,並且應該與許多不同的平臺進行交互 - 因此,沒有Windows的解決方案。當用戶在網站上註冊他們的系統時,我需要獲取用於構建"magic" packet的MAC地址。我有一個Java Applet能夠爲我做到這一點,並知道一個可以工作的ActiveX控件,但我想知道是否有辦法通過查詢路由器/交換機來做到這一點在服務器端。由於系統可能位於許多不同的物理子網上,因此使用ARP將無法工作 - 除非有辦法配置路由器以我的名義執行ARP。當我只知道它是IP地址時,如何獲得遠程系統的MAC地址?
任何知道任何網絡API,專有或其他,可用於查找MAC地址給定一個IP地址?我認爲我們正在使用思科路由器,但這是一個複雜的網絡,可能有多個供應商參與各個層面。我想在獲得網絡神的犧牲之前獲得一些可能的解決方案的背景信息。如果技術上不可行,那就毫無意義。 :-)
編輯:我們的網絡基礎設施設置爲允許定向廣播,雖然找出確切的廣播地址,因爲網絡掩碼並不總是/ 24是我需要解決的另一個難題。
嗯......如果你和你想喚醒的機器不在同一個網段,你將無法使用WoL,不是嗎? – hop 2009-05-27 19:48:43
他說他已經指示廣播作爲對我的回答的評論。 – 2009-05-27 20:19:47
如果您可以查詢您的DHCP服務器中的IP地址數據庫,您還應該能夠獲取每個網段的網絡和廣播地址。假設SNMP已啓用,您也可以從路由器查詢此信息。 – 2009-05-28 13:39:53