Mensaje    Asunto: dirección MAC Remota Responder citando

He encontrado un código en delphi para leer la dirección mac de una maquina remota, pero claro no tengo ni idea de delphi, tampoco quiero insinuar que alguien lo traduzca, pero viendolo por encima igual a alguien se le ocurre algo o ve alguna función que pueda utilizar para poder implementar una función para saber la direccion mac de una maquina remota solo con indicarle la IP.

Si además alguien sabe como puedo saber si un determinado puerto esta abierto en una maquina remota, o que función utilizar, o alguna informacion estare agradecido.

Uses
Windows, ..., NB30; { <<< Include this}


function GetMACAddress(PCName: String; var MAC: array of byte): Char;
Type
ASTAT = record
adapt: TAdapterStatus;
NameBuff: array[0..30] of TNameBuffer;
end;


var
Ncb: TNCB;
PAst: ASTAT;
tmp: string;
begin
tmp := UpperCase(PCName);
FillMemory(@Ncb, Sizeof(TNCB), 0);
Ncb.ncb_command := Char(NCBRESET);
Result:=NetBios(@Ncb);
if (Result <> #0) then Exit;


FillChar(NCB.ncb_callname[0], 16, ' ');
Move(tmp[1], NCB.ncb_callname[0], Length(tmp));
NCB.ncb_command := Char(NCBASTAT);


NCB.ncb_lana_num := #0;
NCB.ncb_length := SizeOf(ASTAT);
NCB.ncb_buffer:= PChar(@PAst);
Result := NetBios(@Ncb);
if (NRC_GOODRET = Ord(Result)) then
Move(PAst.adapt.adapter_addres­s[0], MAC[0], 6)
else
FillChar(MAC[0], 6, 0);
end;


To use it:
Var
MacAddress: Array[0..6] of byte;


Begin
If GetMACAddress('MyPcName', MACAddress) = Chr(NRC_GOODRET) then
begin
// we have the mac address
end;


End;