![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Я уже чеконулся
![]() Столько всяких описаний dhcp пакетов, а толком - ничего. Вопрос в следующем: какой надо сформировать пакет и на какой адрес отослать, чтобы узнать адрес dhcp сервера, если он есть. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
Что это означает можеш обьснить |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
SenkraD, ты если ничего не понимаешь, зачем спрашиваешь?
На пальцах, для особо одарённых: есть протокол dhcp, с помощью которого по сети динамически раздаются ip'шники. Раздаёт их сервер. Чтобы получить свой ip, надо стункуться к серверу. Адрес сервера берётся из конфига, который пишется вручную. Или при старте клиент посылает широковещательный запрос (на "255.255.255.255:67"), определённым образом сформированный DISCOVERY пакет, ответом на который, будет список dhcp серверов с их адресами. Так вот, я не могу понять, когда пытаюсь через сокеты делать - она меня посылает и говорит, что мол "network is unreacheble", типа нет сети - она не досягаема. В тоже время, есть такая утилита dhcleint, которая идёт стандартно в пачке с *n?x системами, которая спокойно работает. Если глядеть её лог, она что-то творит с устройством eth0 и работает через него. Вот я и не могу понять: что откуда и куда. Хотя не исключено, что она опять-таки работает, с уже заранее написанным конфигом ![]() Кто в курсе? ![]() -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Пытаюсь послать DISCOVERY пакет на 67 порт 255.255.255.255, она мне говорит "invalid argument". Дело в IP'шники - точно. Потому что при смене - посылает. Но надо-то на 255.255.255.255. В чём ошибка?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Rickert, показывай код.
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
сейчас пишет "Permission denied". root права имеются
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Порылся в инете и нашёл, что надо менять параметры сокетов.
Permission denied действительно прошёл, всё отсылается ![]() Может пакет не так формирую? Будем искать ошибку Это сообщение отредактировал(а) Rickert - 27.4.2007, 08:50 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Всё, надо было ловить на том же 67 порту, что и отправлял, хотя в мануалаха везде указано, что мол на 68 ответы приходят.
Ответ корявый: "01 01 06 00" ![]() С пакетом что-то не так? Это сообщение отредактировал(а) Rickert - 27.4.2007, 11:39 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Ладно, раз уж никто не знает, то такой вопрос: как откатать траффик, который идёт от проги, в то время как сеть ещё не поднята? То бишь, как поймать пакет, который программа пошлёт на 255.255.255.255, учитывая, что она не обладает ещё своим IP.
tcpdump не катит. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
GremlinProg |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
Здесь sockBuf должен быть типа BOOL т.е. принимать значения 1 или 0, сама опция булева. Но это так, к слову.
а при чем тут дхцп? и самое главное, зачем? -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
GremlinProg, затем чтобы поймать то, как они собрали первый пакет, чтобы понять, как его надо собирать
![]() -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
чтобы вручную принять все опции dhcp сервера нужно сначала отказаться от текущего адреса, вопрос в том, как это сделать. Ну попробуй выставить свой сетевой адрес вне пула твоего дхцп, выбери левый статический адрес, а потом тестируй.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Rickert, ну ты и писатель. Я запутался в бесконечных buf.
Он под *nix пишет, а там int. А что так? -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
вижу, что не в форточках, но для сокетов это не принципиально. к слову, в винде BOOL тот же инт, я имел ввиду его логическую сущность, а не символьную... -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |