我能在安卓模拟器中使用ping命令吗?

5
我遇到了一个非常奇怪的问题: 在我的主机上,我使用dhcp。 我的模拟器4.0.3可以通过浏览器登录到网络,如下所示:
但是,当我使用adb shell连接到这个模拟器并尝试ping www.baidu.com时,它会一直循环,如下所示:
有什么想法吗?谢谢
1个回答

7
似乎Qemu用户网络模式(Android模拟器的默认模式)不支持ICMP协议(ping)。因此,如果不更改网络设置,您无法在Android模拟器中ping主机。

http://wiki.qemu.org/Documentation/Networking#User_Networking_.28SLIRP.29

如果您只想查看是否可以访问某个主机,可以尝试使用netcat(nc)连接已知打开的端口。例如,要检查是否可以访问www.baidu.com,可以尝试连接端口80(HTTP)。 nc -v www.baidu.com 80 如果连接成功,您将看到类似于以下的消息: Connection to www.baidu.com 80 port [tcp/www] succeeded! 如果您真的想使用ping,请按照此博客文章中的步骤操作。抱歉,说明仅适用于Linux。但它可能会给您在Windows上如何执行此操作的想法。

http://emulatorforandroid.blogspot.jp/2013/04/enabling-ping-and-icmp-on-android.html


1
这是一个很好的想法,但默认情况下,netcat会保持连接时间非常长,在我的测试中超过了一分半。附加“-w”标志并设置超时值将在[超时]秒后静默关闭连接。 - Tony Adams
博客文章现在可以在这里找到:https://gist.github.com/manojrege/9e491f902767898af1af1665c8c531db - user1302884

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接