Форум программистов, компьютерный форум CyberForum.ru

Сканирование локальной сети в заданном диапазоне IP - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Alina1992
Сообщений: n/a
31.10.2010, 17:36     Сканирование локальной сети в заданном диапазоне IP #1
Искала, но именного того что нужно здесь не нашла ((((( Поэтому спрашиваю в новой теме.
Если у кого есть свободная минутка, покажите конкретное тело программы на С++ через цикл while, которая сканирует локальную сеть в заданном диапазоне IP, и выдаёт рабочие и не рабочие машины. И если не трудно, дайте комментарии к строкам программы. Заранее спасибки )))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2010, 17:36     Сканирование локальной сети в заданном диапазоне IP
Посмотрите здесь:

Случайные числа в заданном диапазоне C++
C++ простые числа в заданном диапазоне
C++ Генерация случайных чисел на заданном диапазоне
простое число в заданном диапазоне C++
C++ Нахождение палиндрома в заданном диапазоне
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Oleg462
31 / 30 / 3
Регистрация: 18.01.2010
Сообщений: 123
31.10.2010, 17:45     Сканирование локальной сети в заданном диапазоне IP #2
примерно так
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 __fastcall TForm1::Button3Click(TObject *Sender)
{
if (Edit2->Text != "" && Edit3->Text != "" && Edit4->Text != "" )
{
ListBox1->Clear() ;
ProgressBar1->Position = 0 ;
ProgressBar1->Max = 255  ;
int i = 1 ;
while (i < 256)
  {
  AnsiString addr = Edit2->Text +"."+ Edit3->Text + "." + Edit4->Text + "." + IntToStr(i) ;
  ProgressBar1->Position = i ;
  IdIcmpClient1->Host = addr ;
  IdIcmpClient1->TTL = 128 ;
  IdIcmpClient1->ReceiveTimeout = 10 ;
  IdIcmpClient1->Ping() ;
  i++ ;
  }
}
else
{
ShowMessage("Заполните поля") ;
}
Label5->Caption = "Сканирование завершено" ;
}
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::IdIcmpClient1Reply(TComponent *ASender,
      const TReplyStatus &AReplyStatus)
{
if (AReplyStatus.BytesReceived)
   {
   ListBox1->Items->Add("Доступный хост -> " + IdIcmpClient1->Host) ;
   }
}
нужно добавить компонент IdIcmpClient1 он во вкладке Indy
Alina1992
Сообщений: n/a
31.10.2010, 17:49     Сканирование локальной сети в заданном диапазоне IP #3
БОЛЬШОЕ СПАСИБО Oleg462 ))))))))
Если ещё не сложно хоть какие-нибудь комменты дать )))
KuKu
 Аватар для KuKu
1538 / 1016 / 69
Регистрация: 17.04.2009
Сообщений: 2,946
31.10.2010, 18:57     Сканирование локальной сети в заданном диапазоне IP #4
Цитата Сообщение от Oleg462 Посмотреть сообщение
примерно так
нужно добавить компонент IdIcmpClient1 он во вкладке Indy
... и установить билдер.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
31.10.2010, 20:47     Сканирование локальной сети в заданном диапазоне IP #5
Комменты - легко
Приведенный метод - использование ICMP ping может не работать
Дело в том что Windows XP, Vista и Windows 7 по умолчанию блокируют ping

Так что отличить выключенный комп от компа, который не отвечает на ICMP ping приведенным способом проблематично
Yandex
Объявления
31.10.2010, 20:47     Сканирование локальной сети в заданном диапазоне IP
Ответ Создать тему
Опции темы

Текущее время: 16:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru