2017-08-18
mitmproxy 应用(二)可编程代理

系列文章


mitmproxy 是可编程的,而且非常容易使用。先来看一个简单的例子: 阅读此文

2017-08-09
mitmproxy 应用(一)基础代理

系列文章

mitmproxy 是一个开源的代理工具,我曾经在 手机抓包工具汇总 中提到过它。本系列会把我使用 mitmproxy 时碰到的一些经验列出来。

透明代理

我们经常会在系统中设置代理,但有些软件并不理会系统代理,坚持使用直接连接。要解决这个问题,我们可以使用透明代理。详细的说明可以看 Transparent Proxying

下面以 Android(客户端)+macOS(开发宿主机)为例说一下透明代理的实现。我的步骤和 mitmproxy 的文档 略有出入,可对比查看。 阅读此文

2017-08-08
如何写出难看的代码(一)

这段代码用来生成 URI 中的查询字符串。

例如,有一个 object 的内容如下:

1
2
3
var obj = {a:'1',b:'2'};
console.log(makeParamsString(obj, true) === '?a=1&b=2');
// true

好看的代码应该是怎么样的: 阅读此文

2017-08-01
Primary script unknown 错误解决

错误解决

在 macOS 中配置 nginx+php-fpm 出错,访问 http://localhost/phpinfo.php ,浏览器中的显示是:

File not found.

在 nginx 的 log 中,完整的错误为: 阅读此文

2017-07-18
gitlab 配置要点

gitlab 是个不错的开源套件,它提供了一套自建私有的类 github 服务的一站式解决方案。

和我之前介绍过的 gitolite 不同, gitlab 提供了清晰完善的前后台操作界面,管理上更加容易。

另外,如果有更进一步的 Code Review 需求,应该尝试 gerrit

阅读此文

2017-06-27
手机抓包工具汇总

2017-08-26 更新: 加入 mitm 相关介绍。


做移动开发,抓包是基本功。现在的开发者当真是非常幸福,因为抓包工具已经非常成熟了。

在移动设备上抓包,需要下面几个方面的配合:

  1. 移动设备支持;
  2. 代理服务器;
  3. 分析工具。 阅读此文

2017-06-14
解包 APK

出于研究的目的,我们可能需要反编译 APK 并得到源码。这件事相当简单,因为先行者们已经做好了所有的工作,我们要做的就是下载,使用他们开发出的工具而已。

如果只是需要反编译之后的 JAVA 源码,最简单的方案是这样: 阅读此文

2017-04-21
Flask 在 Debug 模式下初始化2次

Flask 在 Debug 模式下启动的时候,会被初始化两次。看下面的代码:

1
2
3
4
5
6
from app import app
import time
if __name__ == '__main__':
print(time.time())
app.run(port=5000, debug=True)

输出: 阅读此文

2017-04-13
uWSGI+rsyslog 实现 rotating logging

uWSGI 可以使用 --logto / --logto2 / --daemonize 这几个参数来指定把 log 写入普通文件。但普通文件管理起来比较麻烦,我们可以利用 Ubuntu/CentOS 中自带的 Rsyslog 来实现日志管理。本文以 Ubuntu 16.04 为例。 阅读此文

2017-04-12
uWSGI + Nginx 的 HTTPS 支持

有时我们在一台机器上部署多个 uWSGI 服务,并提供 HTTPS 支持。使用 proxy_pass 代替 uwsgi_pass 是很简单的方案: 阅读此文