Node抓包工具AnyProxy的小体验

2018-12-18 09:19:45


参考地址  Node抓包工具AnyProxy的小体验



安装AnyProxy

全局安装AnyProxy模块


npm i -g anyproxy

1



配置

生成证书


anyproxy-ca

1



以代理https的方式启动


anyproxy -i

1



在浏览器打开链接


http://localhost:8002/

1



安装证书

配置代理

用的是Charles,具体可以参考网上其他文章,当然这个我后来也没配置,直接在手机的代理设置好PC的IP和默认的8001端口就可以了


PC端

本地双击直接安装rootCA.crt


C:\Users\Administrator\.anyproxy\certificates\rootCA.crt

1

手机端

扫描http://localhost:8002/界面下的RootCA二维码下载到手机 

- 在手机直接安装证书(但有可能提示:无法安装该证书 因为无法读取) 

- 打开设置->更多设置->系统安全->从存储设备(SD卡)安装->选择文件(有可能会提示警告,或者要你设置密码才能安装)


这里有一点要注意,如果是IOS10+,安装完证书之后要在设置->通用->关于本机->证书信任设置,打开对应的针对根证书启用完全信任,才可以抓包成功


定义规则

新建rule.js文件


module.exports = {

    summary: 'a rule to hack response',

    * beforeSendResponse(requestDetail, responseDetail) {

        if (requestDetail.url === 'http://httpbin.org/user-agent') {

            const newResponse = responseDetail.response;

            newResponse.body += '- AnyProxy Hacked! Wscats Test~';

            return new Promise((resolve, reject) => {

                setTimeout(() => { // delay

                    resolve({

                        response: newResponse

                    });

                }, 5000);

            });

        }

    },

};

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

在终端执行一下命令,在手机端打开http://httpbin.org/user-agent链接测试,代理https请求记得加上--intercept参数


anyproxy --intercept --rule rule.js

1



然后在浏览器打开链接http://localhost:8002/可以看到页面会有一下内容,证明配置规则成功


{

  "user-agent": "Mozilla/5.0 (Linux; U; Android 6.0.1; zh-cn; Redmi 4A Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/9.3.10"

}

- AnyProxy Hacked! Wscats Test~

1

2

3

4


  • 2018-12-26 16:12:56

    nginx+php-fpm模式php内存泄漏探究

    这里要重点说一下第三步骤。第三步涉及到php-fpm进程生命周期的东西。一个php-fpm的生命周期大致是这样的:模块初始化(MINIT)-> 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN) -> 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)……. 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)-> 模块关闭(MSHUTDOWN)。在一个php-fpm进程的生命周期里,会有多次的模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)的过程。这个“请求处理”的大致过程是这样的:php读取相应的php文件,对其进行词法分析,生成opcode,zend虚拟机执行opcode。

  • 2019-01-01 21:38:51

    php使用curl设置超时的重要性

    网站登录不了,原因是没有可用的 PHP 子进程来响应新的请求了。这可能是是由于PHP-curl 没有设置超时时间引起的。

  • 2019-01-01 21:42:34

    php-fpm 启动参数及重要配置详解

    如果file_get_contents请求的远程资源如果反应过慢,file_get_contents就会一直卡在那里不会超时。我们知道php.ini 里面max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效。真正能够控制 PHP 脚本最大执行时间的是 php-fpm.conf 配置文件中的request_terminate_timeout参数。