SimpleSSHD for Android

https://play.google.com/store/apps/details?id=org.galexander.sshd&hl=en

通过google play安装到手机,默认端口为2222,app手机启动后,需要点击启动按钮开启服务。app上会显示手机ip。

然后通过电脑ssh客户端连接,如 ssh 192.168.1.100 -p 2222,连接建立后会在app上显示随机分配的密码,再客户端输入后可以成功登陆了。可以在ssh文件目录下添加 authorized_keys文件,这样就不用每次输入了。

手机sd卡的目录为 /sdcard/,连接的普通用户是有读写访问权限的。可以使用rsync把手机相册的问题件同步到电脑上。rsync -e ‘ssh -p 2222’ -rtvpl 192.168.1.1:/sdcard/DCIM/ .

扩展:Asias使用rsync把手机图片视频原始文件同步到电脑,然后再压缩后回传到手机,这样大大减少了手机空间使用,而且压缩后的图片视频基本不影响查看。

用手机浏览器写博客

最近把一些不常用的手机客户端删除了,使用手机浏览器的移动版,最大的体验就是简洁、实用、高效。电脑网页版设计最复杂,其次是手机App。越是资源丰富的地方越被设计者滥用,而在资源有限的地方只做了最关键有用的事情。

之前用过wordpress的客户端,已经很方便了,比网页访问速度快,有些内容是延迟同步的。这个手机浏览器的H5版本也够简洁。

设置代理服务器, 辅助API请求调试

为什么设置代理服务器?
  1. 手机设置代理服务器后,所有请求数据包都会经过代理服务器,可以在代理服务器上抓包,查看请求数据包得详情,用于调试
  2. 开发手机APP时候,如果正式环境和测试环境使用不同的域名,就需要编译两个包,来回安装写在太麻烦。可以通过切换域名解析的方式,让正式环境的域名访问测试环境。手机设置代理服务器后,所有请求的域名解析是在代理服务器进行,我们需要在代理服务器上(可以是自己的机器,也可以是共用的测试服务器),把请求域名指向测试环境。
如何修改系统hosts配置,修改域名和IP的映射?
  1. Linux, Mac OSx 通过修改 /etc/hosts文件,添加域名到IP映射
  2. Windows下通过修改 C:WindowsSystem32driversetchosts  (参考:http://jingyan.baidu.com/article/9faa72317903f1473c28cb01.html)
如何设置代理服务?
代理软件:Charlers(包括:代理服务器和监听功能)

启动后自动监听本机8888端口,在Chalers界面也可以查看不同协议的数据报及其详情。

设置手机代理:
在wifi连接里设置“手动”代理,IP为代理服务器地址,端口为代理服务器监听端口

分析手机APP通信协议

首先在Fedora系统里安装squid, 然后启动squid服务, 默认监听端口为3128

# yum install -y squid
# service squid start

联接手机到无线网络, 设置在手机设置->WLAN里,修改所链接网络的设置,在高级选项里设置代理,代理IP地址为 Fedora 的IP地址, 端口为3128

然后在fedora上使用wireshark, tcpdump进行监听, 这里可以通过源IP和目标IP,协议端口等进行过滤, APP一般都是通过HTTP请求和后台进行数据通信.

# yum install -y wireshark-gnome
# sudo tcpdump -i wlp3s0 src 10.208.9.91 or dst 10.208.9.91 -A
# wireshark