How to send a magic packet from OS X in order to wake a PC on the LAN? (WOL)
Install the wakeonlan package using Homebrew:
$ brew install wakeonlan
(It's a Perl script for waking up computers via Wake-On-LAN magic packets.)
When installed, you can send a "magic packet" from your Terminal to any device using its IP (Internet Protocol) and MAC (Media Access Control) address.
Here's an example of a typical use:
$ wakeonlan -i 192.168.1.255 -p 1234 01:02:03:04:05:06
The scripts takes 2 arguments, the MAC address of the NIC, and an IP address.
Note: The IP address argument is tricky and isn't what you'd think.
For a NIC on your local subnet, use the broadcast-address of this subnet. (e.g. subnet 192.168.10.0 with netmask 255.255.255.0, use 192.168.10.255)
For example, I have a Synology NAS manually configured with the IP address of 10.0.1.100
with a subnet mask of 255.255.255.0
and a router address of 10.0.1.1
.
The correct IP address to use is not that of the device, but instead the broadcast-address of the subnet.
Continuing on my example, I used the following command to successfully wake up my Synology:
$ wakeonlan -i 10.0.1.255 -p 7 01:02:03:04:05:06
(Naturally, substitute the actual values of your device and network for your situation.)
You can get more information from the wakeonlan man page, man makeonlan
, or a quick glossary of commands from wakeonlan -h
.
Try WakeOnLan or wol — both are open source, both are available through MacPorts (and possibly through Homebrew as well).