![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
определить по IP клиента MAC адрес его сетевой
9899100 © (2007-11-20 20:47:00)Доброго время суток! Мастера подскажите, это вообще реализуемо на дельфи? определить по IP клиента MAC адрес его сетевой
если реализуемо то подскажите где посмотреть что то подобное
Rouse_ (2007-11-21 10:56:00) [1]Можно еще проще, если работает под 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.
9899100 (2007-11-20 22:46:00) [2]о! то что дохтор прописал :)
осталось тока проверить в сетке :)
DVM (2007-11-20 22:29:00) [3]на сайте у Rouse_ есть вроде пример.
http://rouse.drkb.ru/network.php#infofromipтам в самом низу
9899100 (2007-11-20 22:06:00) [4]:) имеется ввиду определить в локальной сети , про и-нет речи не идет
DVM (2007-11-20 21:57:00) [5]Определить мак-адрес можно только в том же коллизионном сегменте сети, что и подопытный компьютер.
Короче в интернет нельзя. Как и в любой сети с маршрутизаторами.