您的位置:首页 > 运维架构 > Linux

Linux 系统共享Kindle DXG的免费3G上网

2012-07-07 15:55 344 查看


话说Amazon的Kindle DXG不具备wifi功能.但是具备3G无线上网功能.

据官方文档说明.3g在美国本土是免费的.其他国家有部分地区可以搜到3g(是亚马逊和当地运营商合作的).

能收到的地方,简单的上上网也是免费的(干什么不免费,请看官方文档).



免费的网络当然是好东西,不限流量,不限时长,有效期什么的也不用考虑.唯一不好的就是kindle dxg的内置浏览器太傻X.(另外,这个网络是绕过GFW的,你懂的)

目的:

我们现在要把kindle当作一个免费的3g无线网卡,通过usb接到电脑上,然后电脑就能上网了.

解决方案:

将浏览器的请求包全部转发到本地的某个端口(比如说2012).

通过ssh的端口转发功能将本地的2012端口收到的数据以kindle为桥梁转发到amazon_proxy_host.

由amazon_proxy_host对数据进行出来,并请求网络资源,然后将资源,反向返回到本机的浏览器.

上网成功.



一些解释:

1.为什么要转发到amazon_proxy_host?

答:亚马逊规定所有请求数据必须通过这个代理,方便其管理监视.

2.如何获取amazon_proxy_host的地址?

答:当你使用kindle上网的时候kindle的系统中会出现一个网络接口ppp0,通过监听查看,流过该接口的数据可以得到代理服务器的ip.

3.另外由于amazon的代理服务器需要验证身份,在发送给代理服务器的http请求header里面需要加上x-fsn和x-fn-appid头才能通过验证。 所以监听数据的时候,还要获取这两个.



具体操作:

1.kindle dxg越狱,越狱工具在这个帖子里,这是全球的kindle技术最高的一个帖子了.

要装jailbreak

要装usbnetwork

可参考这个帖子和这个帖子

2.kindle上面开启debug和启动usbnetwork的方法

在search中输入 ;debugon 开启debug模式,查看是否开启成功请输入 `help ,会弹出帮助窗口.

开启debug后输入 `usbnetwork 按确定.

3.将kindle通过usb线连接到电脑上,linux下用ifconfig会看到多了一个usb0

通过将usb0的ip地址设置为静态的192.168.2.1就能与kindle 建立网络连接了(kindle默认ip是192.168.2.2).

4.网络连接成功后就可以(telnet 或ssh)到192.168.2.2也就是kindle了,注意ssh需要等待很长时间,原因未知.

现在开始使用ssh建立kindle和电脑之间,以及代理服务器之间的连接了.

两种方式:

A. ssh到kindle上面,输入 ssh -R 2012:72.21.206.113:80 root@192.168.2.1 ,然后输入密码,然后不要退出保持连接就行了.

B. 在电脑上面输入 ssh -L 2012:72.21.206.113:80 192.168.2.2

此处的72.21.206.113就是上面提到的amazon的代理服务器,需要通过一个叫做tcpdump-arm的软件监测ppp0得到,具体操作看前面推荐的帖子.

5.火狐浏览器,设置代理,使用的是http代理(目前只能使用http,https还不能用)指向127.0.0.1,端口2012.

6.完毕.

更新(2012.1.22):

为火狐浏览器增加一个用来上wap网站的名为wmlbrowser的插件,效果更佳。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: