Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Определение MAC-адреса УДАЛЁННОГО компьютера   Найти похожие ветки 

 
Volf_555   (2005-10-15 23:48) [0]

Как определить MAC-адрес удалённого компьютера по IP-адресу?


 
Alex Konshin ©   (2005-10-16 00:38) [1]

Насколько удаленного? В локалке?
Если в одном сегменте сети, то через IP Helper API, смотри в MSDN.


 
Volf_555   (2005-10-16 01:04) [2]

Дай ссылку на MSDN


 
antoxa2005   (2005-10-16 03:35) [3]

А как определить MAC-адрес текущего компьютера, но чтобы на всех ОС работало Win98-Win2003 или хотябы -WinXP(Sp2)


 
Volf_555   (2005-10-17 02:08) [4]

>>antoxa2005
Смотри следующую ссылку:
http://newgalaxy.alfaspace.net/forum/topic.php?forum=29&topic=1


 
Volf_555   (2005-11-10 18:32) [5]

Народ! Так как же всё таки определить MAC-адрес удалённого компьютера по IP-адресу?


 
Verg ©   (2005-11-11 10:44) [6]

SendARP

function SendARP(DestIP:DWORD;SrcIP:DWORD; var pMacAddr; var PhyAddrLen:DWORD):DWORD;stdcall;

implementation
function   SendARP;          external "IPHLPAPI.DLL";


 
Volf_555   (2005-11-12 14:05) [7]

Приведи пример использования этой команды!
Следующий код вызывает ошибку:
SendARP(10.0.0.1;что за SrcIP??;это здевь вручную мак-адрес писать?!; а тут что?)
И как DWORD перевести в String в дальнейшем?


 
Васяня   (2005-11-28 05:45) [8]


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("192.168.2.115");
 PhyAddrLen := 6;
 SendArp(DestIP, 0, @pMacAddr, PhyAddrLen);
 Caption := GetMAC(pMacAddr, PhyAddrLen);
end;

end.



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

Форум: "Сети";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
4-1135073467
davinchi
2005-12-20 13:11
2006.03.12
Как дождаться окончания загрузки Win98


1-1139325958
t0mk4
2006-02-07 18:25
2006.03.12
TabControl1


15-1139423173
Marser
2006-02-08 21:26
2006.03.12
О пользе высшего образования


2-1140430374
reboot
2006-02-20 13:12
2006.03.12
компоненты vcl


3-1137255604
maxxa144
2006-01-14 19:20
2006.03.12
альтернатива array полям.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский