什么是iPhone/Android响应ARP请求的策略

jfl*_*fly 8 networking ethernet ping arp libpcap

当我arping用来发送ARP请求(我知道睡觉的iPhone没有回复ICMP ping)来睡觉的iPhone/Androids(意味着它们打开但是屏幕很暗)连接在同一个wifi上时,iPhone回复给我这样的:

ARPING 10.109.201.139
Timeout
Timeout
Timeout
42 bytes from e0:ac:cb:b0:22:5b (10.109.201.139): index=0 time=20.201 msec
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
42 bytes from e0:ac:cb:b0:22:5b (10.109.201.139): index=1 time=65.401 msec
Timeout
Run Code Online (Sandbox Code Playgroud)

但有时,iPhone会不断回复.有时它根本不回答arping.Android答案如下:

ARPING 10.109.201.119
Timeout
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=0 time=78.345 msec
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=1 time=148.228 msec
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=2 time=217.777 msec
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=3 time=84.933 msec
Timeout
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=4 time=174.140 msec
42 bytes from c0:ee:fb:01:f4:fd (10.109.201.119): index=5 time=78.559 msec
Run Code Online (Sandbox Code Playgroud)

看来Android更积极.那么iPhone/Android响应ARP请求的策略是什么(这篇文章可能有关)?家用级路由器可能与此有关吗?
实际上我正在用libpcap编写一个ARP扫描器(如果有帮助我可以提供golang代码),那么如何尽可能多地检测手机呢?


ps:我知道这个问题有点偏离主题,但是我真的很讨厌我应该把这个问题放在哪里,超级用户不允许有关手机的问题,请问不同是不合适的,因为这个问题不仅仅是关于Apple硬件或软件.我把它放在网络工程上,但它被搁置为非主题.

Rob*_*Rob 2

当通过此处详细介绍的 .net ping.send 方法发送时,我妻子的休眠 iphone 和休眠 ipad 似乎都能很好地响应 icmp ping 请求 。

我在自己编写的一个程序中使用了它,并且最近在 http://www.rlatour.com/myarp上以免费软件形式提供了该程序

另外这篇文章说它可以使用另一个名为tcping的程序来工作

希望这可以帮助