2011-05-28 10 views
3

重複の可能性を考えると、他のコンピュータのMACアドレスを取得する:
how to find MAC address in MAC OS X programmatically ?
How do I query the ARP table on iPhone?そのIPアドレス

I場合はどのようにして、別のデバイスまたはコンピュータのMACアドレスを取得することができますがIPアドレスを知っていますか?例えば

私が持っている:

NSString * ip = @"192.168.1.1"; 
+0

私が間違っている場合は私を修正しますが、MACアドレスはネットワークインターフェイスハードウェアに割り当てられ、LAN IPとは関係ありません。 – raidfive

+0

@raidfive私は彼がそのIPアドレスが割り当てられているネットワークインターフェイスハードウェアのMACアドレスを望んでいると思う。たとえば、イーサネットとWi-Fiの両方で、固有のIPと固有のMACアドレスを使用してネットワークに接続しています。 –

+0

ええ、MACはハードウェアに割り当てられていますが、私は目標を達成するための何らかの方法があると思います。私は簡単にC#でそれを行う方法を知っています。 –

答えて

1

あなたは、ローカルネットワークのためのARP(Address Resolution Protocol)テーブルを検索する必要があります。ターミナルウィンドウからコマンドラインでarp -aを実行すると、ローカルネットワークのIPアドレスとその物理アドレスの関連付け(MACアドレス)を示すARPテーブルが表示されます。 OSXはシステムルーティングテーブルにARPエントリを格納しますが、システムルーティングテーブルのエントリをMACアドレスに変換する方法を示す良い参考文献は見つかりません。sysctlコールがどこかであることを賭けていますが、 ? 1つの未回答助けるかもしれGetting routing table on MACOSX (programmatically)で質問が...

はOSXであり、arp詳細はhttp://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man4/arp.4.htmlである:私は正直にちょうどsystem呼び出しを行うと、ご希望のIPアドレスの結果をフィルタリングすることをお勧めしたいです。

+0

iOSデバイスからmacを解決する必要があることを伝えるのを忘れてしまった。 –

+0

ええ、あなたはおそらく運が良かったでしょう:iOSプラットフォームのクライアントコードからシステムルーティングテーブルにアクセスできないのかどうか、 'arp'コマンドラインクライアントを呼び出す方法がないと確信していますiOSアプリから – Femi