# Native Code > برنامه نویسی در Delphi > توسعه نرم افزارهای تحت شبکه >  بدست آوردن مک آدرس کارت شبکه

## kamal_habibi

آیا دستوری هست که بتوان دریک شبکه وقتی IP یک سیستم در شبکه رو بدید اونم مک آدرس کارت شبکه رو برگردونه  ؟

----------


## dkhatibi

البته
جستجو کنید قبلا بحث شده است.

----------


## kamal_habibi

بخدا جستجو کردم نبود

----------


## Inprise

از ARP استفاده کن .

----------


## Saeid59_m

چطور جستجو کردی ؟
https://barnamenevis.org/showpo...&postcount=143

----------


## kamal_habibi

آقای سعید فکر کنم من مفهوممو درست بیان نکردم من MAC کارت شبکه های داخل سیستم خودمو نمیخام یا شاید من زیاد حرفه ای نیستم که سردر نیاوردم 
ببینید من میخوام با دادن یک IP موجود درشبکه MAC رو واسم برگردونه اگه با نرم افزار Bandwidth manager کار کرده باشید منظور منو کاملاً میفهمید البته این مثالی که شما دادی خیلی جالب بود و من استفاده کردم
من لینک اون نرم افزار رو واستون گذاشتم که خالی از لطف نیست Download کنید

----------


## vcldeveloper

اگر همون keyword ایی که آقای Inprise بهتون دادند را دنبال کنید، به نتیجه می رسید:
Test IP-to-MAC Address Resolution with ARP
Getting ARP Information
IP Helper
IP Helper API Header for Delphi by Project Jedi

فکر کنم دیگه خودتون بتونید دنباله ماجرا را بگیرید.

----------


## vesal

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,WinSock;

Function sendarp(ipaddr:ulong;
                 temp:dword;
                 ulmacaddr:pointer;
                 ulmacaddrleng:pointer) : DWord; StdCall;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Function sendarp; External 'Iphlpapi.dll' Name 'SendARP';

procedure TForm1.Button1Click(Sender: TObject);
var
  myip:ulong;
  mymac:array[0..5] of byte;
  mymaclength:ulong;
  r:integer;
begin
  myip:=inet_addr(PChar('192.168.0.1'));
  mymaclength:=length(mymac);
  r:=sendarp(myip,0,@mymac,@mymaclength);
  label1.caption:='errorcode:'+inttostr(r);
  label2.caption:=format('%2.2x:%2.2x:%2.2x:%2.2x:%2  .2x:%2.2x',[mymac[0],mymac[1],mymac[2],mymac[3],mymac[4],mymac[5]]);
end;

end.








object Form1: TForm1
  Left = 192
  Top = 110
  Width = 212
  Height = 115
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 8
    Top = 8
    Width = 32
    Height = 13
    Caption = 'Label1'
  end
  object Label2: TLabel
    Left = 8
    Top = 32
    Width = 32
    Height = 13
    Caption = 'Label2'
  end
  object Button1: TButton
    Left = 120
    Top = 48
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
end

----------

