IP-камера, как обнаружить его в сети? [закрытый]
Я создаю программу для разговора с IP-камерой этой модели:
Это имеет простой веб-интерфейс, и я успешно поговорил с ним, чтобы контролировать его, и захватить видео и снимки с него.
однако я не могу найти хорошей документации о том, как обнаружить, что эта камера находится в сети, ни какой конкретный 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 (иначе он вообще не был бы в вашей сети).
Я использую этот инструмент все время:
"Discovery API" будет прослушивать порт DHCP 68, когда камера пытается подключиться к сети. Я бы просто взял трассировку Wireshark или использовал вышеупомянутый инструмент ip-сканирования.