Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

алгоритм перебора 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
1-1084055739
Box
2004-05-09 02:35
2004.05.23
Компонент ListView


1-1084302070
I.Ru.Ru
2004-05-11 23:01
2004.05.23
Выбор при открытии файла Excel


6-1080927814
Max003
2004-04-02 21:43
2004.05.23
Как создать ini файл на сервере через FTP доступ


1-1083490227
Schummi
2004-05-02 13:30
2004.05.23
Проблема с DLL!!!


9-1073815765
cyborg
2004-01-11 13:09
2004.05.23
Получение симфолов DirectIput





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский