Главная страница
    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.48 MB
Время: 0.041 c
5-1089198820
RagE
2004-07-07 15:13
2005.07.11
не срабатывает таймер


9-1112329942
Strech
2005-04-01 08:32
2005.07.11
Физика твердого тела и борьба с дискретностью


1-1118647710
silvestr
2005-06-13 11:28
2005.07.11
Замена вункции Uppercase


14-1118239342
Андрей Жук
2005-06-08 18:02
2005.07.11
Как переконвертить wav с 8 KHz?


14-1118649321
Stanislav
2005-06-13 11:55
2005.07.11
Установка компонент в Delphi2005





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский