android 模拟器无法ping通主机

很多时候我们通过adb 连接 android 模拟器调试网络程序,也许你能直接访问浏览器,浏览网站,但是却无法ping同局网的一个机器,比如:

# ping www.sina.com                                    
PING puppis.sina.com.cn (221.236.31.210) 56(84) bytes of data.
^C
--- puppis.sina.com.cn ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3001ms

 

有的说是模拟器在10.x.x的问题,但是如果是网段问题,是不会访问网站的。

 

我抓了一下包,验证一下,是否是模拟器屏蔽了底层的功能,不抓不知道,一抓才知道,模拟器把icmp的协议类型搞错了,本应该是0x1,结果搞成了0x11,

当然数据包也就从icmp变成了udp,相信没有那个server会在udp的echo端口监听吧。

看来google对网络协议似乎不是太严禁:)

posted @ 2017-09-16 17:01  Boblim  阅读(2488)  评论(1编辑  收藏  举报