Доступ к устройству
От: 3m-soft  
Дата: 28.01.16 16:52
Оценка:
Всем благ!

1. Есть устройство, которое подключается в сеть и имеет какой-нибудь статический адрес.
2. Есть прога от производителя устройства, которая помогает винде обнаружить его. Она узнает IP адрес и что-то подстраивает в винде.
Адрес постоянный и уже после первого обнаружения он конечно известен, однако каждый раз после перезагрузки системы её необходимо запускать чтобы с устройством можно было соединиться.

Хочу реализовать её функционал в своей программе. Выяснил, что она шлет broadcast пакет по определенному порту, устройство отвечает ей пакетом, в котором сообщает свой MAC адрес явным образом. Таким образом она узнает IP адрес и MAC адрес. Далее она добавляет запись в ARP таблицу.
Сделал у себя тоже самое. Однако после работы моей проги в Wireshark видно, что пакеты уходят на MAC адрес шлюза и конечно связь с устройством не устанавливается. При этом после её работы пакеты уходят на правильный MAC адрес. Получается, она делает что-то ещё. Но что???
Re: Доступ к устройству
От: Stanislaw K СССР  
Дата: 28.01.16 17:25
Оценка:
Здравствуйте, 3m-soft, Вы писали:


3S>Хочу реализовать её функционал в своей программе. Выяснил, что она шлет broadcast пакет по определенному порту, устройство отвечает ей пакетом, в котором сообщает свой MAC адрес явным образом. Таким образом она узнает IP адрес и MAC адрес. Далее она добавляет запись в ARP таблицу.


Не она. ARP автоматически пополняется.

3S>Сделал у себя тоже самое. Однако после работы моей проги в Wireshark видно, что пакеты уходят на MAC адрес шлюза и


А ты точно broadcast шлешь? А почему оно в шлюз уходит?

Покажи wireshark дамп работы этой проги и для сравнения wireshark дамп работы твоей проги.
Все проблемы от жадности и глупости
Re[2]: Доступ к устройству
От: 3m-soft  
Дата: 28.01.16 17:35
Оценка:
Здравствуйте, Stanislaw K, Вы писали:

SK>Не она. ARP автоматически пополняется.


Думаю, ARP автоматически пополняется динамическими записями, а новая запись статическая.

SK>А ты точно broadcast шлешь? А почему оно в шлюз уходит?


Разумеется не broadcast в шлюз уходит и разумеется я broadcast посылаю, ведь мне устройство отвечает.
В том и дело, что broadcast пакеты до него доходят, а адресованные именно ему пакеты уходят в шлюз.
Лог Wireshark на работе остался, завтра могу показать.
Отредактировано 28.01.2016 17:45 3m-soft . Предыдущая версия .
Re: Доступ к устройству
От: watchmaker  
Дата: 28.01.16 18:16
Оценка: 3 (1)
Здравствуйте, 3m-soft, Вы писали:


3S>1. Есть устройство, которое подключается в сеть и имеет какой-нибудь статический адрес.

Адрес-то принадлежит текущей сети? Понятное дело, что при использовании DHCP или RA это было бы так. А этот статический откуда берётся? Задан производителем и никем никогда не менялся?

3S> Однако после работы моей проги в Wireshark видно, что пакеты уходят на MAC адрес шлюза

Ну значит так сказано в таблице маршрутизации. Что опять же возможно, если адрес устройства не принадлежит текущей сети, а следовательно должен маршрутизироваться.
Проверяй таблицу. И если это подтвердится (и нет возможности настроить нормальный IP-адрес на устройстве), то добавляй в таблицу link-local запись для данного IP.
Re[3]: Доступ к устройству
От: Stanislaw K СССР  
Дата: 28.01.16 19:37
Оценка:
Здравствуйте, 3m-soft, Вы писали:

3S>Здравствуйте, Stanislaw K, Вы писали:


SK>>Не она. ARP автоматически пополняется.


3S>Думаю, ARP автоматически пополняется динамическими записями, а новая запись статическая.


SK>>А ты точно broadcast шлешь? А почему оно в шлюз уходит?


3S>Разумеется не broadcast в шлюз уходит и разумеется я broadcast посылаю, ведь мне устройство отвечает.

3S>В том и дело, что broadcast пакеты до него доходят, а адресованные именно ему пакеты уходят в шлюз.
3S>Лог Wireshark на работе остался, завтра могу показать.
Все проблемы от жадности и глупости
Re[2]: Доступ к устройству
От: 3m-soft  
Дата: 29.01.16 04:15
Оценка:
Здравствуйте, watchmaker, Вы писали:

W>Адрес-то принадлежит текущей сети? Понятное дело, что при использовании DHCP или RA это было бы так. А этот статический откуда берётся? Задан производителем и никем никогда не менялся?

Адрес НЕ принадлежит текущей сети, отсюда и проблемы. Адрес задан производителем. Технически я его изменить могу, потому что я обладаю необходимой квалификацией, но мне им не пользоваться. Пользоваться им будут те, кто ТОЧНО его настроить не смогут. Поверьте мне на слово — ТОЧНО НЕ СМОГУТ!!! Производитель, видимо, тоже это понимает, потому и выпустил поисковую утилиту.

W>Ну значит так сказано в таблице маршрутизации. Что опять же возможно, если адрес устройства не принадлежит текущей сети, а следовательно должен маршрутизироваться.

W>Проверяй таблицу. И если это подтвердится (и нет возможности настроить нормальный IP-адрес на устройстве), то добавляй в таблицу link-local запись для данного IP.
Об этом можно поподробнее, пожалуйста. Возможно, прога производителя это и делает.
Re[2]: Доступ к устройству
От: 3m-soft  
Дата: 29.01.16 04:44
Оценка:
Здравствуйте, watchmaker, Вы писали:

W>Ну значит так сказано в таблице маршрутизации. Что опять же возможно, если адрес устройства не принадлежит текущей сети, а следовательно должен маршрутизироваться.

W>Проверяй таблицу. И если это подтвердится (и нет возможности настроить нормальный IP-адрес на устройстве), то добавляй в таблицу link-local запись для данного IP.
Всё. Ларчик то просто открывался. Просто добавь воды маршрут. Спасибо большое.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.