将魔术包发送到某个ip的程序

时间:2013-08-10 15:37:12

标签: c++ python c router

我需要编写C,C ++,。bat或Python程序。它应该检测是否有人试图从路由器/防火墙外部通过某个端口(25570)连接到某个IP地址(192.168.1.149)。然后程序将魔术包发送到IP地址(192.168.1.149)。然后魔术包将唤醒计算机。因为计算机将处于睡眠模式,代码可能必须在网络中的另一台计算机上(我不想这样)。甚至可能在路由器或DNS中。我有一台Windows 7电脑。计算机应该处于睡眠模式。我需要回答这个问题的人给我一个指南我不是一个非常好的编码员所以这就是我提出这个问题的原因

这是我的路由器信息:
https://www.asus.com/Networking/RTN65U/
对不起,我有一个非常旧的DNS,所以我不能给你规格 我该怎么办?
THX。

1 个答案:

答案 0 :(得分:0)

这是我在我的一台网络机器上使用的一些Python代码,用于唤醒另一台。我不知道我最初得到它的地方,但效果很好。希望您可以根据自己的需要进行调整。

#!/usr/bin/env python
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto('\xff'*6+'\x00\x11\x22\x33\x44\x55'*16, ('192.168.0.255', 9))
print "Attempted to wake host"

请注意,\x00\x11等内容是要唤醒的计算机的MAC地址,应替换为计算机的MAC地址(转换为十六进制字节)。 192.168.0.255是网络的广播地址,同样应该用您的广播地址替换。