Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 19
1
RAD XE4+

Определение оборудования в сети по IPv4-адресу

05.03.2018, 10:46. Показов 3365. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток
Заранее прошу прощения, если вдруг такая тема уже есть, но я малость слеп
Есть простая задача:
Дано - IP-адрес неизвестного устройства
Задача - определить тип устройства (роутер, хаб, комп, принтер, etc) посредством того же пинга IP-адреса
Перерыл все шо смог найти, но найти смог лишь "как определить модель принтера" через OID.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AnsiString OID = "1.3.6.1.2.1.25.3.2.1.3.1";
 
SNMP1->Active = true;
SNMP1->BroadcastEnabled=false;
SNMP1->Query->Clear();
SNMP1->Query->Host = eIP->Text; //172.1.9.5, например
SNMP1->Query->Port = 161;
SNMP1->Query->Community = "public";
SNMP1->Query->PDUType = PDUGetRequest;
SNMP1->IPVersion=Id_IPv4;
SNMP1->Query->MIBAdd(OID ,"",ASN1_OCTSTR);
 
if (SNMP1->SendQuery())
    eRESULT->Text = SNMP1->Reply->Value[0];
 
SNMP1->Query->Clear();
SNMP1->Active = false
Данный код помогает определить только модель принтера (а мне пофигу, какая модель, если честно). Мол если по этому адресу установлен принтер, то он может попытаться узнать ее модель (но не всегда). Есть подобные OID-ы для других устройств? Я лишь находил OID только для конкретных устройств конкретной модели (например cisco), а нет общего значения для, например, ПК? Ну типа "1.3.6.1.2.1.25" - это пк (не конкретная модель, а просто ПК), "1.3.6.1.2.1.26" - это модем, "1.3.6.1.2.1.25" - это принтер и так далее.
Или как по-другому реализовать поставленную задачу?
Если уже такая тема с решением есть, прошу мне тыкнуть палкой в глаз и поделиться ссылкой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2018, 10:46
Ответы с готовыми решениями:

Определение широковещательного адреса по IPv4 и маске
По адресу узла 10.193.68.59 и маске подсети 255.255.248.0 определить широковещательный адрес. я...

Разделение IPv4 сети на подсети
Здравствуйте, дано сеть 11.48.0.0/20 как найти адрес 150ой подсети? Получается адрес 1...

По заданным IP-адресу узла сети и маске определите адрес сети
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть...

Захват ipv4 в локальной сети с последующей передачей
Всем привет! Ситуация: Есть два компа в одной сети, комп(1a) подключается к компу(1b). У (1а)...

5
737 / 527 / 130
Регистрация: 31.05.2013
Сообщений: 2,975
Записей в блоге: 3
05.03.2018, 14:23 2
Доброго.
такого нет, многие устройства в обще не откликаютя на SNMP.

Но есть, если Вам не принципиально работать через SNMP, и все устройства находятся в локальных сетях. То что то можно попробовать сделать, и то не для всех устройств (хотя последние можно попробовать вычислить).
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 19
05.03.2018, 14:39  [ТС] 3
Ну мне так-то да, пофиг, SNMP пользовать или boost, я просто видел несколько софтин, которые сканили диапазон IP-адресов и выдавали результат в виде: такой-то IP = принтер (модель), такой-то IP = комп (модель), такой-то IP = камера (модель). Но исходники, ясен дело, никто не выкладывал, да и проги платные. Мне главное - реализация, ибо это крайне удобно для содержания базы IP-адресов в актуальном состоянии.
0
737 / 527 / 130
Регистрация: 31.05.2013
Сообщений: 2,975
Записей в блоге: 3
05.03.2018, 14:44 4
Да, это можно сделать через WMI запросы....притом даже наш форум (только раздел для админов), пестрит готовыми запросами.
PS. Но опять же, есть категория устройств, которые не определить, к примеру не все маршрутизаторы,сканеры и еще по мелочи.
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 19
05.03.2018, 15:13  [ТС] 5
WMI? Он разве может определить что-то в сети, помимо компа? Такого не знал, каюсь, можно хотя бы ссылку на пример? По форуму пошастал, не нашел, может ищу не там...
Я просто с WMI работал только с локальным компом (доставал инфу по железу), про сеть даже не в курсе
0
737 / 527 / 130
Регистрация: 31.05.2013
Сообщений: 2,975
Записей в блоге: 3
05.03.2018, 15:21 6
Вот как пример статья, если ее позже на форуме не забанят.

PS Помню была задача в сети, распределить ПК, на ноуты, станции, серверы и принтеры....так в итоге нашел в сети почти уже готовый скрипт.
0
05.03.2018, 15:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2018, 15:21
Помогаю со студенческими работами здесь

Сети. как узнать адрес сети, маску, ... по IP адресу?
Кто может чем помочь? Делаю лабу, нужно из диапозона IP адресов (например 10.70.25.10 -...

Подключение к сети есть, а в состоянии подключения ipv4 не подключено
подключение к сети есть а в состоянии подключения ipv4 не подключено и ipv6 не подключено. ping...

Подключение по локальной сети есть, а IPv4 и IPv6 не подключено
Привет! Может быть кому-то встречалась такая проблема - не работает подключение по локальной сети. ...

Консольное приложение для смены настроек сети (ipv4)
Всем привет. Помогите в разработке консольного приложения для смены настроек сети (ip адреса,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru