扫描设备在LANnetworking中的方式

我想在局域网内进行扫描以find链接的设备。 我正在为IOS开发一个IOS应用程序,我该怎么办?

因为这些是移动设备,我会假设你想在无线networking上find设备。 从理论上讲,由于wifi使用共享介质进行通信,因此您可以被动监听stream经networking的stream量,收集客户端的数据而不发送任何数据包。 这是通常被称为混杂模式的东西 。 实际上,networking适配器驱动程序有99%的可能性只允许您获取指定给您的MAC地址的stream量。 在这种情况下,您将需要主动扫描不是100%准确的networking子网,这取决于networking的实施方式可能会被视为可能的攻击。

简单的扫描方式是向子网中的每个IP地址发送ICMP请求(ping),并从发回回显应答的人收集数据。 这是不可靠的,因为有些主机即使处于活动状态也不会响应ICMP回显请求。 首先需要find自己的IP地址和子网掩码,并计算子网中可能的地址范围。 范围是通过使用逻辑AND运算符获得的,其中操作数是您的IP地址和子网掩码的二进制值。 这是计算一个典型的192.168.1.1子网和255.255.255.0子网掩码(CIDR表示法为192.168.1.1/24)的例子:

Address: 192.168.1.1 11000000.10101000.00000001 .00000001 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111 .00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000 .11111111 Network: 192.168.1.0/24 11000000.10101000.00000001 .00000000 Broadcast: 192.168.1.255 11000000.10101000.00000001 .11111111 HostMin: 192.168.1.1 11000000.10101000.00000001 .00000001 HostMax: 192.168.1.254 11000000.10101000.00000001 .11111110 

然后,您将遍历范围并ping每个地址。 你可以考虑的另一件事是监听ARP等广播stream量,并收集一些这样的信息。 我不知道你在做什么,但你不能获得许多有用的信息,除了主机的networking适配器的供应商。

在Github上检查我的LAN扫描 。 它正是你想要的。

我最近使用的MMLANScan很不错。 它发现IP,主机名和MAC地址。

Bonjour自2002年以来一直在附近看看!

我的意思是,看看他们目前的口号:

Bonjour也称为零configurationnetworking,可以使用行业标准IP协议在本地networking上自动发现设备和服务。 Bonjour使用Cocoa,Ruby,Python和其他语言可以轻松地发现,发布和解决networking服务的复杂,易用,易于使用的编程接口。