【发布时间】:2017-02-22 08:53:40
【问题描述】:
当我使用arping 发送 ARP 请求(我知道睡眠中的 iPhone 不会回复 ICMP ping)到连接在同一个 wifi 上的睡眠中的 iPhone/Android(意味着它们已打开但屏幕很暗)时, 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
但有时,iPhone 会不断回复。有时它根本不响应琶音。 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
Android 似乎更积极一些。那么 iPhone/Android 响应 ARP 请求的策略是什么(This post 可能相关)?家用级路由器可能与此有关吗?
实际上我正在用 libpcap 编写一个 ARP 扫描器(如果有帮助,我可以提供 golang 代码),那么我怎样才能尽可能多地检测手机呢?
ps:我知道这个问题有点离题,但是我应该把这个问题放在哪里真的让我很烦恼,超级用户不允许关于手机的问题,问不同的问题是不合适的,因为这个问题不仅仅是关于苹果硬件或软件。我把它放在networkengineering 上,但它被搁置为题外话。
【问题讨论】:
标签: networking ping ethernet libpcap arp