The magic packet can be encapsulated in any type of transport (UDP over IP, IPX, etc). The WOL behavior in a client is triggered by a "magic packet". Some additional reading about Ethernet, ARP, and UDP/IP is probably in order, too. It sounds like some reading-up on WOL is probably in order first. The technique I've outlined will work for any computer on the LAN the way WOL was designed but could potentially open your network up to be used for as an attack (Smurf/Fraggle/Papasmurf) amplifier if someone were to send a specially crafted packet to the WOL port.Įvan Anderson's approach is technically more secure but is limited to unicast. This solution will work but it's only a hack to circumvent the limitations of the Wake On Lan protocol. Broadcasting incoming packets on a LAN is generally a bad idea. Update: Anderson made a good point that I forgot to mention. If there is sufficient demand, I could extend my console application to include packet sending (it currently only sniffs) and make it available as an OSS project. Note: The reason I know so much about this is because I'm the author of the WOL parser for SharpPcap (pcap wrapper in C#). There are tools online that can do such a thing but I'm not familiar with them. If you want to test that the packets coming across are in the right format, use the following filter in Wireshark: ether dst FF:FF:FF:FF:FF:FF and ether proto 0x0842īasically, the WOL application needs to be capable of creating a packet that spoofs the Ethernet Destination address. The frame structure is as follows: DA -> SA -> Type -> Magic Packet
#Mac wake on lan internet mac
The contents of the magic packet contain 16 copies of the MAC address of the computer being woken up. To get around this limitation, they broadcast (ethernet broadcast not IP broadcast) to all the computers on the network and each computer reads the magic packet to see if they're the one being called on. They're blind to any protocol above the link layer. WOL packets were only really intended to be sent across a local network. So, where does the MAC of the computer being woken up go? The ethernet type of the packet should be 0x0842 (Wake On Lan). The Destination MAC address of the packet should be set to ethernet broadcast or FF:FF:FF:FF:FF:FF. To get the WOL packet into the network, forward the packet coming from a specific port to the broadcast address of the local network (255.255.255.255) or whatever subnet range you want WOL access to be enabled on. All the suggested/default values were wrong.You've got the first part right. So if you incorrectly put in some numbers and send a packet that fails, that attempt will be in your list forever. I am the network admin at a company so it would be really helpful to only need the MAC address instead of trying to sort through a long list of computers by MAC address.Īlso, although it does add computers to a sort of 'bookmarks' list, I cannot remove these items from a list.
#Mac wake on lan internet Pc
The only way I was able to get all that information was to manually power on the PC that I wanted to wake, then use the "discover" function of the app, then search through a long list of computers by MAC address to find the one I was looking for. This program need 3 more fairly obscure numbers (IP Address or FQN, Subnet Mask, and Port) in order to send a packet. The only number that Jimmy's Magic Packet needs is the MAC address (or Physical Address) of the computer you're trying to wake.
I am using this parallel to a PC running "Jimmy's Magic Packet" (a free, extremely lightweight program for Windows)