Як я зробив iPhone-сканер мережі для пошуку камер Hikvision і Dahua

На об’єкті часто потрібна проста відповідь: які пристрої підключені до мережі, де камери й на якій адресі відкривається реєстратор? Для цього я зазвичай діставав ноутбук. А потім вирішив зробити власний інструмент для телефона, який і так завжди поруч.

Так з’явився mrVanich Network Scanner — мій застосунок для iPhone, орієнтований на діагностику локальної мережі та пошук пристроїв відеоспостереження. Це проєкт у розробці: я використовую його, перевіряю на практиці й поступово додаю можливості. Цю статтю також доповнюватиму разом із програмою.

Сторінка проєкту: github.com/mrvanich/iphone_network. На момент підготовки статті репозиторій містить опис у README; інструкцію зі збирання можна буде доповнити після публікації файлів проєкту.

Навіщо мені власний сканер на iPhone

Під час монтажу або обслуговування відеоспостереження не завжди знаєш поточні адреси всіх камер. Частину пристроїв налаштовували давно, документація могла загубитися, а DHCP міг видати нові адреси.

Хотілося мати на телефоні інструмент, з яким можна підключитися до потрібного Wi-Fi, перевірити параметри мережі, знайти доступні пристрої й відокремити камери від решти обладнання. Без обов’язкового ноутбука на кожному такому кроці.

Застосунок не замінює всі фірмові утиліти Hikvision або Dahua. Для активації, зміни мережевих параметрів і специфічних функцій виробника вони можуть залишатися потрібними. Моя мета — зручний перший огляд мережі з iPhone.

Що вже є в інтерфейсі

У програмі чотири основні вкладки: «Мережа», «Сканер», «Мій IP» і «Додатково». Такий поділ дозволяє спочатку перевірити власне підключення, потім перейти до пристроїв і вже після цього — до камерних інструментів.

Моя мережа: зрозуміти, куди підключений телефон

Тут зібрані адреса iPhone у Wi-Fi, маска, підмережа, шлюз, діапазон хостів і broadcast. Окремо відображаються доступні дані IPv6 та мобільного інтерфейсу.

Це корисно ще до сканування: можна побачити, чи телефон у потрібній підмережі. Якщо камери відокремлені VLAN або іншою мережею, самого факту підключення до Wi-Fi недостатньо для доступу до них.

Вкладка Моя мережа: параметри підключення iPhone, мережеві адреси приховані
Параметри підключення. Адреси приховані перед публікацією.

У нижній частині екрана є підказки про мережеві налаштування iOS. Вимикати приватну Wi-Fi-адресу чи функції захисту від відстеження лише заради звичайного сканування не потрібно: змінювати їх варто тільки для конкретної задачі діагностики.

Сканер: пристрої, порти й окремий список камер

На екрані сканування видно кількість знайдених пристроїв, лічильники камер, Hikvision і Dahua, а також перемикач «Усі / Камери». Картки пристроїв показують адресу, доступні дані та відкриті порти.

На наведеному прикладі знайдено 11 пристроїв і 5 камер. Ці числа описують саме показане сканування, а не граничні можливості програми чи гарантований результат в іншій мережі.

mrVanich Network Scanner: результати сканування, лічильники камер Hikvision і Dahua; IP-адреси приховані
Результати пошуку та фільтр камер. Реальні IP-адреси приховані.

Важлива деталь зі скріншота: «MAC: недоступний» — нормальний можливий стан. Не варто обіцяти, що iPhone-застосунок завжди отримає MAC-адресу кожного сусіднього пристрою. Список має залишатися корисним і без цього поля.

Мій IP: зовнішня адреса підключення

Окрема вкладка показує зовнішню IP-адресу, час оновлення та супровідні дані: країну, регіон, місто, провайдера, часовий пояс і hostname, коли ці відомості доступні.

Це адреса виходу в інтернет, а не адреса камери в локальній мережі. Місто чи регіон у таких даних не слід сприймати як точне фізичне місцезнаходження телефона.

Екран зовнішнього IP з інформацією про підключення; адреса й hostname приховані
Зовнішнє підключення. Приховано IP та hostname, у якому повторювалася адреса.

Додатково: RTSP, ONVIF та історія

На екрані додаткових можливостей зібрані три напрямки:

  • Камера: кадр і RTSP — інструменти для кадру з камери, RTSP-посилання та відкриття у VLC.
  • Перевірка ONVIF — отримання відомостей про виробника, модель, прошивку та серійний номер за підтримки камерою й за наявності потрібного доступу.
  • Історія сканувань — збережені результати та перегляд змін між скануваннями.
Додаткові інструменти застосунку: кадр і RTSP, перевірка ONVIF, історія сканувань
Окремий розділ камерних інструментів і результатів сканування.

Наявність пункту в інтерфейсі не означає сумісність із кожною моделлю. RTSP та ONVIF залежать від налаштувань камери, її прошивки й облікових даних. Перевірку на конкретному обладнанні я продовжую.

Як працює пошук Hikvision і Dahua

Базовий підхід описаний у README проєкту: звернення до адрес підмережі, перевірка характерних портів і аналіз HTTP-відповідей.

Спочатку програма визначає мережу телефона. Умовний приклад — 192.168.50.0/24. Потім перевіряє доступність потрібних служб на адресах цього діапазону.

Порт Що перевіряється
80 / 443 HTTP або HTTPS інтерфейс пристрою
554 Типовий порт RTSP
8000 Порт, характерний для служб обладнання Hikvision
37777 Порт, характерний для служб обладнання Dahua

Відкритий порт сам собою не доводить, що перед нами камера певного виробника. Для уточнення використовується fingerprinting: ознаки у відповіді вебсервера, заголовках і вмісті сторінки.

Звідси й обмеження: змінені порти, вимкнений вебінтерфейс або незнайома відповідь можуть завадити розпізнаванню. Позначка «Невідомий пристрій» чесніша за впевнене, але хибне визначення моделі.

Особливості iOS: локальна мережа та multicast

Програму я пишу на Swift з інтерфейсом SwiftUI. У базовому сканері обрав звичайні з’єднання за IP та HTTP-запити, щоб не будувати весь пошук навколо multicast-виявлення.

Тут важливо розрізняти дві речі. Спеціальний multicast entitlement стосується відповідних multicast-операцій. А дозвіл користувача на доступ до локальної мережі потрібен застосунку для роботи з локальними пристроями. Відмова від multicast не означає, що програма працюватиме без дозволу Local Network.

Якщо сканер не бачить пристроїв, серед перших перевірок мають бути дозвіл локальної мережі в iOS, правильний Wi-Fi, ізоляція клієнтів точки доступу, VLAN, VPN і правила firewall. Деталі моделі доступу описані в документації Apple про Local Network Privacy.

Як я використовую це на об’єкті

  1. Підключаю iPhone до Wi-Fi, з якого має бути доступ до камер.
  2. У вкладці «Мережа» перевіряю адресу, підмережу та шлюз.
  3. Запускаю сканування й переглядаю знайдені пристрої.
  4. Переходжу до фільтра «Камери», порівнюю визначення виробника та доступні порти.
  5. За потреби використовую камерні інструменти й повертаюся до результатів попередніх сканувань.

Цей порядок допомагає відділити проблему доступу до мережі від проблеми конкретної камери. Водночас сканування не гарантує виявлення всіх пристроїв: частина може не відповідати на перевірювані порти або бути недоступною з поточної мережі.

GitHub, розвиток проєкту та оновлення статті

Проєкт має окрему сторінку: mrvanich/iphone_network на GitHub. Там можна стежити за змінами й описом програми. Якщо в репозиторії відкриті Issues, пропозиції та повідомлення про помилки зручно залишати там.

У власному робочому сценарії я встановлюю програму через Xcode на iPhone. Повну інструкцію для інших користувачів, вимоги до версій iOS/Xcode та порядок встановлення додам окремо, коли буде опубліковано відповідні файли й перевірено цей шлях.

Далі хочу працювати над швидкістю сканування, розпізнаванням більшої кількості пристроїв і перевіркою камерних функцій на різних моделях. Тут відділятиму вже перевірені можливості від планів.

Журнал оновлень

  • 6 листопада 2026 року: перша версія статті з оглядом інтерфейсу, принципу пошуку й посиланням на проєкт. Мережеві адреси на опублікованих зображеннях приховані. Стаття буде доповнюватися.

Поруч із цією темою корисний мій матеріал про go2rtc для перегляду IP-камер: сканер допомагає знайти пристрій, а go2rtc — організувати роботу з його відеопотоком.

Скануйте власні мережі або мережі, на перевірку яких маєте дозвіл.