Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/155: Рейтинг темы: голосов - 155, средняя оценка - 4.53
 Аватар для narioz
1 / 1 / 0
Регистрация: 19.02.2012
Сообщений: 63

Как просканировать локальную сеть и получить список ip-адресов

04.04.2012, 12:35. Показов 30417. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
и снова здравствуйте)
подскажи, форумчанин, как просканировать локальную сеть, и получить список ip адресов?ip присваиваются через dhcp поэтому статичный список сделать не получится, посему возник этот вопрос
и ещё: как можно их групировать по ip? планируется сделать на форме вкладки,чтобы поаудиторно группировались компы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2012, 12:35
Ответы с готовыми решениями:

Как получить список IP-адресов или имён хостов некоторого сетевого домена?
Какими средствами можно получить список IP-адресов или имён хостов некоторого сетевого домена? То есть, если мне известно только имя...

Как получить список имен компов включённых в локальную сеть?
Подскажите как получить список имен компов включённых в локальную сеть? Зарание спасибо.

Просканировать локальную сеть и найти ip всех компьютеров
Привет всем. Только начал писать c++ под windows, мне нужно просканировать локальную сеть и найти, и найти все ip которые там есть....

12
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
04.04.2012, 16:44
Цитата Сообщение от narioz Посмотреть сообщение
и снова здравствуйте)
подскажи, форумчанин, как просканировать локальную сеть, и получить список ip адресов?ip присваиваются через dhcp поэтому статичный список сделать не получится, посему возник этот вопрос
и ещё: как можно их групировать по ip? планируется сделать на форме вкладки,чтобы поаудиторно группировались компы
1. Самый простой способ - пропинговать их в лоб;
2. Обычно IP на класс выдаются из подсети класса C (пп 192.168.1.*);

Альтернативный вариант - подсадить на каждый компьютер сервис, который будет выдавать на сетевой запрос номер группы и при входе в систему отсылать эту информацию серверу.
0
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 59
16.05.2013, 15:41
А можно пример кода как пропинговать сеть и вывести все IP адреса в dataGridView, очень нужно помогите плиз.
0
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
16.05.2013, 15:59
Курим мануалы с MSDN: http://msdn.microsoft.com/ru-r... xxkfx.aspx

Не по теме:

Найти решение самостоятельно можно за 2 минуты, а ждать ответа намного дольше!

0
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 59
16.05.2013, 16:05
А другие советы будут ???
0
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
16.05.2013, 16:06
Цитата Сообщение от Lutik9465 Посмотреть сообщение
А другие советы будут ???
Вы не знаете как добавить строку в DataGridView?
0
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 59
16.05.2013, 16:10
Как добавить строку я знаю. Вообще мне нужно сканировать локальную сеть, вывести все имена ПК и их IPv4 адреса. Все ПК в сети я вывожу без проблем, теперь как то надо прогнать функцию которая возвращает IP по имени, я думаю надо использовать массив в него по записывать имена всех ПК и каким то макаром обращаться к каждому элементу и выполнять возвращение IP адреса. Но как это сделать не знаю, так как я только начал изучать C#.
0
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
16.05.2013, 16:15
System.Net.Dns.GetHostEntry(System.Net.I PAddress.Parse("192.168.1.105")).HostNam e
0
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 59
16.05.2013, 16:17
это что ? и зачем не тут IP ? у меня на выходе должны быть IPшники.
0
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
16.05.2013, 16:18
Там и обратные методы есть.
0
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 59
16.05.2013, 16:20
ОК, буду изучать спасибо за наводки.
0
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
30.07.2013, 17:42
Точно такой же идеей задался.
Вот почти рабочий код.
Чего не хватает:
1. Пока не получилось наряду с IP считывать имя удалённых устройств (интересно как IP телефоны и АТС будут отображаться);
2. Не удалось "прочитать" подсеть, в цикле стоит статичная, чаще всего в малых офисах используемая 192.168.1.х;
3. Нет привязки к маске. Метод пытается пропинговать статичное число адресов (по умолчанию 200)

PS Сильно не ругайте, перевая программа всё-таки

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.NetworkInformation;
//Класс для получения своих настроек:
class MySettings
{
    public string myIP, myHost;
    //Конструктор класса с двумя текстовыми аргументами:
    public MySettings(string IP, string Host)
    {
        myIP = IP;
        myHost = Host;
    }
    //Открытый метод для отображения значений поля:
    public void show()
    {
        Console.WriteLine("Мой IP-адресс: {0}, мой Хост: {1}", myIP, myHost);
        Console.WriteLine();
    }
}
//Класс для пинга адреса в сети:
class PingCheck{
    //Конструктор класса с одним аргументом:
    public PingCheck(string A){
        Ping ping = new Ping();
        PingReply pingReply = null;
        string server = A;                           
        pingReply = ping.Send(server); 
        if (pingReply.Status == IPStatus.Success)
        {
            Console.WriteLine(server); //server          
            Console.WriteLine(pingReply.Status); //Статус           
            Console.WriteLine();
        }     
    }
}
//Класс с главным методом программы:
class NetworkSettingsDemo
{
    //Главный метод программы:
    public static void Main()
    {
        //Поля, содержащие IP адрес и Хост:
        string Host = System.Net.Dns.GetHostName();
        string IP = System.Net.Dns.GetHostByName(Host).AddressList[0].ToString();      
        //Создаём объект класса MySettings:
        MySettings settings = new MySettings(IP, Host);
        //Вызываем метод show():
        settings.show();
        Console.WriteLine("Шлюзы:");
        NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
        foreach (NetworkInterface adapter in adapters)
        {
            IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
            GatewayIPAddressInformationCollection addresses = adapterProperties.GatewayAddresses;
            if (addresses.Count > 0)
            {
                Console.WriteLine(adapter.Description);
                foreach (GatewayIPAddressInformation address in addresses)
                {
                    Console.WriteLine("  Адрес шлюза: {0}",
                        address.Address.ToString());
                }                
                Console.WriteLine();
            }
        }
        Console.WriteLine("Активные устройства в подсети:");
        for(int i=1;i<=200;i++){
            string ipnum = "192.168.1."+i;            
            PingCheck pch = new PingCheck(ipnum);
        }
        Console.WriteLine("Сканирование завершено");
        //Ожидание нажатия какой-нибудь кнопки:
        Console.ReadKey();
    }
}
0
Заблокирован
12.09.2015, 21:03
Отличный и не требующий установки сканер, скорее всего ему смело можно дать название антивирус для локальной сети. Сканирует в фоне, весит мало, конкретные без лишних наворотов настройки, выведет информацию на экран или проиграет звуковой файл. Много еще, читайте меня задело http://www.helpsetup.ru/news/wifimonitor.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2015, 21:03
Помогаю со студенческими работами здесь

Как в Windows 98 можно получить доступ к удаленному компьютеру через локальную сеть?
Народ подскажите как можно получить доступ к удаленному компьютеру через локальную сеть, когда видны его диски (C$,D$). И вообще это...

Компьютер подключен в локальную сеть, но не может выйти в локальную сеть
мой компьютер (windows xp) подключен в локальную сеть в офисе, но не может выйти в локальную сеть. То есть горит индикатор, на значке...

Как получить список всех IP-адресов из локальной сети?
Уже пробовал QNetworkInterface::allAddresses(), но он почему-то выводит только 4 адреса, которые по видимому относятся только к локальной...

Как получить список электронных адресов из Outlook Express?
Кто знает как получить список электронных адресов из Outlook Express. Если нужно сделать конвертор всех баз данных из него...

Как просканировать сеть что бы вычислить только компы?
Привет всем. Прошу помощи. Вопрос тупой , но все же. Итак, в сети есть сетевые принтера, управляемые хабы, IP телефоны, ну и компы...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru