How to send a magic packet from OS X in order to wake a PC on the LAN? (WOL)

13

1

Either some (preferably free/OS) app or a command line tool will do.

GJ.

Posted 2012-04-11T15:11:24.683

Reputation: 8 151

Answers

10

Try WakeOnLan or wol — both are open source, both are available through MacPorts (and possibly through Homebrew as well).

Doug Harris

Posted 2012-04-11T15:11:24.683

Reputation: 23 578

9

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.

ryanjbonnell

Posted 2012-04-11T15:11:24.683

Reputation: 236

1Just a slight hint: looks like the command has three parameters, for -i the broadcast address (not the IP address), for -p the magic packet (which you do not explain, looks like you are showing 1234 or 7 as magic packet) and third parameter is the Ethernet (or MAC-) address. – pebwindkraft – 2019-07-01T12:32:30.260

1@pebwindkraft , -p sets the destination port, actually (and defaults to 9). – Filipp W. – 2019-07-29T11:21:40.280

0

install:

mkdir -p $HOME/bin

curl https://raw.githubusercontent.com/jpoliv/wakeonlan/master/wakeonlan -o ~/bin/wakeonlan
chmod +x ~/bin/wakeonlan

wake:

~/bin/wakeonlan THE_MAC_ADDRESS

B.Bippus

Posted 2012-04-11T15:11:24.683

Reputation: 1

Could you expand your answer to explain what these commands do? – Burgi – 2016-02-25T14:50:10.880

mkdir: make ad new directory; curl: Download "wakeonlan"; ~/bin/wakeonlan: execute the downloaded script. – B.Bippus – 2016-02-27T15:22:07.857