

コマンドラインでのarp
-aのように同じLANに存在する通信デバイスのホスト名やIPアドレス、MACアドレスをXcodeでSwiftを使用しMacOSX用ソフトウェアを作り取得したいと考えています。  
どのような方法が考えられますでしょうか。  
ご教授頂けますと幸いです。


CC BY-SA 3.0
2016-11-14T11:20:57.567
30399
2023-09-19T07:03:10.397
2018-09-23T14:02:05.707
19110
14780
question
swift macos swift3
Swiftでホスト名やIPアドレス、MACアドレスを取得する


arp-scanのソースを見て参考にすればいいんじゃないでしょうか。  
この辺とか。  
<https://github.com/royhills/arp-scan>


CC BY-SA 3.0
2016-11-15T01:21:48.223
30406
2016-11-15T01:21:48.223
8601
30399
answer


IPアドレスとMACアドレスの対応付けには、ARPというプロトコルを使います。  
MACアドレスは各マシンの通信ボードが半永久的に保持していますが、IPアドレスは変更されることがあります。（昔は通信ボードのMACアドレスはハードウェアで固定されていましたが、最近はソフトウェアで書き換えられるようになっている通信ボードがあります）

IPアドレスとホスト名の対応付けは、各マシンが持つhostsファイルによるものと、DNSによるものがあります。

なので、ARP、hosts、DNSの３つに関する仕組みを知っていて、これらを使いこなせればプログラムを作ることができるはずです。


CC BY-SA 4.0
2019-04-18T08:54:04.137
54284
2019-04-18T08:54:04.137
217
30399
answer