Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

алгоритм перебора ip адреса   Найти похожие ветки 

 
BVV   (2004-05-05 18:34) [0]

Подскажите пожалуйста алгоритм перебора ip адресов


 
Digitman ©   (2004-05-05 18:42) [1]

от НАЧАЛО_ДИАПАЗОНА до КОНЕЦ_ДИАПАЗОНА делать
 то-то


 
pasha_golub ©   (2004-05-05 18:51) [2]

BVV   (05.05.04 18:34)
Чего пишем? Пинговалку или чего покрепче?

Отвечу в примере с алфавитом

for a:="a" to "z" do
for b :="a" to "z" do
 for c:="a" to "z" do
   for c :="a" to "z" do
    writeln(A+B+C+D);

Ни на какие мысли не наталкивает?


 
Algol   (2004-05-05 21:50) [3]


> Ни на какие мысли не наталкивает?


Наталкивает на мысли об Assignment to FOR-Loop variable "c" %))


 
Курдль ©   (2004-05-05 22:11) [4]


> Подскажите пожалуйста алгоритм перебора ip адресов

Мы-то подскажем, но вот только что Вы с ними делать будете?
Если просто перебрать - это еще пол беды. А вот если Вы подконнектиться по всем ним захотите - у кого-то харя треснет :(


 
SergP ©   (2004-05-05 23:06) [5]

Удалено модератором
Примечание: Оффтоп...


 
BVV   (2004-05-06 14:33) [6]

В примере с алфавитом мне все понятно: адрес разбивается на четыре группы цифр (b1, b2, b3, b4), далее эти группы перебираются и из них формируется конечный ip. До всего этого я и сам доехал. Только вот нужно еще добавить контроль значении (b2, b3, b4) и если они переваливают за 255 добавить 1 к предыдущей группе (b1, b2, b3) и начать перебор опять. По отдельности для каждой группы все это я реализовал, но вот правельно соединить их вместе не получается. Если у когото есть рабочий алгоритм, просьба если не в напряг выложить. (для взлома и всяких деструктивных действий прога не предназначенна, так что можете меня просветить с чистой совестью).


 
TUser ©   (2004-05-06 14:37) [7]

Оператор цикла называется for. А больше тебе ничего не нужно. Хотя нет. Тебе еще нужен условный оператор для того, чтобы в цикле написать
if CurrentIP<>IP(TUser) then begin
  // something bad
  end;

:))


 
Algol   (2004-05-06 14:53) [8]


> BVV   (06.05.04 14:33) [6]


Я бы решал задачу совсем не так. IP адрес это просто целое в диапазоне от 0 до $FFFFFFFF. Разбивается оно на четыре части исключительно ради удобства его смотрящих.
Поэтому нужно просто сделать две функции: одна - переводящая IP-строку в IP-число и вторая - наоборот ... (кажись где-то в WinAPI такие функции и так существуют, но можно написать свои)
После чего просто перебирать обычным циклом
for i:=0 to $FFFFFFFF do
Memo1.Add(ToIP(i));


 
NAlexey ©   (2004-05-06 14:57) [9]

>Algol   (06.05.04 14:53) [8]
Истинно мыслишь...



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
3-1083146032
samovar inc.
2004-04-28 13:53
2004.05.23
значение вставить в поле базы


4-1080995477
Yozh_Programmer
2004-04-03 16:31
2004.05.23
Какое сообщение юзать?


11-1072152456
azsd
2003-12-23 07:07
2004.05.23
KolIndy install - miss IdCreditsBitmap.res?


8-1078724110
Артем К.
2004-03-08 08:35
2004.05.23
как залить градиентом регион произвольной формы


3-1083320576
Однако
2004-04-30 14:22
2004.05.23
про RzDBLookupComboBox, модальное окно и кнопку Cansel