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

Вниз

определить по IP клиента MAC адрес его сетевой   Найти похожие ветки 

 
9899100   (2007-11-20 20:47) [0]

Доброго время суток! Мастера подскажите, это вообще реализуемо на дельфи? определить по IP клиента MAC адрес его сетевой
если реализуемо то подскажите где посмотреть что то подобное


 
DVM ©   (2007-11-20 21:57) [1]

Определить мак-адрес можно только в том же коллизионном сегменте сети, что и подопытный компьютер.

Короче в интернет нельзя. Как и в любой сети с маршрутизаторами.


 
9899100   (2007-11-20 22:06) [2]

:) имеется ввиду определить в локальной сети , про и-нет речи не идет


 
DVM ©   (2007-11-20 22:29) [3]

на сайте у Rouse_ есть вроде пример.

http://rouse.drkb.ru/network.php#infofromip там в самом низу


 
9899100   (2007-11-20 22:46) [4]

о! то что дохтор прописал :)
осталось тока проверить в сетке :)


 
Rouse_ ©   (2007-11-21 10:56) [5]

Можно еще проще, если работает под NT

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Winsock, ExtCtrls;

const
 MAX_ADAPTER_ADDRESS_LENGTH = 6;

type
 TMacAddress = array[0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of byte;

 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 end;

 function SendARP(const DestIP, SrcIP: ULONG;
   pMacAddr: PULONG; var PhyAddrLen: ULONG): DWORD; stdcall; external "IPHLPAPI.DLL";

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

 function GetMAC(Value: TMacAddress; Length: DWORD): String;
 var
   I: Integer;
 begin
   if Length = 0 then Result := "00-00-00-00-00-00" else
   begin
     Result := "";
     for i:= 0 to Length - 2 do
       Result := Result + IntToHex(Value[i], 2) + "-";
     Result := Result + IntToHex(Value[Length-1], 2);
   end;
 end;

var
 DestIP, SrcIP: ULONG;
 pMacAddr: TMacAddress;
 PhyAddrLen: ULONG;
begin
 DestIP := inet_addr("195.182.10.22");
 PhyAddrLen := 6;
 SendArp(DestIP, 0, @pMacAddr, PhyAddrLen);
 Caption := GetMAC(pMacAddr, PhyAddrLen);
end;

end.



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-1209540771
IgorBet
2008-04-30 11:32
2008.11.23
Вопросы надежности при частом создании/ удалении таблиц


15-1222328712
nick
2008-09-25 11:45
2008.11.23
нужна помощь


6-1195631001
novill
2007-11-21 10:43
2008.11.23
Как получить показания времени на удаленной машине по сети?


2-1223763095
aslanbek
2008-10-12 02:11
2008.11.23
Обработки ошибок.


3-1210259859
AlexAl-77
2008-05-08 19:17
2008.11.23
MSSQL 2005