Как считать подключенные IP адреса с локальной сети? - C#
Формулировка задачи:
Здравствуйте! Есть проблема, нужно считать, или проще говоря проверить кто подключен к локальной сети, и узнать IP адреса подключенных компьютеров, но так чтобы допустим запускаем программу проверялись все IP адреса... У меня получилось пропинговать "сканировать" сеть, но только с указанием промежутка IP адресов, но как сделать чтобы сеть программа сканировала всю сеть, т.е. перебирала все IP адреса допустим адреса вида 198.168.1.2 и т.д. и адреса вида 10.30.2.1 и т.д., а не от 10.37.2.1 до 10.37.2.200? прошу помощи
Решение задачи: «Как считать подключенные IP адреса с локальной сети?»
textual
Листинг программы
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned long Readed,Count;
Memo1->Lines->Clear();
unsigned char *Info;
NetServerEnum(NULL,101,&Info,1024,&Readed,&Count,0xFFFFFFFF,NULL,0);
SERVER_INFO_101 *INFO=(SERVER_INFO_101*) Info;
Memo1->Lines->Append("Entries found:"+AnsiString(Count));
Memo1->Lines->Append("Entries readed:"+AnsiString(Readed));
for (int i=0;i<Count;i++){
Memo1->Lines->Append(INFO[i].sv101_name);
unsigned char *container=new unsigned char [1000];
NetWkstaGetInfo(INFO[i].sv101_name,100,&container);
WKSTA_INFO_100 *WSInfo=(WKSTA_INFO_100 *)container;
AnsiString A=(AnsiString(WSInfo->wki100_langroup)+
"/"+AnsiString(WSInfo->wki100_computername));
Memo1->Lines->Append(A);
A=AnsiString(WSInfo->wki100_computername);
Memo1->Lines->Append(A);
}
}