C 網路喚醒

2022-02-02 18:22:32 字數 1437 閱讀 6598

什麼是網路喚醒

網路喚醒實現了對網路的集中管理,即在任何時刻,網管中心的it管理人員可以經由網路遠端喚醒一台處於休眠或關機狀態的計算機。使用這一功能,it管理人員可以在下班後,網路流量最小以及企業的正常運作最不受影響的時候完成所有作業系統及應用軟體的公升級及其他管理任務。

為了喚醒網路上的計算機,使用者必須發出一種資料報,該資料報的格式與普通資料報不同,而且還必須使用相應的專用軟體才能產生。當前比較普遍採用的是amd公司製作的magic packet,這套軟體可以生成網路喚醒所需要的特殊資料報。該資料報包含有連續6個位元組的「ff」和連續重複16次的mac位址。magic packet 雖然只是amd公司開發推廣的一項技術,並非業界公認的標準,但是仍受到很多網絡卡製造商的支援,因此許多具有網路喚醒功能的網絡卡都能與之相容。

要使用網路喚醒,你必須擁有:

1:可向網絡卡傳送網路「喚醒幀」的軟體。

2:可解碼「喚醒幀」的網絡卡,該網絡卡同時還必須可以從輔助電源中獲取能量,並能夠向主機板傳送「喚醒訊號」。 (基本上都支援)

先說被喚醒機器如何設定

1.win7系統下設定如下圖,計算機-》裝置管理器-》網絡卡驅動屬性

2.ipconfig –all 命令檢視本機網絡卡的mac位址

傳送的網路資料報顯示如下圖,其中mac位址是隨便填寫的重複的09。

c#**如下:

private ipendpoint point;

private udpclient client = new udpclient();

/*** 喚醒遠端機器方法

* @param

* mac 要喚醒的機器的mac

* ip

* port udp訊息傳送埠

***/

private void wakeup(string mac, int port, string ip)

catch (socketexception e)

}/// /// 字串轉16進製制位元組陣列

///

///

///

public static byte strtohexbyte(string hexstring)

/// /// 拼裝mac魔術封包

///

///

///

public static byte getmagicpacket(string macstring)

return returnbytes;

}

當然這只是在區域網中實現的,如果要在廣域網中實現的話還需要路由器對映等什麼的,本文不做討論。

amd官方的技術文件:

C 網路喚醒

什麼是網路喚醒 網路喚醒實現了對網路的集中管理,即在任何時刻,網管中心的it管理人員可以經由網路遠端喚醒一台處於休眠或關機狀態的計算機。使用這一功能,it管理人員可以在下班後,網路流量最小以及企業的正常運作最不受影響的時候完成所有作業系統及應用軟體的公升級及其他管理任務。為了喚醒網路上的計算機,使用...

網路喚醒 C語言

wake on lan是一種網路喚醒功能,它可以實現遠端開機,剛好實驗室有一台ftp伺服器,因為不是24小時開機的,所以每次開機都要跑過去用手按開關,非常麻煩,於是在網上找了下資料,自己實現了一把,並在windows下用qt寫了個簡單的介面,以後想開伺服器就方便了。原理就是源主機廣播乙個特殊的資料報...

c 網路喚醒功能實現

網路喚醒實現了對網路的集中管理,即在任何時刻,網管中心的it管理人員www.cppcns.com可以經由網路遠端喚醒一台處於休眠或關機狀態的計算機。使用這一功能,it管理人員可以在下班後,網路流量最小以及企業的正常運作最不受影響的時候完成所有作業系統及應用軟體的公升級及其他管理任務。為了喚醒網路上的...