Я пишу приложение для включения систем в сети с использованием функции WakeOnLan.
Я погуглил и смог получить код отсюда. Мой код выглядит следующим образом.
Я также перенаправил порт 9 на своем маршрутизаторе.
Я включил параметры пробуждения по локальной сети для сетевой карты в разделе «Управление питанием». Я следовал инструкциям отсюда
Я установил Wake on Lan Monitor/Sniffer отсюда, чтобы проверить, могу ли я получить волшебный пакет для пробуждения. И система получает волшебные пакеты. Когда я выключаю и запускаю скрипт Python WOL из другой системы (ноутбука) в той же сети, моя система не включается.
Может ли кто-нибудь предложить мне решение.
Мои системы:
Настольный компьютер с Win 8.1, который необходимо вывести из спящего режима по локальной сети.
Ноутбук с Win 8, на котором необходимо запустить приложение и отправить волшебный пакет на рабочий стол. .
Мой IP-адреса локальной сети варьируются от 172.16.0.1 и т. д., поэтому в качестве широковещательного адреса используется 172.16.255.255.
import sys, struct, socket
# Configuration variables
broadcast = ['172.16.255.255']
wol_port = 9
known_computers = {
'mercury' : '00:1C:55:35:12:BF',
'venus' : '00:1d:39:55:5c:df',
'earth' : '00:10:60:15:97:fb',
'mars' : '00:10:DC:34:B2:87',
}
def WakeOnLan(ethernet_address):
# Construct 6 byte hardware address
add_oct = ethernet_address.split(':')
if len(add_oct) != 6:
print "\n*** Illegal MAC address\n"
print "MAC should be written as 00:11:22:33:44:55\n"
return
hwa = struct.pack('BBBBBB', int(add_oct[0],16),
int(add_oct[1],16),
int(add_oct[2],16),
int(add_oct[3],16),
int(add_oct[4],16),
int(add_oct[5],16))
# Build magic packet
msg = '\xff' * 6 + hwa * 16
# Send packet to broadcast address using UDP port 9
soc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
soc.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,1)
for i in broadcast:
soc.sendto(msg,(i,wol_port))
soc.close()
def wol(*macs):
if len(macs) == 0:
print "\n*** No computer given to power up\n"
print "Use: 'wol computername' or 'wol 00:11:22:33:44:55'"
else:
for i in macs:
if i[0] != '/':
if ":" in i:
# Wake up using MAC address
WakeOnLan(i)
else:
# Wake up known computers
if i in known_computers:
WakeOnLan(known_computers)
else:
print "\n*** Unknown computer " + i + "\n"
quit()
if len(macs) == 2:
print "\nDone! The computer should be up and running in a short while."
else:
print "\nDone! The computers should be up and running in a short while."
print
wol('My System MAC address')
Подробнее здесь: https://stackoverflow.com/questions/287 ... ith-python
Пробуждение по локальной сети с помощью Python ⇐ Python
Программы на Python
-
Anonymous
1735942065
Anonymous
Я пишу приложение для включения систем в сети с использованием функции WakeOnLan.
Я погуглил и смог получить код отсюда. Мой код выглядит следующим образом.
Я также перенаправил порт 9 на своем маршрутизаторе.
Я включил параметры пробуждения по локальной сети для сетевой карты в разделе «Управление питанием». Я следовал инструкциям отсюда
Я установил Wake on Lan Monitor/Sniffer отсюда, чтобы проверить, могу ли я получить волшебный пакет для пробуждения. И система получает волшебные пакеты. Когда я выключаю и запускаю скрипт Python WOL из другой системы (ноутбука) в той же сети, моя система не включается.
Может ли кто-нибудь предложить мне решение.
Мои системы:
Настольный компьютер с Win 8.1, который необходимо вывести из спящего режима по локальной сети.
Ноутбук с Win 8, на котором необходимо запустить приложение и отправить волшебный пакет на рабочий стол. .
Мой IP-адреса локальной сети варьируются от 172.16.0.1 и т. д., поэтому в качестве широковещательного адреса используется 172.16.255.255.
import sys, struct, socket
# Configuration variables
broadcast = ['172.16.255.255']
wol_port = 9
known_computers = {
'mercury' : '00:1C:55:35:12:BF',
'venus' : '00:1d:39:55:5c:df',
'earth' : '00:10:60:15:97:fb',
'mars' : '00:10:DC:34:B2:87',
}
def WakeOnLan(ethernet_address):
# Construct 6 byte hardware address
add_oct = ethernet_address.split(':')
if len(add_oct) != 6:
print "\n*** Illegal MAC address\n"
print "MAC should be written as 00:11:22:33:44:55\n"
return
hwa = struct.pack('BBBBBB', int(add_oct[0],16),
int(add_oct[1],16),
int(add_oct[2],16),
int(add_oct[3],16),
int(add_oct[4],16),
int(add_oct[5],16))
# Build magic packet
msg = '\xff' * 6 + hwa * 16
# Send packet to broadcast address using UDP port 9
soc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
soc.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,1)
for i in broadcast:
soc.sendto(msg,(i,wol_port))
soc.close()
def wol(*macs):
if len(macs) == 0:
print "\n*** No computer given to power up\n"
print "Use: 'wol computername' or 'wol 00:11:22:33:44:55'"
else:
for i in macs:
if i[0] != '/':
if ":" in i:
# Wake up using MAC address
WakeOnLan(i)
else:
# Wake up known computers
if i in known_computers:
WakeOnLan(known_computers[i])
else:
print "\n*** Unknown computer " + i + "\n"
quit()
if len(macs) == 2:
print "\nDone! The computer should be up and running in a short while."
else:
print "\nDone! The computers should be up and running in a short while."
wol('My System MAC address')
Подробнее здесь: [url]https://stackoverflow.com/questions/28765352/wakeup-on-lan-with-python[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия