IP-камера, как обнаружить его в сети? [закрытый]

Я создаю программу для разговора с IP-камерой этой модели:

CVUL-I125

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

однако я не могу найти хорошей документации о том, как обнаружить, что эта камера находится в сети, ни какой конкретный IP-адрес у нее есть.

до сих пор единственный инструмент, который у меня есть, который находит его в комплекте программное обеспечение Windows.

Я полагаю (надеюсь!) что есть лучший способ, чем просто повторять все IP-адреса в диапазоне и видеть, есть ли что-то, что выглядит как интерфейс камеры.

кто-нибудь знает, как это сделать?

есть ли известный API для такого рода вещей?

обратите внимание, что так как это IP камера, она не подключается непосредственно к моему компьютеру, и, таким образом, нет ничего установленного локально, я могу говорить к.

вот еще некоторые подробности:

  • камера и программное обеспечение, которое я делаю, будут проданы, что означает, что я не могу полагаться на какой-либо конкретный тип настройки на месте клиентов, за исключением работы DHCP
  • у камеры нет документации API, которую я могу найти, если у кого-то есть более сильный google-fu, чем у меня на этот счет, пожалуйста, просветите меня
  • камера имеет поддержку DHCP, поэтому она фактически подключается к сети успешно, вопрос как я могу надежно найти его после этого
  • я не знаю, есть ли у него имя хоста, документация ничего не говорит, и мой собственный DHCP-сервер перечисляет только MAC-адрес для него

3 ответов


согласно ссылке, которую вы предоставили, эта камера способна UPnP.

UPnP-это протокол, который имеет несколько методов обнаружения/поиска устройств:

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

UPnP Search Responses содержит URL-адрес HTTP для получения XML-описания устройства. Хост в HTTP URL обычно является IP/hostname устройств.

посмотреть UPnP spec.

вы не говорите, какую ОС / язык вы используете - так что просто небольшой список API и библиотек:


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

эта процедура отличается для каждого поставщика DHCP. Знаете ли вы, что DHCP будет работать в сети?

В Противном Случае Я предложите установить простой DHCPd. Он должен быть легко настраивается, чтобы реагировать на правильное значение опции 43 и говорить с вашим приложением.


похоже, что он использует DHCP (иначе он вообще не был бы в вашей сети).

Я использую этот инструмент все время:

http://www.angryip.org/w/Home

"Discovery API" будет прослушивать порт DHCP 68, когда камера пытается подключиться к сети. Я бы просто взял трассировку Wireshark или использовал вышеупомянутый инструмент ip-сканирования.