Is there any way to find the IPv4 address of a certain computer on my Macintosh Wi-Fi network? I know the computer name and such, so how can I use this to pinpoint which IP is theirs?
3 Answers
Easy. There are a few different ways: Using dns-sd
, ping
or arp
from the command line. And if all of those command line tools are not your speed, you can try using Angry IP Scanner which is a nice, graphical Java-based app that works well on Macs:
Angry IP Scanner (or simply ipscan) is an open-source and cross-platform network scanner designed to be fast and simple to use. It scans IP addresses and ports as well as has many other features.
As for command line options, you can use dns-sd
(Multicast DNS (mDNS) & DNS Service Discovery (DNS-SD) Test Tool) from the “Terminal” like this:
dns-sd -q [name of computer].local
This assumes you know the name of the computer already; replace [name of computer].local
with that computer name. Then the output would be something like this; note the 123.456.789.0
is a fake IP address for example’s sake:
Timestamp A/R Flags if Name Type Class Rdata
19:56:22.856 Add 2 4 [name of computer].local. Addr IN 123.456.789.0
Or you can even just use ping
like this:
ping computer-name.local
That will resolve the hostname of computer-name.local
to an IP address and ping
will return something like this; note the actual IP address is in the (
/)
and then in the ping
results that follow:
PING computer-name.local (123.456.789.0): 56 data bytes
64 bytes from 123.456.789.0: icmp_seq=0 ttl=64 time=0.071 ms
64 bytes from 123.456.789.0: icmp_seq=1 ttl=64 time=0.144 ms
64 bytes from 123.456.789.0: icmp_seq=2 ttl=64 time=0.099 ms
And if you wanted to find the IP addresses of all machines on the network, just use arp
(address resolution display and control) like this:
arp -a
The -a
option displays all of the current ARP entries. So for example I get this on my local Macintosh with Internet sharing running which allows my iPhone to connect to the ad-hoc network:
computer-name.local (123.456.789.0) at 00:aa:bb:cc:dd:ee on en0 ifscope [ethernet]
? (192.168.2.2) at bb:88:99:cc:77:aa on bridge100 ifscope [bridge]
That shows me that computer-name.local
has an IP address of 123.456.789.0
and the bridged connection used by the ad-hoc network where I am sharing my Ethernet connection via Wi-Fi is 192.168.2.2
.
Assuming you can actually access the system via hostname, ping would do the job.
I've no spare macs to test this with (alas!) but between a windows system and a linux system ping hostname works.
Macs support mdns/bonjour by default, so with a system with mdns/bonjour, you might also want to try hostname.local.
If you can access the computer then do this:
- Go to the Apple Menu, then select System Preferences.
- Click on "Network" in the System Preferences panel.
- Under "Show:", select the network interface that you want the IP/MAC address for. Generally, this will either be Built-In Ethernet or Airport.
- To find the IP address, click on the TCP/IP tab.
You should see something like this:
If you can't access the computer, then log in to your router and check the connected DHCP clients:
- Open a web browser.
- Type in the IP address of your router (usually http://192.168.0.1, http://192.168.1.1, or http://10.0.0.1)
- Log in. (You should know these credentials. If you don't, look for a label on the router itself. If no luck there, try username:
admin
and password: eitherpassword
,admin
or consult http://www.routerpasswords.com/ for your particular router model.) - Somewhere in the router admin interface you should be able to see "list of connected devices", "list of DHCP clients" or something similar.
- In this list, you should be able to identify the computer in question and find the IP address.
If you have a Windows machine available, you can use this method:
Download SoftPerfect Network Scanner and run the program.
You should see this window:
- Press the button labelled "IP" and select "auto select" (this is from memory, so might be named different)
- Hit the "Start scanning button"
- Consult the list in the main window. In this example the PC we're looking for is named "thinkpad" and has the IP address
192.168.0.2
.
-
Which is why the first method I've suggested is targeted at a computer running Mac OS X.– KristianCommented Feb 21, 2015 at 1:09
-
Which is why I've specifically stated "If you can access the computer do this:". If not, I've provided a second suggestion, and a third (which needs a Windows box, I'll admit). Don't see what I'm missing.– KristianCommented Feb 21, 2015 at 1:16
-
I'll agree that the Windows method might not be available, as there's no mention of any operating system. But I still think the other solutions that I've suggested first are viable methods. Feel free to edit if you think my answer can be improved.– KristianCommented Feb 21, 2015 at 1:27