Tell me more ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Our network gave an error that there was an IP address conflict and I'd like to find what all the device IP addresses are. (I've also had need of that before). (update/clarification:I'm looking for a Windows-based too.)

Any suggestions?

I've read suggestions for various tools (Look@Lan, Angry IP Scanner) and I'm looking for suggestions from people who have used these or other tools.

share|improve this question

16 Answers

up vote 23 down vote accepted

Using nmap to do a sweep of the subnet is one quick and simple way to do this that I've used before, the various options will allow you to do a more detailed inspection also.

share|improve this answer

If there's a unix box on the network, you could try arp-scan:

http://linux.die.net/man/1/arp-scan

$ arp-scan --interface=eth0 192.168.0.0/24
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.4 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1     00:c0:9f:09:b8:db       QUANTA COMPUTER, INC.
192.168.0.3     00:02:b3:bb:66:98       Intel Corporation
192.168.0.5     00:02:a5:90:c3:e6       Compaq Computer Corporation
192.168.0.6     00:c0:9f:0b:91:d1       QUANTA COMPUTER, INC.
192.168.0.12    00:02:b3:46:0d:4c       Intel Corporation
192.168.0.13    00:02:a5:de:c2:17       Compaq Computer Corporation
192.168.0.87    00:0b:db:b2:fa:60       Dell ESG PCBA Test
192.168.0.90    00:02:b3:06:d7:9b       Intel Corporation
192.168.0.105   00:13:72:09:ad:76       Dell Inc.
192.168.0.153   00:10:db:26:4d:52       Juniper Networks, Inc.
192.168.0.191   00:01:e6:57:8b:68       Hewlett-Packard Company
192.168.0.251   00:04:27:6a:5d:a1       Cisco Systems, Inc.
192.168.0.196   00:30:c1:5e:58:7d       HEWLETT-PACKARD
13 packets received by filter, 0 packets dropped by kernel
Ending arp-scan: 256 hosts scanned in 3.386 seconds (75.61 hosts/sec).  13
responded
share|improve this answer
Very handy tool. – ring0 Dec 9 '10 at 12:04

A list of IP addresses on the LAN will be of limited help, as the issue is there are two machines trying to use the same IP.

I would suggest that you attempt to find the MAC addresses of the two machines that are clashing.

What device logged the IP address conflict? Was it a server, router etc? Some platforms (Solaris, BSD) will log the MAC address of the offending host along with the error message. If the IP in question is within one of your DHCP pools, it's also worth checking your DHCP server's logs for the MAC address it's attempting to assign that IP to.

Failing that, I would recommend logging on to the default router of the subnet that this problem is occurring on, and monitoring the ARP table. There should be one IP address that flips between multiple MAC addresses; again, those two MAC addresses represent the devices you are interested in.

Once you have the MAC addresses of the two devices, you should be able to tie them to specific switch ports. This question provides more information on how to do that. You can also use an OUI lookup tool to help identify the manufacturer of each device.

share|improve this answer
1  
If there's a DHCP server trying to assign that IP, there should be a log entry containing the offending MAC address. – Kara Marfia May 21 '09 at 14:14
With the MAC address, you can also look up the manufacturer of the device or NIC using standards.ieee.org/regauth/oui/index.shtml – bk1e May 22 '09 at 7:06
@Kara,bk1e: both good points, answer updated accordingly. – Murali Suriar May 22 '09 at 7:25

Quick and dirty (on Linux):

$ ping -b 192.168.1.255
$ arp -a
share|improve this answer
just tried that out. could it be some hosts do not respond to broadcasts ? or is this a sure thing I misconfigured the subnetmask on them ? – lImbus May 20 '09 at 23:38
No, some could not be responding (firewall?). – Ivan May 20 '09 at 23:50
It is true that many hosts won't respond to broadcasts, but +1 for running arp -a after running nmap. :) – jns May 21 '09 at 10:31
I meant ping, not nmap – jns May 21 '09 at 10:32
Thanks for the tip. – ring0 Dec 9 '10 at 12:05

As mentioned nmap (http://nmap.org/) is probably a good, quick and free option. Just be careful with it, there are some very aggressive options that could crash machines.

This command will do a simple ping sweep of the selected subnet and should be completely safe.

nmap -rP 192.168.1.1/24

Obviously, replace with your own network information.

You mentioned that a duplicate IP address was identified. Both machines should have generated a warning screen, which should allow you to identify the machines. If DHCP is used, then another request should have been generated and the problem may have self resolved.

share|improve this answer

NMap should give you what you're looking for (or ZenMap if you want a friendlier interface). As an added bonus, it'll also detect all the services that the other computers are running, and possibly make your IDS freak out.

share|improve this answer
1  
Zenmap is a good choice :) – Pitto Dec 9 '10 at 11:46

I've always been a fan of Angry IP Scanner.
Yes, not as full featured as NMAP, but can show quite a bit of data quickly.

share|improve this answer

You don't say if it has to be a Linux app. If you can use Windows then Advanced IP Scanner (http://www.radmin.com/products/utilities/ipscanner.php) is free and works very well.

John Rennie

share|improve this answer

http://www.rangify.com/how-to-find-all-openused-ip-addresses-in-the-computer-network-using-cmd-or-network-tools/ I found this to be remarkably straightforward and helpful.

  1. Go To Start > Run > CMD

  2. Type in IPConfig /all

  3. Look for following information: IP Address, Subnet Mask

share|improve this answer
Welcome to Server Fault! Generally we like answers on the site to be able to stand on their own - Links are great, but if that link ever breaks the answer should have enough information to still be helpful. Please consider editing your answer to include more detail. See the FAQ for more info. – slm Apr 10 at 7:09

I'm not aware of any sure-fire way of getting device names but your switch's CAM table will list ever MAC on your LAN and you can then run a RARP lookup on that to find out IP details for each device.

share|improve this answer
RARP won't give you that information. It is the precursor to DHCP. When you rarp you're asking a server for an IP address assignment. What you are describing is Inverse Arp, rfc2390 (tools.ietf.org/html/rfc2390). – Scott Pack May 25 '09 at 13:47

There is a little app I use called "kiss the net" that scans and generates a pdf network map for you.

It's based on a server monitoring/management product called "The Dude" made by mikrotik.

http://www.mikrotik.com/download/KTN_1.0beta1.zip
Requirements: Windows XP/2000/2003/Vista with Internet Exporer 6 or better.

share|improve this answer

If you have access to the router that's acting as the default gateway for the subnet in question, then listing the ARP cache on the router (I believe it's just "show arp" on a Cisco IOS device) is the best way to go.

The other answers in this thread (ping sweeps, nmap, broadcast pings, etc) are likely to be inadequate these days with so many systems running personal/host based firewalls that block pings, etc.

The router arp cache may still not be 100%. It won't show any hosts that haven't communicated within the arp timeout period, or at least that haven't communicated off subnet within the arp timeout period. But in most cases it's much more likely to get you more complete results than any other method.

share|improve this answer

From the good (bad?) old days, I used to use a tool called WS_PING - from the same people who provided the venerable WS_FTP.

It's only a trial, but you can grab it from http://www.whatsupgold.com/products/ws_ping-propack/ - it'll do everything you want and do it from Windows 95!

share|improve this answer

Colasoft Mac Scanner is one way to do it. Delivers IP, name and MAC.

share|improve this answer

You can use a quick trick listed in the article at http://www.rangify.com/how-to-find-all-openused-ip-addresses-in-the-computer-network-using-cmd-or-network-tools/ that can be run via command line directly in windows and get the information you need. I now usually run this command instead of using network tools as it gives me more information and options.

share|improve this answer
2  
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – Michael Hampton Oct 13 '12 at 20:23

I suggest using Fing. It's a simple network scanner that is available for Windows, Mac, Linux, and even for Android devices. And it can easily be used in scripting.

share|improve this answer

protected by Chris S Apr 17 at 15:39

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.