|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сообщение о конфликте ip адресов
драсте
мне нужно написать программу следящюю когда возникает конфликт ip адресов подскажите через какое сообщение программа может узнать о наступлении конфликта |
#2
|
|||
|
|||
Не думаю, что тут будет какое-нить стандартное сообщение.
Скорее всего придется лезть в св-ва сетевого адаптера и получать информацию оттуда. А нафига тебе это надо, ведь винда сама тебе сообщит об этом на машине, которая попробует получить уже занятый адрес. Да и глупо это, кроме серверов, все давно уже по умолчанию получают адреса по DHCP, а тут уже DHCP-сервер обеспечит отсутсвие конфликтов (ну если вообще адресов хватит, но случай, когда более 254 компов в одной подсети - это поискать надо). |
#3
|
|||
|
|||
правильно
DHCP сама проследит за тем шоб не было двойников и в основном все так и бывает но изредка у провайдера бывает глюк и DHCP некоторым на время прекращает дарить ip адреса если ip прописать вручную то все работает через какое то время вернеться щасте но не всегда хочеться ждать вот я и хотел сделать программу которая следит за свободными адресами она сама себе назначает адрес наиболее свободный и как тока кто то пытаеться включиться на этот адрес быстро уходит на другой |
#4
|
|||
|
|||
Хм... непонятно как к этому подойти.
В принципе, можно попробовать послать arp-запрос. Но я бы скорее копал бы в сторону NMP или чего-то подобного. Просто спрашивать у роутера (или DHCP) о свободности адреса. А понять, что не получилось получить адрес - в таком случае винда присваивает себе адрес из определенной подсети, прописанной жестко (поищи в гугле). Ну или по крайней мере, что адрес не из подсети роутера. Ну вот как-то так. |
#5
|
|||
|
|||
сильно вмешиваться в дело админа я не могу я просто пользователь
и посмотреть список розданых адресов нет возможности ай пи раздает керио я переподключаюсь результата адрес 169.... с этим адресом он не куда не лезит |
#6
|
|||
|
|||
Ну вот в ту сторону и копай.
Т.е. как только получил адрес 169.x.x.x, то значит есть проблемы. Далее, если у тебя стандартная сеть, т.е. что-то типа 192.168.х.х, то просто можно попробовать пингануть весь диапазон адресов для того, что бы выяснить - свободен адрес или нет. Там будет всего 255 адресов. |
#7
|
|||
|
|||
сценарий программы будет таким
когда все нормально работает программа пингует весь диапазон составляет список менее всего занятых адресов при получении адреса 169... произойдет событие не получен адрес тогда пробрама назначит менее занятый адрес будет пользоваться а когда она зафиксируе простой компа будет пытаться включить автоматический адрес |
#8
|
|||
|
|||
Чес говоря вопрос не понял, можно более корректно.
|
#9
|
|||
|
|||
более кортко
хочу написать програму которая сама себе назначает ip адрес но при этом как тока кто то включаеться на этот этот адрес программа меня делает другим ip адресом |
#10
|
|||
|
|||
Программа НЕ НАЗНАЧАЕТ себе адрес. Адрес получает компьютер. При динамическом назначении IP адресов и правильной конфигурации сети вообще такой ситуации быть не должно, все отслеживает DHCP сервер.
|
#11
|
|||
|
|||
я в начале писал шо проблема в том шо DHCP не всегда нормально работает
поэтому появилась необходимость самому себе назначать адрес |
#12
|
|||
|
|||
Значит неправильно сконфигурирован DHCP. Например, не зарезервированны статические IP адреса - что бы он их не выдавал.
|
#13
|
|||
|
|||
я не могу вмешиваться в работу провайдера
а там глюки бывают и он раздавать перестает через некоторое время все востановиться но не хочеться ждать |