Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
4 / 8 / 0
Регистрация: 10.06.2017
Сообщений: 51
.NET 4.x

Конвертация IP диапазона в список адресов

08.07.2018, 14:44. Показов 3793. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно задача в заголовке. Суть: есть IP диапазон (1.2.3.4-5.6.7.8 или CIDR (192.168.1.0/8)). Надо получить список (List<string> / string[]) всех адресов, принадлежащих данному диапазону. Хорошо бы что-то вроде функции, которой надо скормить диапазон и получить список адресов. Заранее спасибо

Добавлено через 16 часов 37 минут
Up!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.07.2018, 14:44
Ответы с готовыми решениями:

Разделить исходный список на два списка: список чисел из диапазона [a,b] и список чисел не из заданного диапазона
Создайте приложение, которое разделит исходный список из вещественных чисел на два списка: список чисел из диапазона и список чисел не из...

Поиск диапазона адресов
Есть строка, определяющая &quot;серость&quot; IP адреса: if echo &quot;$IP&quot; | grep -qE '^(10\.|172\.1\.|172\.2\.|172\.3\.|192\.168)'; then Не могу...

Сканирование диапазона адресов
Здравствуйте никак не получается просканировать диапазон ip - адресов по порту 7000. Может есть у кого программка на счет этого? ...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
08.07.2018, 15:08
Лучший ответ Сообщение было отмечено Hackcat_ как решение

Решение

Hackcat_, преобразуем адрес в число и в цикле увеличиваем пока не переберем все адреса. Примерный код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void Main()
{
    string ip = "1.2.3.230";
    uint ipNum = ToIpNumber(ip);
    for (int i = 0; i < 100; i++)
    {
        Console.WriteLine(ToIpString(ipNum));
        ipNum++;
    }
}
 
static uint ToIpNumber(string ip)
{
    byte[] ipParts = ip.Split('.').Select(byte.Parse).ToArray();
    return (uint)(ipParts[0] << 24 | ipParts[1] << 16 | ipParts[2] << 8 | ipParts[3]);
}
 
static string ToIpString(uint ip)
{
    string s = ((ip >> 24) & 0xFF).ToString();
    s += "." + ((ip >> 16) & 0xFF).ToString();
    s += "." + ((ip >> 8) & 0xFF).ToString();
    s += "." + (ip & 0xFF).ToString();
    return s;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2018, 15:08
Помогаю со студенческими работами здесь

Перебор диапазона IP адресов
В общем вроде бы тривиальная задача, получить список IP-адресов из заданного диапазона. Но решить её никак не получается. Перерыл весь...

Блокировка диапазона ip адресов
Мои сервера часто досят, их ip я знаю Теперь я немогу найти программу которая может запретить доступ с определённого ip или деапазона.

Нахождение диапазона IP адресов в подсети бродкаст?
Доброго времени суток! Пример: {Задан IP-адрес хоста 192.3.1.36, маска подсети 255.255.255.240. Определить диапазон IP-адресов в этой...

Сервер недоступен с определенного диапазона адресов
Всем привет. Помогите разобраться. К серверу (Windows Server 2012 R2) не могут подключится клиенты с 92 диапазона адресов на котором...

Регулярные выражения для диапазона IP адресов
Доброго времени суток, подскажите пожалуйста, стоит задача определить следующие диапазоны: 77.88.0.0 - 77.88.0.18 77.88.22.0 –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru