如何在Mac OS X上使用Obj C获取LAN上所有可用的主机名和关联的IP地址?

时间:2011-08-17 09:30:03

标签: objective-c

我需要获取连接到LAN的所有计算机的IP地址列表。我创建了一个NSHost对象并用它来获取当前主机的地址,并且它工作正常。但我需要获取网络上所有其他主机的地址。 任何有用的答案都会很明显。提前谢谢。

我的摘录:

NSHost* host = [NSHost currentHost];
NSString* myIPAddress = [NSString stringWithFormat:
                                  [[host addresses] objectAtIndex:1]];

执行此操作后,myIPAddress为192.168.1.202,这是正确的。

1 个答案:

答案 0 :(得分:0)

这不一定是可知的,取决于与其他主机的勾结。您可以考虑确定您的广播地址(例如192.168.1.255),发送ICMP回应请求然后枚举响应:但是不响应请求的系统将不会显示。使用对任何其他请求的响应时,类似的问题很明显:端口扫描或mDNS注册。