Определение параметров локалки в которую включен девайс
Определение параметров локалки в которую включен девайс
Здравствуйте!, имеется локальная сеть без DHCP сервера, есть девайс, который должен работать в этой ( и не только этой сети ), с DHCP все понятно, а вот как девайсу выбрать себе IP из диапазона адресов конкретной локальной сети понять не могу. Может кто подскажет?
Спасибо.
Спасибо.
Re: Определение параметров локалки в которую включен девайс
Может, для начала скажете, что за секретный такой девайс?
Re: Определение параметров локалки в которую включен девайс
девайс прост: стоит МК stm32f107 + PHY микросхема DP83848, на контроллере поднят стек lwIP, так вот с DHCP все работает все понятно, и если жестко задать адрес, маску и шлюз сети тоже работает, но это если я знаю все эти параметры сети. А вот если подключусь в сеть о которой мне не известно ничего, как в ней определить какой диапазон адресов используется?
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Определение параметров локалки в которую включен девайс
Видимо, однозначно определить не получится. Если ПК подключается к такой сети, то нужно знать IP шлюза и маску этой подсети как минимум. Для определения свободного IP можно "пинговать" все по порядку.
А если у вас нет никакой информации даже о адресе шлюза - то ничего не сделать.
А если у вас нет никакой информации даже о адресе шлюза - то ничего не сделать.
only pure true norwegian blackx 
Re: Определение параметров локалки в которую включен девайс
zenek, единственный вариант - сделать интерфейс, где вручную можно указать параметры сети.
Если вы включаетесь в неизвестную сеть, то никак. Ну или разворачивать полноценную систему, со сканерами диапазонов и прочими хакерскими штуками.
Если вы включаетесь в неизвестную сеть, то никак. Ну или разворачивать полноценную систему, со сканерами диапазонов и прочими хакерскими штуками.
Re: Определение параметров локалки в которую включен девайс
Похоже придется ручками забивать себе параметры сети при подключении к сети без DHCP сервера... А так хотелось автоматизировать все это дело.
Re: Определение параметров локалки в которую включен девайс
Вот для автоматизации как раз и придумали DHCP 
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Определение параметров локалки в которую включен девайс
Можно попробовать ловить все пакеты сети и анализировать их. По накопленным данным делать выводы.
Ставим плюсы: )
Re: Определение параметров локалки в которую включен девайс
Я и говорю, разворачивать полноценную систему со всякими хакерскими штуками. 
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Определение параметров локалки в которую включен девайс
ну мне казалось это не таким уж сложным) тем более с уже работающим стеком.
Ставим плюсы: )
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Определение параметров локалки в которую включен девайс
да что там хакерского...
Поднять серверный сокет, прибиндить ему 0 айпишник и ввести в состояние листен.
Первый же пришедший пакет ему покажет, откуда пришло - айпишник , но порт должен быть известен заранее.
Поднять серверный сокет, прибиндить ему 0 айпишник и ввести в состояние листен.
Первый же пришедший пакет ему покажет, откуда пришло - айпишник , но порт должен быть известен заранее.
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Определение параметров локалки в которую включен девайс
А адрес шлюза то из этого как получить?
only pure true norwegian blackx 
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Определение параметров локалки в которую включен девайс
адрес шлюза - это 1 в конце, широковещалка 255, особенно не порезвишься ...
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Определение параметров локалки в которую включен девайс
Ну это как правило так. Хочется то общий алгоритм поиска, подходящий для любых сетей.
only pure true norwegian blackx 
Re: Определение параметров локалки в которую включен девайс
urry писал(а):адрес шлюза - это 1 в конце, широковещалка 255, особенно не порезвишься ...
Ой, ни первое, ни второе аксиомой не является.

Адрес шлюза в сети без DHCP анализом пакетов получить нельзя вообще.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Определение параметров локалки в которую включен девайс
стоп, стоп, стоп...
Поправьте меня, где я неправ.
Пусть у нас 30 устройств со стеком lwip - без дополнительных капиталовложений стек поддерживает не более 5 сокетов.
Серверное устройство требует 30+1 сокетов, не влезаем - следовательно, у нас 30 клиентских сокетов и 1 серверный - и он не наш, аппаратно его поддержать не сможем физически.
Или как?
Поправьте меня, где я неправ.
Пусть у нас 30 устройств со стеком lwip - без дополнительных капиталовложений стек поддерживает не более 5 сокетов.
Серверное устройство требует 30+1 сокетов, не влезаем - следовательно, у нас 30 клиентских сокетов и 1 серверный - и он не наш, аппаратно его поддержать не сможем физически.
Или как?
Re: Определение параметров локалки в которую включен девайс
И причём тут сокеты?
У нас есть
TCP адрес A.B.C.D и номер порта Z, однозначно определяющий сокет.
Пусть МК устройство с примитивным стеком не умеет более 5 сокетов ( т.е. не может поддерживать более 5 одновременно открытых соединений), но
1) таких устройств в сети может быть миллиарды и они все могут работать одновременно
2) кроме МК в сети могут быть вполне "разумные" устройства, которые могут поддерживать десятки тысяч одновременно открытых сокетов, и могут быть маршрутизаторы (шлюзы), которые вообще ничего не знают про то, что за информация через них проходит. Сеть может быть нарезана "по понятиям", в смысле соответственно устаревшим правилам (первая цифра от 1 до 126 - значит это сеть класса А, 16 миллионов хостов), но чаще нарезается исходя из здравого смысла ( мне провайдер выделил 6 адресов из сети 94.ХХХ.ХХХ.128, с 129 по 134, а вовсе не сеть класса А )
Но и наоборот, 10-е сети никто, как правило локально не нарезает(а что, не жалко) , в результате узнать такие тонкости без DHCP, просто анализируя трафик, попросту невозможно. Не, там конечно, можно нагородить эвристики, но из любого эвристического правила немедленно найдется туча исключений.
У нас есть
TCP адрес A.B.C.D и номер порта Z, однозначно определяющий сокет.
Пусть МК устройство с примитивным стеком не умеет более 5 сокетов ( т.е. не может поддерживать более 5 одновременно открытых соединений), но
1) таких устройств в сети может быть миллиарды и они все могут работать одновременно
2) кроме МК в сети могут быть вполне "разумные" устройства, которые могут поддерживать десятки тысяч одновременно открытых сокетов, и могут быть маршрутизаторы (шлюзы), которые вообще ничего не знают про то, что за информация через них проходит. Сеть может быть нарезана "по понятиям", в смысле соответственно устаревшим правилам (первая цифра от 1 до 126 - значит это сеть класса А, 16 миллионов хостов), но чаще нарезается исходя из здравого смысла ( мне провайдер выделил 6 адресов из сети 94.ХХХ.ХХХ.128, с 129 по 134, а вовсе не сеть класса А )
Но и наоборот, 10-е сети никто, как правило локально не нарезает(а что, не жалко) , в результате узнать такие тонкости без DHCP, просто анализируя трафик, попросту невозможно. Не, там конечно, можно нагородить эвристики, но из любого эвристического правила немедленно найдется туча исключений.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Определение параметров локалки в которую включен девайс
я вот все время думаю, как это можно продать...
Сокеты - наиболее популярная форма общения в сети.
Как узнать при dhcp какой сокет тыркнул пакет ?Ну айпишник, увидим, а дальше ? Если он роздан автоматом ?
Сокет -он мак адрес не показывает, который ручками задан, только опросом что-то можно выяснить.
Автономная система, согласен, давно уже не юзает классическое распределение, впрочем, это каждый школьник знает
http://ru.wikipedia.org/wiki/%D0%91%D0% ... 0%B8%D1%8F
ну и ставить BGP на 107-407 стм никто не будет
Немного другие задачи. Где ниша именно стм ?
Учитывая наличие там всяких переходников уарт- езернет, микросхем enc60
Сокеты - наиболее популярная форма общения в сети.
Как узнать при dhcp какой сокет тыркнул пакет ?Ну айпишник, увидим, а дальше ? Если он роздан автоматом ?
Сокет -он мак адрес не показывает, который ручками задан, только опросом что-то можно выяснить.
Автономная система, согласен, давно уже не юзает классическое распределение, впрочем, это каждый школьник знает
http://ru.wikipedia.org/wiki/%D0%91%D0% ... 0%B8%D1%8F
ну и ставить BGP на 107-407 стм никто не будет
Немного другие задачи. Где ниша именно стм ?
Учитывая наличие там всяких переходников уарт- езернет, микросхем enc60
-
Tolmi
- Говорящий с текстолитом
- Сообщения: 1658
- Зарегистрирован: Вс дек 11, 2011 05:25:04
- Откуда: Киев, Украина
- Контактная информация:
Re: Определение параметров локалки в которую включен девайс
urry писал(а):Сокет -он мак адрес не показывает, который ручками задан, только опросом что-то можно выяснить.
На прикладном уровне абсолютно неважно, какой там MAC адрес у отправителя. А если отправитель не рядом в одной сети, а за маршрутизатором, да и еще и в другой среде передачи, то и вообще нет смысла говорить об этом. А делать недоделки, которые работают только в пределах одной, строго определенной сети как-то бессмысленно.
ну и ставить BGP на 107-407 стм никто не будет
Ну и при чём тут BGP ? BGP нужен на маршрутизаторах, да ещё и не просто маршрутизаторах, а имеющих более одной связи с интернетом. А это однозначно совсем другие устройства с другой ценой.
Где ниша именно стм ?
Учитывая наличие там всяких переходников уарт- езернет, микросхем enc60
Ниша в датчиках, управляющих автоматах и исполнительных устройствах с единой, универсальной и весьма дешевой средой передачи - Ethernet
Но их нишевость не значит, что нужно отступаться от стандартов, которые давно работают и начинать изобретать велосипеды с треугольными колесами.
In theory, theory and practice are the same. In practice, they're not.