Как получить список всех IP-адресов (и в идеале имена устройств) в локальной сети?

37

Наша сеть выдала ошибку, что произошел конфликт IP-адресов, и я хотел бы выяснить, каковы все IP-адреса устройства. (Я также нуждался в этом раньше). (обновление / уточнение: я тоже ищу на базе Windows.)

Какие-либо предложения?

Я прочитал предложения по различным инструментам (Look @ Lan, Angry IP Scanner) и ищу предложения от людей, которые использовали эти или другие инструменты.

Клей Николс
источник

Ответы:

35

Использование nmap для сканирования подсети - один из быстрых и простых способов сделать это, который я использовал ранее, различные опции позволят вам также провести более детальный осмотр.

метелка
источник
1
Чтобы установить цель сканирования nmap, определите шлюз по умолчанию, запустив его ipconfigиз командной строки. Используйте его в целевой области, например , Target: 192.168.1.1/24. Затем нажмите кнопку сканирования.
Шон Люттин
Соответствующий ответ: serverfault.com/a/30742/199688
Счастливчик
36

Если в сети есть поле unix, вы можете попробовать arp-scan:

ARP сканер | Страница руководства по Linux

$ 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
Тим Хоулэнд
источник
1
Очень удобный инструмент.
Кольцо Ø
1
Определенно удобно, хотя учтите, что в нем указывается производитель сетевой карты, а не сетевое имя устройства.
Крейг,
10

Быстро и грязно (в Linux):

$ ping -b 192.168.1.255
$ arp -a
Иван
источник
только что попробовал это. может быть, некоторые хосты не отвечают на трансляции? или это верная вещь, я неправильно настроил маску подсети на них?
Лимбус
Нет, некоторые не могли отвечать (брандмауэр?).
Иван
Это правда, что многие хосты не будут отвечать на трансляции, но +1 для запуска arp -a после запуска nmap. :)
Jns
Я имел в виду ping, а не nmap
jns
FWIW, arp -aу меня тоже работал на Windows 10.
псевдосавант
8

Как уже упоминалось, nmap ( http://nmap.org/ ), вероятно, хороший, быстрый и бесплатный вариант. Только будьте осторожны с этим, есть несколько очень агрессивных вариантов, которые могут привести к поломке машины.

Эта команда выполнит простую проверку связи выбранной подсети и должна быть полностью безопасной.

nmap -rP 192.168.1.1/24

Очевидно, замените своей собственной сетевой информацией.

Вы упомянули, что был идентифицирован дубликат IP-адреса. На обеих машинах должен появиться экран с предупреждением, который позволит вам идентифицировать машины. Если используется DHCP, то должен быть сгенерирован другой запрос, и проблема может быть решена самостоятельно.

Питер
источник
1
Для более поздних версий nmap команда: nmap -r -sn 192.168.1.0/24
simpleuser
8

Список IP-адресов в локальной сети будет иметь ограниченную помощь, поскольку проблема заключается в том, что две машины пытаются использовать один и тот же IP-адрес.

Я бы посоветовал вам попытаться найти MAC-адреса двух машин, которые конфликтуют.

На каком устройстве зарегистрирован конфликт IP-адресов? Был ли это сервер, роутер и т. Д.? Некоторые платформы (Solaris и BSD) регистрируют MAC-адрес хоста-нарушителя вместе с сообщением об ошибке. Если рассматриваемый IP-адрес находится в одном из ваших пулов DHCP, также стоит проверить в журналах вашего DHCP-сервера MAC-адрес, которому он пытается назначить этот IP-адрес.

В противном случае я бы порекомендовал войти на маршрутизатор по умолчанию в подсети, в которой возникает эта проблема, и отслеживать таблицу ARP. Должен быть один IP-адрес, который переключается между несколькими MAC-адресами; опять же, эти два MAC-адреса представляют интересующие вас устройства.

Когда у вас есть MAC-адреса двух устройств, вы сможете связать их с определенными портами коммутатора. Этот вопрос предоставляет больше информации о том, как это сделать. Вы также можете использовать инструмент поиска OUI, чтобы определить производителя каждого устройства.

Мурали Суриар
источник
1
Если DHCP-сервер пытается назначить этот IP-адрес, должна быть запись в журнале, содержащая неправильный MAC-адрес.
Кара Марфия
С помощью MAC-адреса вы также можете найти производителя устройства или сетевой платы, используя standard.ieee.org/regauth/oui/index.shtml
bk1e
@ Кара, bk1e: оба хороших момента, ответ обновляется соответственно.
Мурали Суриар
5

NMap должен дать вам то, что вы ищете (или ZenMap, если вы хотите более дружественный интерфейс).

В качестве дополнительного бонуса он также обнаружит все службы, которые работают на других компьютерах, и, возможно, заставит вашу IDS (систему обнаружения вторжений) сойти с ума.

RainyRat
источник
3

Я всегда был поклонником Angry IP Scanner.
Да, не так полно, как NMAP, но может быстро показать немного данных.

Брайан
источник
Также доступно для других платформ, так как это Java. Я использую его на Mac и Linux в течение многих лет.
AveryFreeman
3

Вы не сказали, должно ли это быть приложение для Linux.

Если вы можете использовать Windows, Advanced IP Scanner бесплатен и работает очень хорошо.

Джон Ренни
источник
2

Если у вас есть доступ к маршрутизатору, который действует как шлюз по умолчанию для рассматриваемой подсети, то размещение кэша ARP на маршрутизаторе (я полагаю, что это просто «show arp» на устройстве Cisco IOS) является лучшим способом.

Другие ответы в этой теме (ping sweep, nmap, широковещательные ping и т. Д.) В наши дни, вероятно, будут неадекватными, так как многие системы используют персональные / хостовые межсетевые экраны, которые блокируют ping и т. Д.

Арп кеша маршрутизатора может все еще не быть 100%. На нем не будут отображаться хосты, которые не общались в течение периода ожидания arp или, по крайней мере, не общались в подсети в течение времени ожидания arp. Но в большинстве случаев гораздо более вероятно, что вы получите более полные результаты, чем любой другой метод.

Боб Маккормик
источник
2

С хороших (плохих?) Старых времен я использовал инструмент WS_PING - от тех же людей, которые предоставили почтенный WS_FTP.

Это всего лишь пробная версия , но вы можете взять ее с http://www.whatsupgold.com/products/ws_ping-propack/ - она ​​сделает все, что вы захотите, и сделает это с Windows 95!

Марк Хендерсон
источник
2

Я предлагаю использовать Fing . Это простой сетевой сканер, который доступен для Windows, Mac, Linux и даже для мобильных устройств для беспроводных сетей (устройства Android и iOS). И это легко можно использовать в сценариях.

amyassin
источник
1

Есть небольшое приложение, которое я использую под названием "целуй сеть", которое сканирует и генерирует карту сети pdf для вас.

Он основан на продукте для мониторинга и управления сервером под названием "The Dude", изготовленном mikrotik.

http://www.mikrotik.com/download/KTN_1.0beta1.zip
Требования: Windows XP / 2000/2003 / Vista с Internet Exporer 6 или выше.

Omegatron
источник
1

Colasoft Mac Scanner - это один из способов сделать это. Он предоставляет IP-адрес, имя и MAC-адрес.

Сумасшедший мальчик
источник