首页 » 随心所言 » kindle 3用作modem共享3G上网

kindle 3用作modem共享3G上网

10-12-02 17:36 17 发表评论 RSS 2.0

大家都知道,kindle 3的3G上网是免费的,不过在kindle上看网页是比较痛苦的事情,要是kindle 3的3G上网能共享出来上网那就爽了,尤其在外面带了笔记本而又没WIFI的时候,也许就管用了。

今天在网上看到了一个方法,翻译一下过来,我还没试成功呢,试成功的可以说下,我的usbNetwork好像不起作用,连上USB后telnet或ssh都连不上kindle.

原作者是用MAC电脑来举例的,其实别的电脑也差不多,懂些电脑知识的人比较容易理解,一共只要10步:

越狱和安装usbNetwork请看我之前的文章

1. 越狱你的Kindle

2. 安装usbNetwork,然后在kindle的根目录运行两条命令

;debugOn

~usbNetwork

3. 连接Kindle的USB到你的笔记本,然后手动配置笔记本IP成192.168.2.1。

4. 打开一个终端窗口运行ssh root:fiona@192.168.2.2或telnet 192.168.2.2。

5. 下载tcpdump-arm,然后再上传tcpdump-arm到Kindle并移动到根目录。为防万一先运行下“mntroot rw”修改读写属性。

6.在终端窗口上” cd / ” 进入根目录,再输入“./tcpdump-arm -nAi ppp0 -s0″运行命令,并在Kindle上使用3G上网浏览,正常应该会在终端窗口显示出x-fsn验证密匙

7. 在Kindle与笔记本之间创建一个用于代理的ssh连接

8. 如果sshd挂了,telnet到Kindle,重置与你笔记本之间的ssh

9. 安装Firefox浏览器一个叫做“Modify Headers”的插件,这样能在你浏览的页面里插入你的x-fsn密匙

10. 设置笔记本上Firefox的代理为127.0.0.1:8099,你也可以添加一个端口供SSL

这样就大功告成了。

不过 不是所用网站都没问题,貌似gmail就不行,而且没有iPhone的3G快(估计作为Modem也是需要性能的)。最重要的一点Amazon可以根据你的x-fsn密匙知道你浏览哪些网站,可能会将免费的3G服务变成0.99美元/MB的收费服务,所以非必要的话就不要乱用。

原贴在这里:http://balaganov.wordpress.com/2010/09/25/tethering-the-kindle-3/

好像要fan墙才能访问

====================================

今天再发现这篇文章,留来备用

原帖:http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/

搜索“kindle 3用作modem共享3G上网”,有很多文章,但绝大部分都是翻译国外一个哥们的文章,写的很大概,一般人很难操作成功。 昨天根据这篇文章研究了下kindle 3的系统,得到一些成功。

Kindle 的系统是amazon基于linux开发的嵌入式系统。通过在kindle上安装usbNetwork(网上自己搜索,有很多东西都要用到usbNetwork),可以把kindle与电脑连成一个局域网内。然后通过ssh或者telnet可以进入kindle内部。(用户名是root,密码是空,一般usbNetwork装好后,电脑的ip就是192.168.2.1,kindle的ip是192.168.2.2)

Kindle 3 打开wireless 并成功连上3g网络后,用ifconfig命令可以看到有一个ppp0连接,这就是3G网卡。 按理说就算是漫游,设备在连接上3G网络后,都应该有完全的网络访问能力。但是kindle系统限制了只能连接某几个ip(几个*.amazon.com的站点)。ping www.amazon.com 可以,但是ping 8.8.8.8就不行。 kindle系统里面的浏览器是通过fints-
g7g.amazon.com ( 72.21.206.113 ) 这个http代理服务器实现上网的(https代理服务器是另外一个)。

可恶的是,amazon的代理服务器需要验证身份,在发送给代理服务器的http请求header里面需要加上x-fsn和x-fn-appid头才能通过验证。不同的kindle设备这两个值不同,所以需要先截取kindle内部浏览器发送的请求,得到这两个header值。方法是下载一个tcpdump-arm软件,传到kindle内(可以使用scp命令,或者先在U盘模式下存到kindle的sd卡里,然后可以在/mnt/us/下面找到)。然后进入kindle内部,运行此软件(如果提示没有权限,可以试试chmod 555 tcpdump-arm设置下权限)。运行方式是找到tcpdump-arm文件的文件夹,然后./tcpdump-arm -nAi ppp0 -s0。 然后在kindle上打开浏览器,随便上一个http网站,电脑上的命令行界面就可以看到截取的各种消息,很容易就从中找出需要的两个header值。

得到两个header值之后,我们就可以在电脑上伪造kindle内部浏览器的请求了。 很遗憾,目前只能用firefox实现,并需要一枚firefox扩展:modify-headers。安装好这个扩展,先添加上面说的两个header,然后设置forefix的http代理服务器为 localhost 端口号是1234(随你)。 然后在kindle上做一个逆向端口转发,把本地的1234端口的数据转发到72.21.206.113的80端口上。 具体步骤是 先telnet或者ssh进你的kindle,然后输入ssh -R 1234:72.21.206.113:80 username@192.168.2.1。其中username@192.168.2.1是你电脑的ssh用户名和ip。能这样做的前提是你的电脑可以通过ssh登录,这个在mac os 和linux下非常容易,windows用户只能说靠你自己了。。。。

此时你应该可以用你的firefox正常上网了。 你可以跳过添加验证header的步骤,也可以上网,但是仅限于*.amazon.com站点。 不过遗憾的是,就算能够正常上网,也无法访问https链接,因为modify-headers这个扩展貌似不支持https请求。

另外,ssh可能会经常断,kindle的3g连接在一段时间不使用后,也会自动断开。为了防止此种情况发生,在创建好反向连接后,输入ping 192.168.2.2 从你的电脑不停的ping kindle,这样可以保持这个反向连接不断开。然后再开一个命令行窗口,再次进入kindle,输入ping www.amazon.com ,这样可以保持kindle的3G网络不断开。

如果某个高人能够破解kindle系统对网络访问的限制,使其能访问任意站点,那就不用这么麻烦了,而且数据也不用走美国跑一趟。这应该是可以通过软方法实现的,因为既然kindle能直接访问*.amazon.com,那就证明kindle有网络访问权限,问题肯定在操作系统上。

如果实在无法破解其限制,我在考虑做一个proxy程序,在kindle上运行,自动添加验证header到每个请求头部。这样,就可以简化到 1在kindle上运行usbNetwork和proxy并连接到电脑,2在电脑上任意浏览器输入http代理 192.168.2.2 80端口,就可以了。 而且也能更好的支持https。 我在考虑用开源的tinyproxy修改,交叉编译然后放到kindle里面运行。

交叉编译我们学校教过,但是被我完全忘了。。。。一切得从头学一下。

对于某些同学认为如果大家都滥用kindle的免费3G,amazon肯定会禁用全部kindle的3g访问。 我觉得不会,因为目前,所有流量都是走amazon的代理,他们知道所有流量信息,并且能区分不同的kindle设备发送的数据,觉得某个kindle有问题,把那个kindle设备禁用掉就行,不会殃及到其他人的。 要是那个高人破解了kindle系统的网络访问限制,那估计AT&T会真的找到amazon禁用全球漫游的数据。。。

kindle的所有网络请求都走代理,虽然响应速度慢了点,但是下载速度还可以,我试过下载最高可以达到100-200K/s,但是如果持续的大流量下载,代理服务器会禁用你的连接一会儿。 比如我无法完整的看完一个视频。   另外,就是这个代理服务器可以顺便实现翻墙,不过悲剧的事情有来了,twitter和facebook等绝大部分墙外的东西登录都用的是https。。。解决办法是先用电脑正常翻墙登录并保存登录信息,然后再用kindle上。

标签:, ,

评论 共17条 (RSS 2.0) 发表评论

  1. gongchangb说道:

    没有绑定信用卡的应该就不会收费的吧!

    • wincold说道:

      嗯,没有绑定信用卡肯定收不了你的钱的,但问题是amazon是有权利把你的3G上网停掉的

  2. rider说道:

    请问第五步“下载tcpdump-arm”怎样操作?我点击上面的链接,出来乱码网页

    • wincold说道:

      嗯,用IE直接打开是有这个问题,IE用右键目标另存为来下载,下载后再去掉TXT的后缀名,用chrome或firefox下载应该正常

  3. 路人甲说道:

    请问“上传tcpdump-arm到Kindle并移动到home根目录” home根目录是哪里?

  4. neil说道:

    第五步 tcpdump-arm要放在home里面? 我怎么找不到home呢? /下成么?
    第六部 这个命令是在kindle的搜索栏里面执行么?

    …折腾了半天卡住了…求教…

    • wincold说道:

      越狱后ssh连接上kindle就能找到了吧,如果不会用命令的话按我之前的文章弄成SFTP来传送文件,在kindle上输入命令都是在根目录那按下回车后,出现一个输入框了

  5. neil说道:

    我先是用普通的usb复制文件到了/mnt/us下面, 然后ssh连接后,cp到了/下面.是应该放在/下面么?我这没有/home呢…
    然后在kindle上输入命令之后就是查找页面了…然后就没然后了…

  6. 路人甲说道:

    我建议博主删除这篇文章,如果大家都用这个当热点上网,只会造成amazon封掉大陆的ip. 显出国人的素质如何底下。 何必为了占这点小便宜,丢人丢到国际上去了呢。我建议博主删除这篇文章,如果大家都用这个当热点上网,只会造成amazon封掉大陆的ip. 显出国人的素质如何底下。 何必为了占这点小便宜,丢人丢到国际上去了呢。

    • wincold说道:

      首先这个方法是外国人弄出来的,也不见得有人说外国人素质差,再说amazon发现3G流量有异常,可以直接停掉你的3G功能的,而不是封IP,至于说会有大量的人用这个方法,这个基本上不大可能,没有几个人愿意折腾的,愿意折腾的基本上是对这个感点兴趣,或上网实在不方便的人

  7. ayu说道:

    想问问博主,笔记本电脑如果非中文系统是否能正常设置呢?求解~

  8. toyjack说道:

    嘎嘎 原文看来是我翻译的哪个版本啊~

    @路人甲 你太逗了

  9. lilong10说道:

    我在kindle dxg上也活的了成功,但仅限于在firefox上用http。https还是不支持。不知道有没有高手可以解决一下https的难题。还有就是是否能用putty通过kindle的3g远程登录的?多谢了!

回到页首