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

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

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

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

Добавлено через 16 часов 37 минут
Up!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2018, 14:44
Ответы с готовыми решениями:

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

Поиск диапазона адресов
Есть строка, определяющая &quot;серость&quot; IP адреса: if echo &quot;$IP&quot; | grep -qE...

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

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

1
Администратор
Эксперт .NET
13178 / 10732 / 4427
Регистрация: 17.03.2014
Сообщений: 21,638
Записей в блоге: 1
08.07.2018, 15:08 2
Лучший ответ Сообщение было отмечено 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2018, 15:08

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.