How can I scan the local network for connected devices? (Mac OS)
Solution 1
Ping the broadcast address
(you can find it withifconfig | grep broadcast
)and then do an
arp -a
Solution 2
Where x.x.x is the first three numbers in your ip address.
for ip in $(seq 1 254); do ping -c 1 x.x.x.$ip -o ConnectTimeout=5; [ $? -eq 0 ] && echo "x.x.x.$ip UP" || : ; done
Solution 3
Single Line Answer: http://nmap.org/download.html [Use NMAP] or Angry IP Scanner
Solution 4
NMAP
[nmap] is your best friend for all sorts of network devices scans. Use Zenmap
if you need GUI [zenmap].
Assuming your local network is 192.168.0.0/24
(where 24
means netmask 255.255.255.0
) this will give you online hosts with their IP and MAC addresses:
nmap -sP 192.168.0.0/24
You can download the package from project website or build yourself from sources with MacPorts [macports]. Enjoy! :-)
[nmap] https://nmap.org/
[zenmap] https://nmap.org/zenmap/
[macports] https://www.macports.org/
Solution 5
Your printer provides a file share for dropping files into or are you just trying to locate the printer on your network?
Does your new multifunction printer support Bonjour/ZeroConf? (Most new network based printers do) If so you can use a program such as Bonjour Browser to see what is available on your network.
On your router does it appear on the DHCP Clients Table (you may have to consult your manual to see how to see this table) - as this will also give you the IP but will also let you know for certain that your printer is actually connected to your network.
From your Mac itself you can use a program such as Nmap from the command line or use a GUI based app (eg. Zenmap - GUI for Nmap or AngryIPScanner) to scan your network and then see what ports are available.
Related videos on Youtube
macek
Updated on September 17, 2022Comments
-
macek over 1 year
I'm basically looking for something like this but available on Mac.
I am trying to connect a new workstation to our wireless multifunction printer and I'm having a hell of a time getting the device to spit out an IP for me to connect to.
Is there a way I can scan the network somehow?
If it makes a difference, the new workstation is using Mac OS X 10.6.
-
Spiff about 14 yearsTo add to @Chealion's answer, if your printer supports Bonjour, you should see it in the "Nearby printers" list on the "Printer" pop-up menu of the "File > Print..." dialog sheet, or in the printer browser you see when you go to "Add Printer...". So many multifuction printers from the major manufacturers support Bonjour nowadays, that I'm surprised when a printer doesn't just automatically show up on those places I mentioned.
-
macek about 14 yearsBest answer because it required no software download. Thanks, NSD :)
-
slhck over 11 yearsHi! Per the FAQ, please disclose any affiliation with products you recommend. And please don't let that be the only reason you're on Super User—otherwise your posts may be considered spam.
-
Jas Panesar almost 11 yearsGreat tip.. I filtered out the results to only show the ip's that are not incomplete (and are present) with..
arp -a | grep :
-
Pierre-Adrien almost 11 yearsOn a Mac here, had to slightly adjust your answer as the timeout is set using the
-t
option (for instance-t 5
for a 5 seconds timeout) -
hookenz about 10 yearsRight, that also didn't work for me. On the Mac you not only need to use the -t 5 option, but also move it to be before the ip. i.e. -c 1 -t 5 x.x.x.$ip. Otherwise it'll error and bomb out.
-
deweydb over 9 yearsCan someone explain why/how this works? You ping the broadcast and this causes all the other connected clients to commit network activity which is then visible to arp ??
-
Codeversed over 9 yearsBest answer. You can do it one line too: ifconfig | grep broadcast | arp -a
-
JohnnyVegas over 8 yearsIP Scanner is useless as it has a 6 device limit, then they want $30. Avoid this.
-
Rolf over 7 years@deweydb when you're on LAN, connecting to an IP involves resolving the IP into a mac address. ARP keeps a cache of all resolved IP addresses. Doing a broadcast ping indirectly triggers a resolution for all IPs on the network. Now... how can we resolve the list of IPs into DNS (or other) names?
-
Mirko Ebert over 7 yearsI use:
arp -a | grep -v '^?'
under Macosx. -
user3439894 over 6 yearsThe Angry IP Scanner download link has changed. Better just to use the domain address: angryip.org
-
Gaia over 5 yearsWhat do the
? (192.168.1.15) at <incomplete> on eth0
mean? there is nothing (and AFAIK there has never been) anything on my lan at that address -
ijoseph over 4 yearsRight. First of all,
x.x.x
only works for netmasks that are/24
(=0xffffff00
). One should verify this usingifconfig
. Second of all, this takes 21 minutes to run serially. Can do this in parallel by terminating thefor
loop using&
instead of;
. On MacOS, this looks like:for ip in $(seq 1 254); do ping -c 1 -t5 192.168.1.$ip > /dev/null ; [ $? -eq 0 ] && echo "x.x.x.$ip UP" || : & done