Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

как узнать все IP в локальной сети   Найти похожие ветки 

 
doktor ©   (2005-04-05 10:44) [0]

как узнать айпишники в локальной сети


 
Rouse_ ©   (2005-04-05 11:31) [1]

Все все?
Ну смотри:
Сеть 192.168.24.0 маска 255.255.255.0 Все апишники это

192.168.24.1
192.168.24.2
192.168.24.3
...
192.168.24.253
192.168.24.254
192.168.24.255


 
Eraser ©   (2005-04-05 21:19) [2]

doktor ©

unit alxUSock;

interface

uses Windows, Winsock;

{

 Åñëè Âû ïîìåñòèòå ñòðîêó ðåçóëüòàòîâ â wide TMEMO (â åãî ñâîéñòâî memo.lines.text)
 òî íèêàêèõ ðåçóëüòàòîâ íå óâèäèòå.

 Òåñòèðîâàëîñü íà Win98/ME/2K, 95 OSR 2 è NT service
 pack #3 , ïîòîìó ÷òî èñïîëüçóåòñÿ WinSock 2 (WS2_32.DLL)

}

function EnumInterfaces(var sInt: string): Boolean;

{ ôóíêöèÿ WSAIOCtl èìïîðòèðóåòñÿ èç Winsock 2.0 - Winsock 2 äîñòóïåí }
{ òîëüêî â Win98/ME/2K è 95 OSR2, NT srv pack #3 }

function WSAIoctl(s: TSocket; cmd: DWORD; lpInBuffer: PCHAR; dwInBufferLen:
 DWORD;
 lpOutBuffer: PCHAR; dwOutBufferLen: DWORD;
 lpdwOutBytesReturned: LPDWORD;
 lpOverLapped: POINTER;
 lpOverLappedRoutine: POINTER): Integer; stdcall; external "WS2_32.DLL";

{ Êîíñòàíòû âçÿòûå èç çàãîëîâêà C ôàéëîâ }

const SIO_GET_INTERFACE_LIST = $4004747F;
 IFF_UP = $00000001;
 IFF_BROADCAST = $00000002;
 IFF_LOOPBACK = $00000004;
 IFF_POINTTOPOINT = $00000008;
 IFF_MULTICAST = $00000010;

type sockaddr_gen = packed record
   AddressIn: sockaddr_in;
   filler: packed array[0..7] of char;
 end;

type INTERFACE_INFO = packed record
   iiFlags: u_long; // Ôëàãè èíòåðôåéñà
   iiAddress: sockaddr_gen; // Àäðåñ èíòåðôåéñà
   iiBroadcastAddress: sockaddr_gen; // Broadcast àäðåñ
   iiNetmask: sockaddr_gen; // Ìàñêà ïîäñåòè
 end;

implementation

{-------------------------------------------------------------------

1. Îòêðûâàåì WINSOCK
2. Ñîçäà¸ì ñîêåò
3. Âûçûâàåì WSAIOCtl äëÿ äîñòóïà ê ñåòåâûì èíòåðôåéñàì
4. Äëÿ êàæäîãî èíòåðôåéñà, ïîëó÷àåì IP, MASK, BROADCAST, ñòàòóñ
5. Ðàçäåëÿåì ñòðîêó ñèìâîëîì CRLF  
6. Êîíåö :)

--------------------------------------------------------------------}

function EnumInterfaces(var sInt: string): Boolean;
var s: TSocket;
 wsaD: WSADATA;
 NumInterfaces: Integer;
 BytesReturned, SetFlags: u_long;
 pAddrInet: SOCKADDR_IN;
 pAddrString: PCHAR;
 PtrA: pointer;
 Buffer: array[0..20] of INTERFACE_INFO;
 i: Integer;
begin
 result := true;                                // Èíèöèàëèçèðóåì ïåðåìåííóþ
 sInt := "";

 WSAStartup($0101, wsaD);                      // Çàïóñêàåì WinSock
                                               // Çäåñü ìîæíî äàáàâèòü ðàçëè÷íûå îáðàáîò÷èêè îøèáêè :)

 s := Socket(AF_INET, SOCK_STREAM, 0);          // Îòêðûâàåì ñîêåò
 if (s = INVALID_SOCKET) then exit;

 try                                            // Âûçûâàåì WSAIoCtl
   PtrA := @bytesReturned;
   if (WSAIoCtl(s, SIO_GET_INTERFACE_LIST, nil, 0, @Buffer, 1024, PtrA, nil,
     nil)
     <> SOCKET_ERROR)
     then
   begin                                        // &#197;&#241;&#235;&#232; OK, &#242;&#238; &#238;&#239;&#240;&#229;&#228;&#229;&#235;&#255;&#229;&#236; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#241;&#243;&#249;&#229;&#241;&#242;&#226;&#243;&#254;&#249;&#232;&#245; &#232;&#237;&#242;&#229;&#240;&#244;&#229;&#233;&#241;&#238;&#226;

     NumInterfaces := BytesReturned div SizeOf(INTERFACE_INFO);

     for i := 0 to NumInterfaces-1 do        // &#196;&#235;&#255; &#234;&#224;&#230;&#228;&#238;&#227;&#238; &#232;&#237;&#242;&#229;&#240;&#244;&#229;&#233;&#241;&#224;
     begin
       pAddrInet := Buffer[i].iiAddress.addressIn;            // IP &#224;&#228;&#240;&#229;&#241;
       pAddrString := inet_ntoa(pAddrInet.sin_addr);
       sInt:=sInt+pAddrString;
       if i=NumInterfaces-1 then
         sInt := sInt
       else
         sInt := sInt + #13#10;
       // CRLF &#236;&#229;&#230;&#228;&#243; &#234;&#224;&#230;&#228;&#251;&#236; &#232;&#237;&#242;&#229;&#240;&#244;&#229;&#233;&#241;&#238;&#236;
     end;
   end;
 except
 end;
//
// &#199;&#224;&#234;&#240;&#251;&#226;&#224;&#229;&#236; &#241;&#238;&#234;&#229;&#242;&#251;
//
 CloseSocket(s);
 WSACleanUp;
 result := false;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
9-1112006972
craKer
2005-03-28 14:49
2005.07.11
Наложение текстуры тайлами (GLscene)


4-1115811710
MooSE
2005-05-11 15:41
2005.07.11
Чтение BMP-файла


14-1118052395
Ozone
2005-06-06 14:06
2005.07.11
Файл ответов для MSI


14-1118188805
Crazy_Diman
2005-06-08 04:00
2005.07.11
работа с DrawDrid


14-1118331800
rOOse
2005-06-09 19:43
2005.07.11
У меня ваша убойная тема не просматривается=(