日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
通過Python實(shí)現(xiàn)WakeOnLan遠(yuǎn)程開機(jī)

Wake-On-LAN簡稱WOL,是一種電源管理功能;它是由IBM公司提出的網(wǎng)絡(luò)喚醒標(biāo)準(zhǔn),目前該標(biāo)準(zhǔn)已被大多數(shù)主板廠商支持。支持該標(biāo)準(zhǔn)的主板允許從遠(yuǎn)程通過網(wǎng)絡(luò)喚醒計(jì)算機(jī),也就是遠(yuǎn)程開機(jī)。

創(chuàng)新互聯(lián):2013年開創(chuàng)至今為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千家公司企業(yè)提供了專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)和網(wǎng)站推廣服務(wù), 定制網(wǎng)站制作由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

先看下使用Python實(shí)現(xiàn)WakeOn Lan遠(yuǎn)程開機(jī)功能,具體介紹如下:

創(chuàng)建魔法喚醒包

格式化mac地址,生成魔法喚醒包,然后發(fā)送包,首先電腦需要打開wake on lan功能

創(chuàng)建main_wake_on_lan.py文件

import socket
import binascii
import struct
import re
''' 格式化mac地址,生成魔法喚醒包,然后發(fā)送。 mac格式: mac = A1B2C3D4E5F6 喚醒包格式: send_data = binascii.unhexlify('FF'*6 + str(mac)*16) '''
MAC = "18:31:BF:B0:36:8F"

# MAC = "98-90-96-C1-FE-CB"

# 格式化MAC地址989096C1FECB為這種形式
def format_mac0(mac):
if len(mac) == 12:
 pass
elif len(mac) == 17:
 if mac.count(':') == 5 or mac.count('-') == 5:
  sep = mac[2]
  mac = mac.replace(sep, '')
 else:
  raise ValueError('Incorrect MAC format')
else:
 raise ValueError('Incorrect MAC format')
return mac
def format_mac(mac):
mac_re = re.compile(r'''      (^([0-9A-F]{1,2}[-]){5}([0-9A-F]{1,2})$      |^([0-9A-F]{1,2}[:]){5}([0-9A-F]{1,2})$      |^([0-9A-F]{1,2}[.]){5}([0-9A-F]{1,2})$      )''', re.VERBOSE | re.IGNORECASE)
# print(re.match(mac_re, mac))
if re.match(mac_re, mac):
 if mac.count(':') == 5 or mac.count('-') == 5 or mac.count('.'):
  sep = mac[2]
  mac_fm = mac.replace(sep, '')
  return mac_fm
else:
 raise ValueError('Incorrect MAC format')

# 方法一:將989096C1FECB格式的mac地址創(chuàng)建喚醒包
def create_magic_packet0(mac):
data = b'FF' * 6 + (mac * 16).encode()
print(data)

print(type(data))
send_data = b''
for i in range(0, len(data), 2):
 send_data = send_data + struct.pack(b'B', int(data[i: i + 2], 16)) # int(data[i: i+2], 16) 把16進(jìn)制轉(zhuǎn)換成整數(shù)
print(type(send_data))
return send_data
# 方法二:將989096C1FECB格式的mac地址創(chuàng)建喚醒包,使用binascii.unhexlify()方法
def create_magic_packet(mac):
data = 'FF' * 6 + str(mac) * 16
# print(data)
# print(type(data))
send_data = binascii.unhexlify(data)
# print(type(send_data))
return send_data
def send_magic_packet(send_data):
# broadcast_address = '192.168.255.255'
broadcast_address = '255.255.255.255'
port = 9
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(send_data, (broadcast_address, port))
if __name__ == '__main__':
# print('mac地址:', format_mac(MAC))
mac = format_mac(MAC)
send_data = create_magic_packet(mac)
# print(send_data)
send_magic_packet(send_data)

調(diào)用發(fā)包函數(shù)

創(chuàng)建main_boot_computer.py

import main_wake_on_lan
import sys


def boot_computer():
try:
 pyname, parameter = sys.argv
 if parameter == '-h':
  print('參數(shù)使用方法:python3 main_boot_computer.py mac地址\npython3 main_boot_computer.py 98:90:96:C1:FE:CB')
 else:
  print('正在向 ', parameter, ' 發(fā)送魔法喚醒包!')
  # mac = '98:90:96:C1:FE:CB'

  mac = main_wake_on_lan.format_mac(parameter)
  send_data = main_wake_on_lan.create_magic_packet(mac)

  main_wake_on_lan.send_magic_packet(send_data)
  return '成功向' + parameter + '發(fā)送喚醒包!'
except ValueError:
 print('未收到傳入的參數(shù)\n獲取幫助:python3 main_boot_computer.py -h')

if __name__ == '__main__':
boot_computer()

使用方法

python3 main_boot_computer.py mac地址

補(bǔ)充:python通過wakeonlan喚醒內(nèi)網(wǎng)電腦開機(jī)

首先需要pip3 install wakeonlan

然后在電腦需要你的網(wǎng)卡支持網(wǎng)絡(luò)喚醒計(jì)算機(jī)。

然后在主板BIOS開啟支持喚醒。

在系統(tǒng)網(wǎng)卡屬性里選上“允許計(jì)算機(jī)關(guān)閉此設(shè)備以節(jié)約電源”,“允許此設(shè)備喚醒計(jì)算機(jī)”

然后以下就是python代碼,非常簡單。

from wakeonlan import send_magic_packet
send_magic_packet('4d.2d.6b.12.9b.1f')

網(wǎng)頁名稱:通過Python實(shí)現(xiàn)WakeOnLan遠(yuǎn)程開機(jī)
文章起源:http://m.5511xx.com/article/cdssido.html