Форум: "Основная";
Текущий архив: 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