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對網絡協議似乎不是太嚴禁:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM