我想在 LAN 网络中进行扫描以查找链接的设备。 我正在为 IPAD 在 IOS 中开发一个应用程序 我该怎么办???
最佳答案
因为这些是移动设备,所以我假设您想在无线网络上查找设备。从理论上讲,由于 wifi 使用共享介质进行通信,您可以被动地监听流经网络的流量并收集有关客户端的数据,而无需发送任何数据包。这通常被称为混杂模式。实际上,网络适配器驱动程序有 99% 的机会只允许您获取发往您的 MAC 地址的流量。在这种情况下,您将需要诉诸于主动扫描网络子网,这不是 100% 准确的,并且取决于网络的实现方式,可以将其视为可能的攻击。</p>
扫描的简单方法是向子网中的每个 IP 地址发送 ICMP 请求 (ping),并从发回回显回复的人那里收集数据。这是不可靠的,因为有些主机即使处于事件状态也不会响应 ICMP 回显请求。您需要做的第一件事是找出您自己的 IP 地址和子网掩码,并计算您的子网中可能的地址范围。该范围是通过使用逻辑 AND 运算符获得的,其中操作数是您的 IP 地址和子网掩码的二进制值。这是程序中的一个示例,该程序使用 255.255.255.0 子网掩码(CIDR 表示法为 192.168.1.1/24)计算典型的 192.168.1.1 子网:
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)并以这种方式收集一些信息。我不知道你想做什么,但你不能通过这种方式获得很多有用的信息,除了主机网络适配器的供应商。
关于ios - 如何扫描 LAN 网络中的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17953119/