Любой способ найти неиспользуемые IP-адреса в моей сети?


25

Как я могу найти неиспользуемые IP-адреса в моей сети? DHCP-сервер продолжает назначать один и тот же адрес, и мне нужен другой IP-адрес для тестирования моего приложения. Программное обеспечение должно работать на Windows.

Ответы:


36

Вероятно, лучший способ - использовать NMAP ( http://nmap.org/ ) в режиме сканирования ARP Ping. Использование будет что-то вроде nmap -sP -PR 192.168.0.*(или какова ваша сеть).

Преимущество этого подхода состоит в том, что он использует протокол разрешения адресов, чтобы определить, назначены ли IP-адреса компьютерам. Любая машина, которая хочет быть найденной в сети, должна отвечать на ARP, поэтому этот подход работает там, где нет проверки на пинг, широковещательные запросы и сканирование портов (из-за брандмауэров, политики ОС и т. Д.).


1
+1 Я не понял, что двоичные файлы nmap доступны в Windows; определенно используйте это, это качается.
msanford

Это сделал это точно. Надеюсь, я никого не расстроил запросом. Очевидно, Nmap также любит рассказывать, какие «интересные» порты открыты на любой из машин, с которыми он сталкивается. О: Я определенно не нуждался или не хочу этого.
Джейсон

3
По электронной почте Ой. Использование -sP в дополнение к -PR должно отключить ненужное сканирование портов.
Гильерме

-0.5 для меня, подстановочные знаки допустимы в спецификациях хоста nmap (0.5, потому что на
странице руководства

6
Удивительно, что мы описываем nmapрешение горизонтального сканирования для (новичка?) Вопроса, спрашивающего, как «протолкнуть» неиспользуемый IP-адрес в распределенной сетевой среде DHCP. Разве мы не несем ответственности (как администраторы?) За то, чтобы он предложил обратиться к локальному администратору DHCP (своему администратору?) И выделить несколько тестовых IP-адресов? СОГЛАСОВАНО, это элегантный хак, мы все любим Nmap, включая поклонников матриц. Но понимаем ли мы, что здесь происходит?
Ник

17

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

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

DHCP имеет функцию, позволяющую определенным системам каждый раз назначать один и тот же IP-адрес (другими словами, механизм назначения может быть динамическим, но сами назначения могут быть фиксированными).

Попросите вашего администратора DHCP создать несколько записей для вас. Если они говорят «нет», сделайте небольшую работу по ногам и попросите своего менеджера попросить их сделать это.

Или попросите администратора DHCP выделить диапазон IP-адресов для личного использования, но не обслуживать их вне DHCP.

Это действительно в общих интересах. Если ваш проект стоит немного дополнительных усилий, некоторая организационная любовь будет иметь большое значение.

Я не думаю, что другие авторы серьезно думали о том, что может произойти, и отчасти опасность заключается в том, что результаты конфликтов IP-адресов непредсказуемы:

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

  1. Системы ведут себя по-разному, когда у них есть конфликты IP. Некоторые бросают себя быстро. Некоторые просто помещают странные предупреждения на ваш экран. Потенциально некоторые системы будут бороться за IP-адрес.

  2. Вы не знаете, какую систему вы бы отключили. Возможно, вы отключаете важный сервер, или ваша система может иметь заглушку, которая начинает реагировать на реальный трафик. Или это может быть компьютер вашего босса или какой-то высокопоставленный инженер, который тоже занимался IP-корточками.

Вот история DNS, которая очень похожа. Я работал с умным, но иногда неприятным человеком в компании, и он понимал почти все, кроме разрешения DNS. Он настроил около 80% почтовых систем компаний таким образом, чтобы в случае незначительного простоя моя лабораторная среда в конечном итоге была сервером исходящей почты. Они быстро уловили эту проблему, но вы можете себе представить, насколько это может быть плохо, если моя система не поставила в очередь почту за брандмауэром.


2
@benc, Отлично! это первый ответ, который я считаю рациональным при сканировании неиспользуемых IP-адресов в среде DHCP. +1 за мыслить как администратор на ServerFault.
Ник

Кажется, я заметил этот вопрос только потому, что вы ответили сегодня! Кажется, что все закончилось без этого в прошлом месяце!
Ник

Да. Они не могут сказать, что я их не предупреждал.
Бен

Обидно, что это не выбранный ответ - потому что он отвечает на реальный вопрос. +1


3

Однажды в моей компании кто-то случайно установил свой IP на основной коммутатор в нашей серверной комнате.

Чистый результат:
"WTF произошел с сетью1?!?!"

Мораль истории: Пожалуйста, поговорите со своими админами. Если вы работаете в инженерной фирме, скорее всего, у них есть процесс, чтобы дать вам адрес или даже ваш собственный диапазон.


+1 - это истории, которые пугают людей вести себя правильно. Извините, это случилось с вами в реальной жизни.
Бен

2

Вы в основном должны варианты:

  • Спросите у своего DHCP-сервера, какие адреса он уже назначил (через веб-интерфейс, интерфейс Cli или любой другой интерфейс, используемый вашим сервером). Это будет работать, если сам узел в вашей сети использует DHCP для настройки (то есть не имеет каких-либо самостоятельно назначенных IP-адресов). Очевидно, что вам также необходим доступ к конфигурации маршрутизатора, который, по-видимому, отсутствует.

  • Пингуйте (или просматривайте порты) всю свою подсеть и смотрите, кто отвечает. Это может не сработать, если на определенных узлах отключен ICMP-эхо-запрос (т. Е. «Пинг блокировки»).


Это верно, у меня нет доступа к серверу DHCP. Любые предлагаемые утилиты для проверки связи с подсетью? Я попробовал предложение "ping 224.0.0.1", но оно сообщает "Общий сбой".
Джейсон

Я боюсь, что у меня всегда есть доступ к машине Linux для таких вещей, как диагностика сети (поэтому я не так полезен для синтаксиса Windows). Нажмите Google и посмотрите, что вы найдете; там, конечно, есть хороший бесплатный графический инструмент.
msanford

У Гильерме это ниже, используйте nmap nmap.org/download.html, хотя синтаксисnmap -sP 192.168.0.1-254
msanford

1

Как упоминалось в других ответах, сканирование ping или сканирование NMAP в вашей локальной подсети, вероятно, является лучшим способом определения свободных IP-адресов, если у вас нет доступа к DHCP-серверу.

Однако , пожалуйста, имейте в виду две вещи.

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

  2. Смешивание статической конфигурации и DHCP в одной подсети может вызвать проблемы. Если вы настраиваете устройство с IP-адресом, который вы считаете «свободным» при сканировании подсети и т. Д., И DHCP-сервер впоследствии передает этот адрес другому узлу, ваша машина и «реальный» владелец IP-адреса будут постоянно бороться у кого должна быть запись ARP для этого IP. Это приведет к прерывистой связи для обеих машин. (И снова возможный визит от вашего дружелюбного соседского администратора).

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


Спасибо за советы. Мне известно о возможности выдачи адреса DHCP-сервером кому-либо еще, поэтому я не планирую хранить его надолго. Мне действительно нужен другой IP-адрес. Брандмауэр Cisco проверяет мой IP-адрес, чтобы узнать, проходил ли я через него в течение последних 12 часов, и если да, то никогда не предоставляет мне средства для выхода из системы. Единственный способ вернуться к экрану входа в систему - позволить истечь этому 12-часовому интервалу или получить новый IP-адрес. Я сделал это однажды, переключившись на беспроводное соединение, но теперь мне нужен еще один выстрел в брандмауэре, чтобы я мог проверить свой код.
Джейсон

1

Проверьте финг. Раньше его называли lookatlan. Это небольшая установка, но она будет сканировать сеть и предоставит вам простой графический интерфейс, чтобы увидеть, что используется, а что нет.


0

Если вы используете Windows Server DHCP, то программа просмотра DHCP показывает используемые IP-адреса. Возможно, у вас очень маленький диапазон IP, попробуйте расширить диапазон.

У меня была похожая проблема при использовании маршрутизатора для назначения IP-адресов. Мое решение, я расширил диапазон, и это, казалось, сработало.


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

В точку. Я пишу приложение, которое автоматизирует вход через брандмауэр Cisco. После того, как я вошел в систему в течение дня, я не могу выйти. Так как мне нужно тестировать разные сценарии в моем коде, мне нужно иметь возможность получить другой IP-адрес, поэтому мне предлагается снова войти в систему.
Джейсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.