Главная страница
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.033 c
1-1084020840
Kair
2004-05-08 16:54
2004.05.23


14-1083316983
mfender
2004-04-30 13:23
2004.05.23
Развод с широким размахом?


1-1083743709
half_litre
2004-05-05 11:55
2004.05.23
Переход с Delphi 3 на Delphi 7


6-1080549216
Creator
2004-03-29 12:33
2004.05.23
Client и Server Socket


3-1082550210
S@shka
2004-04-21 16:23
2004.05.23
Выборка по полю TDateTime FireBird 1.5