分析初体验
在做Android 4G数据连接这部分工作的时候,出现可一个很奇怪的问题:4G可以通过ppp成功拨号,网络接口ppp0处于UP状态,并且也成功获取到了IP地址,log信息如下:
shell@px3:/# netcfg
lo UP 127.0.0.1/8 0x0000004900:00:00:00:00:00
eth0 UP 0.0.0.0/0 0x000010033a:ff:da:2e:3c:d5
sit0 DOWN 0.0.0.0/0 0x0000008000:00:00:00:00:00
ip6tnl0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
ppp0 UP 10.44.69.64/32 0x000010d100:00:00:00:00:00
shell@px3:/# ifconfig ppp0
ppp0:ip 10.44.69.64 mask 255.255.255.255 flags [up point-to-point running multicast]
从上面的信息我们可以看出表面上都是没有问题的,下面就是开始最后一步的确认,上网。执行命令后,log如下:
shell@px3:/#ping www.baidu.com
pingunknown host www.baidu.com
上面的ping执行出错了,找不到主机地址。找不到主机地址有可能是DNS服务器地址有问题,不能进行域名解析。于是查看DNS属性,log如下:
shell@px3:/# getprop | grep ppp0
[net.ppp0.dns1]:[211.140.11.66]
[net.ppp0.dns2]:[211.140.188.188]
[net.ppp0.gw]:[10.64.64.64]
[net.ppp0.local-ip]:[10.44.69.64]
[net.ppp0.remote-ip]:[10.64.64.64]
上面的属性输出可以看出DNS并没有问题。既然不能进行域名解析,那现在直接pingIP地址:
shell@px3:/# ping 202.101.172.37
connect:Networkis unreachable
居然是网络不可达,那就应该是路由的问题了,可能是因为没有路由所致。既然没有,我就手动添加一条默认路由,于是