Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 41

Узнать все IP адреса компьютеров сети

09.04.2013, 14:45. Показов 5850. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как можно узнать все ip адреса компьютеров в сети и вывести каждый адрес в отдельное текстовое поле?
помогите пожалуйста, если можно кодом!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2013, 14:45
Ответы с готовыми решениями:

Как узнать mac-адреса компьютеров в сети?
Добрый день. Можно как-нибудь узнать mac-адреса компьютеров в сети (в смысле автоматически)?

Как узнать MAC-адреса компьютеров в сети?
Delphi: Как узнать МАК адреса компьютеров в сети ? Помогите

IP адреса всех компьютеров в сети
Всем привет) Вопрос собственно в названии: Как найти IP-адреса компьютеров в (локальной, хотя не обязательно) сети? Заранее...

12
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
12.04.2013, 01:24
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Значит тааак... Это всё грубый набрсок... Я сделал так, что сканировать будем начинать в пределах "192.168." Конечно можно потом изменить как понравится

Что нам нужно:
1. форма (см. рисунок)
2. два класса (см. рисунок)

Вот код:

VB.NET
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
Imports System.Net
Imports System.Net.NetworkInformation
 
Public Class PingCheckResult
 
    Private mAddress As IPAddress
    Private mDelay As Long = 0
    Public Property Address() As IPAddress
        Get
            Return mAddress
        End Get
        Set(ByVal value As IPAddress)
            mAddress = value
        End Set
    End Property
    Public Property Delay() As Long
        Get
            Return mDelay
        End Get
        Set(ByVal value As Long)
            mDelay = value
        End Set
    End Property
 
End Class
следующий класс:

VB.NET
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
Imports System.Net
Imports System.Net.NetworkInformation
 
Public Class PingChecker
 
    Public Event CheckCompleted(ByVal sender As Object, ByVal successResults As  _
    PingCheckResult())
 
    Private mSuccessResults As List(Of PingCheckResult)
    Private mRunningPings As List(Of Ping)
    Private mID As Long = 0
 
    Public Sub GetLocalIPs(Optional ByVal timeout As Integer = 8000)
        GetLocalIPs(0, 1, 0, 255, timeout)
    End Sub
 
    Public Sub GetLocalIPs(ByVal n1Start As Integer, ByVal n1End As Integer, _
      Optional ByVal timeout As Integer = 8000)
        GetLocalIPs(n1Start, n1End, 0, 255, timeout)
    End Sub
 
    Public Sub GetLocalIPs(ByVal n1Start As Integer, ByVal n1End As Integer, _
      ByVal n2Start As Integer, ByVal n2End As Integer, Optional ByVal timeout _
      As Integer = 8000)
        mSuccessResults = New List(Of PingCheckResult)
        mRunningPings = New List(Of Ping)
        mID += 1
        For n1 As Integer = n1Start To n1End
            For n2 As Integer = n2Start To n2End
                Dim ping As New Ping
                mRunningPings.Add(ping)
                AddHandler ping.PingCompleted, AddressOf ping_PingCompleted
                ping.SendAsync("192.168." & n1 & "." & n2, timeout, mID)
            Next
        Next
    End Sub
 
    Private Sub ping_PingCompleted(ByVal sender As Object, ByVal e As  _
      System.Net.NetworkInformation.PingCompletedEventArgs)
        If e.Reply.Status = IPStatus.Success And CLng(e.UserState) = mID Then
            Dim result As New PingCheckResult
            result.Address = e.Reply.Address
            result.Delay = e.Reply.RoundtripTime
            mSuccessResults.Add(result)
        End If
        Dim ping As Ping = CType(sender, Ping)
        If mRunningPings.Contains(ping) Then mRunningPings.Remove(ping)
        ping.Dispose()
        If mRunningPings.Count = 0 Then RaiseEvent CheckCompleted(Me, _
          mSuccessResults.ToArray)
    End Sub
 
End Class
код формы:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  _
  System.EventArgs) Handles Button1.Click
        Dim checker As New PingChecker
        AddHandler checker.CheckCompleted, AddressOf checker_CheckCompleted
        checker.GetLocalIPs(CInt(n1Start.Text), CInt(n1End.Text), CInt( _
          n2Start.Text), CInt(n2End.Text))
    End Sub
 
    Private Sub checker_CheckCompleted(ByVal sender As Object, ByVal results As  _
      PingCheckResult())
        For Each result As PingCheckResult In results
            ListView1.Items.Add(New ListViewItem(New String(1) _
              {result.Address.ToString, result.Delay.ToString}))
        Next
    End Sub
 
End Class
Я пишу результаты в ListView, но вы можете поступить по своему. Удачи!
Миниатюры
Узнать все IP адреса компьютеров сети  
Изображения
 
4
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 41
12.04.2013, 09:56  [ТС]
а можешь выложить проект..у меня почему-то не работает..ошибки никакой не выдает...при нажатии на кнопку, ничего не происходит...
0
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
12.04.2013, 11:45
Обрати внимание на вот эту строку внутри класса "PingChecker":
Цитата Сообщение от Splinter_Cell Посмотреть сообщение
ping.SendAsync("192.168." & n1 & "." & n2, timeout, mID)
проверь (при помощи ipconfig например), находишься ли ты внутри этого сетевого сегмента. Если нет, то замени 192.168. на свой сегмент... или же создай свои текстбоксы в которые можно вводить все 4 части IP-адреса начального и конечного IP и передавай эти параметры в класс "PingChecker". Успехов.

0
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
12.04.2013, 21:11
Цитата Сообщение от Lander13 Посмотреть сообщение
а можешь выложить проект..
Конечно чем больше адресов, тем дольше ждать результата.
Вложения
Тип файла: zip Network_Scan_for_IP_Adress.zip (88.8 Кб, 185 просмотров)
2
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
27.09.2022, 23:00
Подскажите, а как вывести имя клиента ? или как найти ip устройства в сети зная его mac адрес ?

Добавлено через 5 минут
то есть есть web-server который реализован на контроллере, мне нужно ловить его так как ip он получает от DHCP, я знаю его mac адрес и его имя в сети IpHome, как мне точно найти его ip ? помогите пожалуйста кодом, буду ооочень благодарен.
0
Лень — мое второе и
 Аватар для Orlangur
3228 / 2416 / 687
Регистрация: 28.11.2014
Сообщений: 3,601
Записей в блоге: 3
27.09.2022, 23:58
mast_12, Если знаете имя, то можно попробовать так
VB.NET
1
2
3
 Dim host As IPHostEntry = Dns.GetHostEntry("ИМЯ")
        Dim ipaddr As IPAddress = host.AddressList.Where(Function(x) x.AddressFamily = Sockets.AddressFamily.InterNetwork).First
        MsgBox(ipaddr.ToString)
1
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:00
а по MAC адресу можно ?

Добавлено через 38 секунд
Цитата Сообщение от Orlangur Посмотреть сообщение
Если знаете имя, то можно попробовать так
XML
1
Сейчас попробую
0
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:13
ругается...
Миниатюры
Узнать все IP адреса компьютеров сети  
0
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:20
сорян, туплю уже....
0
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:22
не выходит...
Миниатюры
Узнать все IP адреса компьютеров сети  
0
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:23
не выходит так
Миниатюры
Узнать все IP адреса компьютеров сети  
0
1 / 1 / 0
Регистрация: 13.01.2021
Сообщений: 100
28.09.2022, 00:30
ищет только ПК, вариант только 1, если можно то по MAC.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2022, 00:30
Помогаю со студенческими работами здесь

Получить IP-адреса всех компьютеров в локальной сети
в общем можно както получить айпишники всех компов в сети? и вообще как реализовать связь между двумя компами, ну например у меня...

Как узнать количество компьютеров в локальной сети?
Windows 7 - создал сеть компьютер-компьютер (для раздачи интернета). Знаю, что подключено 2 пк, но так как скорость маловата, есть...

Как узнать ip-адрес всех компьютеров в локальной сети?
Добрый день ребята! хочу написать на Delphi что бы программа смотрел все компьютере локальная сеть и отображал IP Адрес. На одном написал...

Как узнать имена всех компьютеров, которые находятся в сети
НАРОДИЧЕК! Подскажите пож-ста! Как вывести в ComboBox имена всех компов локальной сети. С уваженьицем Dan Danstyslo@rambler.ru

В локальной сети статические IP адреса, каким образом можно узнать какие IP заняты?
В сети адреса статические, причем назначались без определенной ситемы и не записывались, каким образом определить занятые адреса? 1. Можно...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru