[原创]HTTP请求IP或域名转向的方法

在分析HTTP网络数据包时,我比较喜欢使用Fiddler,这个工具界面友好,功能强大。同时提供脚本支持以满足更高级的功能。下面就介绍一种方法,重定向手机App(或者PC应用程序)HTTP请求的IP或者域名的简单方法.

  1. 安装Fiddler:

    首先安装Fiddler Web Debugger,然后运行Fiddler.

  2. Android手机为例,设置HTTP代理:
    在已经连接WiFi的条目上长按,弹出功能菜单,选择"管理网络设置":
    20170707-093010.png

    然后设置代理到你的本机IP和端口,端口默认是8888.
    20170707-093032.png

  3. 运行你要网络抓包的App,设置正确的话,你会看到所有Android手机的HTTP请求都会被Fiddler记录下来(手机安装证书,也可以抓包HTTPS请求).

  4. 设置自动IP或者域名转向,在菜单Rules中选择Customize Rules…
    20170707-093036.png

    找到函数: static function OnBeforeRequest(oSession: Session),然后增加下面代码:

    static function OnBeforeRequest(oSession: Session) {
        if(oSession.HostnameIs("xxx.xxx.xxx.xxx"))
        {
            oSession.hostname="172.16.1.56";
        }
        // ...
    }
    

    "xxx.xxx.xxx.xxx"填写你要转向的IP地址或域名,然后再设置你要转向的IP地址或域名就大功造成了。

    这样你就不需要反编译和重新打包App,轻松把App的HTTP的请求转向你的服务器地址了。

    另外,如果要替换HTTP请求返回的内容,可以写如下代码:

    static function OnBeforeResponse(oSession: Session){
        oSession.utilDecodeResponse();
        oSession.utilReplaceInResponse('xxxxx','yyyyy');
    }
    

标签: fiddler, http

添加新评论