mac i ip

0

Witam. Jak można ustalić macadres mając ip. Czy da się tak zrobić. Po hoscie to żaden problem. Czy ktoś widział jakiekolwiek komponenty do tego celu?
męczę się już od 4 miesięcy z tym problemem i nic. Będę wdzięczny za każdą pomoc.

0
function Skr_host(IPAd : string): string;//skraca nazwę hosta (jezeli trzeba)
var
a,b: string;
c: char;
j: integer;
begin
a:= IPAd;
j:=1;
repeat
  begin
  b:= b+a[j];
  j:=j+1;
end;
until a[j] = ':';
result := b;
end;

A teraz uzyskanie nazwy hosta mając adres IP

function IPAddrToName(IPAddr : string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
  HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt<>nil then
  begin
    result:=StrPas(Hostent^.h_name)
  end
  else
  begin
    result:='';
  end;
end;

Kiedy masz już nazwę hosta - to tak jak powiedziałeś to już nie jest problem...

0
irek napisał(a)
function Skr_host(IPAd : string): string;//skraca nazwę hosta (jezeli trzeba)
var
a,b: string;
c: char;
j: integer;
begin
a:= IPAd;
j:=1;
repeat
  begin
  b:= b+a[j];
  j:=j+1;
end;
until a[j] = ':';
result := b;
end;

Tak sobię na to patrzę i się zastanawiam...
Po co w tej funkcji jest zadeklarowane c: char?
I widzę też inne nie potrzebne zmienne. A można było tak:

function Skr_host(IPAd : string): string;
begin
  if pos(':',IPAd)>0 then result:=copy(IPAd,1,pos(':',IPAd)-1)
                            else result:=IPAd;
end;

:P

0

Widać nikt nie zrozumiał autora pytania. Jemu nie chodzi o hosta, itp on chce poznać adres fizyczny karty sieciowej czyli tzw MAC address

Skarabr poszukaj na http://torry.net tam powinno być...

{Dopisane]
Jak mówiłem na http://torry.net jest. Kodu nie wklejam bo jest za długi ale jest link. Skarabr może to Ci się przyda...

Przeczytaj też komentarze. W jednym z nich jest krótszy sposób.

0
angel2953 napisał(a)

Widać nikt nie zrozumiał autora pytania. Jemu nie chodzi o hosta, itp on chce poznać adres fizyczny karty sieciowej czyli tzw MAC address

Skarabr poszukaj na http://torry.net tam powinno być...

{Dopisane]
Jak mówiłem na http://torry.net jest. Kodu nie wklejam bo jest za długi ale jest link. Skarabr może to Ci się przyda...

Przeczytaj też komentarze. W jednym z nich jest krótszy sposób.

Te a po co ty klepiesz te głupoty? Myślisz że jest tutaj ktoś kto nie wie co to jest MAC?

Przeczytaj dokładnie o co mu chodziło bo z jego emaila wnioskuję że dokładnie o to co mu napisałem...

0

Wszystkim dzieki juz zrobiłem to co chciałem. Natomiast kieruje mi się jeszcze pytanie jak można uzyskać przez sieć oczywiscie nazwe zalogowanego użytkownika lub jak najwięcej informacji z nim związanych. PS. Szukam tez biblioteki (komponentu), która obsługuje ClientSkin i Client. Z góry dzieki
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1