68 / 68 / 19
Регистрация: 06.07.2011
Сообщений: 221
|
|
1 | |
Куда и как собрать все IP адреса в указанном диапазоне?23.10.2014, 19:04. Показов 2982. Ответов 7
Метки нет (Все метки)
Всем добра!
Подскажите, как лучше всего реализовать? Есть textBox1 - туда внесем начальный ip адрес Есть textBox2 - туда внесем конечный ip адрес далее буду использовать PingReply по каждому адресу в этом диапазоне, получать ответ и заносить в файл. Вопрос: Куда (во что? может в массив или еще варианты), а главное КАК - собрать ВСЕ адреса, в указанном диапазоне. Значения могут быть такими: textBox1 = 192.168.0.1 textBox2 = 192.168.0.240 а могут быть и такими: textBox1 = 192.168.2.1 textBox2 = 192.168.3.240 Т.е. тут еще многое будет зависеть от подсети. Пока не представляю, как это изложить корректно в коде. Может кто сталкивался или понимает, что я хочу - буду признателен, за ответ!
0
|
23.10.2014, 19:04 | |
Ответы с готовыми решениями:
7
Даны части IPv4 адреса и нужно собрать из них все возможные адреса Вывести все числа в указанном диапазоне Определить все ли числа из массива лежат в указанном диапазоне Определить, все ли числа из массива А лежат в указанном диапазоне |
68 / 68 / 19
Регистрация: 06.07.2011
Сообщений: 221
|
||||||
23.10.2014, 19:17 [ТС] | 3 | |||||
а я ведь написал, что буду делать. Дальше кнопка "Пинговать". И нужно пропинговать весь этот диапозон.
результат - планировал вывести в текстовый документ, для дальнейшего парсинга. Путем StreamWrite. Но об этом не сейчас. 1 адрес - я тоже научился пинговать и получать результат.
Вопрос в другом - как состряпать данные ДИАПАЗОНА, где начало в одном textbox - а окончание в другом. Добавлено через 4 минуты insite2012, 1. проблема - как и чем - подсчитать и во что-то сформировать список адресов из указанного диапазона. 2. как учесть тот факт, что подсети могут быть разные, а значит и диапазон может разнится. Если вы с подсетями не знакомы, попробую так описать: IP адрес начало одной подсети может быть: 192.168.0.1 IP адрес окончание этой подсети может быть 192.168.0.254 если в виде маски - то так: [A].[B].[C].[D] - т.е. в указанной выше подсети - будет меняться только [D] число А вот в другой подсети. Может быть иначе: Например начало: 192.168.2.1 Окончание этой сети: 192.168.3.254 т.е. в этом случае - уже меняются число [C] и число [D]
0
|
23.10.2014, 19:19 | 4 |
А тут в чем проблема? Насколько я знаю, первые два значения неизменны. Тогда нам остается:
1. Проверить, чтобы значение начала не совпадало или не было больше начала конца диапазона. 2. А потом два цикла, один в одном. Внешний подставляет одно значение адреса, внутренний второе.
1
|
68 / 68 / 19
Регистрация: 06.07.2011
Сообщений: 221
|
|
23.10.2014, 19:27 [ТС] | 5 |
Спасибо. Попробую таким образом. Хоть он и немного не верный, с точки зрения определения подсети. Но как вариант.
А вот еще нашел такую вот библиотеку и описание к ней. Может кому пригодится: Не по теме: p.s. Ув. Модератор, я не очень знаком. Ссылки под катом только можно публиковать ? Верно сделал ? Добавлено через 4 минуты insite2012, Да и еще вопросик: куда лучше всего формировать список результатов? Отдельный полученный результат (т.е. 1 IP адрес) - сразу закидывать в документ и потом работать с документом. или использовать какой-то массив даных? Просто хочется учесть, что хостов может быть до 3000 штук
0
|
23.10.2014, 19:31 | 6 |
Если приложение на этом не закончит работу, то лучше, естественно, что-то вроде словаря. Если же планируется просмотр пользователем, то тогда, конечно, в документ, или в таблицу, или еще куда.
И думаю, что в той либе примерно такой метод, как я сказал и используется))) Каждое значение не может превысить 255. Весь адрес сплитуем по знаку ".", заносим это в массив "startIP", потом сплитуем второй, заносим в массив "endIP". Потом сравниваем. Ну и так далее. Алгоритм тут не особо сложный, я думаю...
1
|
68 / 68 / 19
Регистрация: 06.07.2011
Сообщений: 221
|
|
23.10.2014, 19:42 [ТС] | 7 |
Спасибо. Сейчас пробую эту либу. Пока кажется получается то, что нужно. Даже получается, что можно оставить один TextBox, где пользователю будет предложено ввести любой адрес подсети и маску, как это у них в примере показано.
В общем: Спасибо, за содействие. Будет ступор - обращусь Но библиотека - хороша, для этих нужд Рекомендую тем, кому потребуется!
0
|
tezaurismosis
|
23.10.2014, 21:07
Куда и как собрать все IP адреса в указанном диапазоне?
#8
|
0
|
23.10.2014, 21:07 | |
23.10.2014, 21:07 | |
Помогаю со студенческими работами здесь
8
Определить, все ли числа из массива А лежат в указанном диапазоне Вывести на экран построчно все целые значения в указанном диапазоне Записать в файл все простые числа в указанном диапазоне в столбик В указанном диапазоне найти все числа, произведение цифр которых по модулю дает заданное число Диапазон положительных чисел задан нижней и верхней границами. Распечатать все простые числа, лежащие в указанном диапазоне. Перебором делителей найти простые числа в указанном диапазоне, и вывести все простые числа в поле Memo Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |