Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2016, 12:23   #1
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию Простейшая задачка: перебрать IP адреса по заданному диапазону

Здрасьте всем, подскажите, есть ip вида 0.0.1.1-0.0.255.255 нужно получить список всех адресов в этом промежутке.
Код:
brgin
var
i,i1,i2:integer;
for i:=0 to 255
begin
ts.add('0.0.0'+inttostr(I)+inttostr(I1));
for i1:=0 to 255
begin
ts.add('0.0.0'+inttostr(I)+inttostr(I1));
делаю так, но вот беда доходит до 256. если уменьшить до 254 до доходит до 255. Но:
0.0.0.254
0.0.1.255
Делает так. Беда еще в том что первые 2е строки одинаковые.
Пишу с работы код в ручную вбивал..
niva622 вне форума Ответить с цитированием
Старый 22.03.2016, 12:31   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=1 to 255 do
  for j:=1 to 255 do
    ts.add(Format('0.0.%d.%d',[i,j]));
65000 строк получишь. Что делать с ними будешь?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 22.03.2016 в 12:33.
Аватар вне форума Ответить с цитированием
Старый 22.03.2016, 12:36   #3
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Цитата:
Что делать с ними будешь?
сканировать) вот думаю, быстро ли меня забанят если я сканировать на уровне HTTP начну, в потоке..
65000 это без портов, еще прикручу порты, выйдет намного больше..
а что значит Format в примере ?
ts.add(Format(

Последний раз редактировалось niva622; 22.03.2016 в 12:43.
niva622 вне форума Ответить с цитированием
Старый 22.03.2016, 13:02   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Чойта мне подсказывает, что хранить ip-адреса как строки - отстой!
это ж DWORD, ядрёна корень!
ну или TInAddr.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 22.03.2016, 13:05   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Да и ваще, хранить список диапазона - отстой. Надо тупо адрес на лету вычислять, ёмаё.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 22.03.2016, 13:11   #6
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Цитата:
Надо тупо адрес на лету вычислять
да я понимаю, просто хочу сделать многопоточную проверку. На лету пока сложно разобраться с типами хранения данных.. дак вы мне скажите могут ли забанить за скан через http ? или лучше tcp/ip ? хотя по сути не очень понимаю, могут же вычислить и так и так..
и еще глупый вопрос, а в каком виде можно хранить данные адреса в классе dword, какой принцип ? не разу не сталкивался..

Последний раз редактировалось niva622; 22.03.2016 в 13:23.
niva622 вне форума Ответить с цитированием
Старый 22.03.2016, 13:19   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
через http ? или лучше tcp/ip ?
Ты чего добиться-то хочешь?
Найти открытые порты?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 22.03.2016, 13:27   #8
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Цитата:
чего добиться-то хочешь?
найти рабочие сервера, по аресу типа 1.1.1.1:1111, находятся они в определенном диапазоне, порты известны, и по сути их не больше 3х.
niva622 вне форума Ответить с цитированием
Старый 22.03.2016, 13:34   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

То есть, ты хочешь узнать, работает ли на определённых хостах определённый сервис? А не только то, что хост в онлайне?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 22.03.2016, 13:41   #10
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Цитата:
определённых хостах определённый сервис
главное что бы именно тот сервис был на хосте..

Последний раз редактировалось niva622; 22.03.2016 в 14:08.
niva622 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление разницы по заданному диапазону Klevin081085 Microsoft Office Excel 4 14.04.2015 04:53
Счёт чисел по заданному диапазону Klevin081085 Microsoft Office Excel 3 12.04.2015 17:18
Среднее значение по 7 полям по заданному диапазону дат и условием вхождения критерия в список n@TS SQL, базы данных 4 22.08.2014 12:33