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

  1. 安装Fiddler:

    首先安装[Fiddler Web Debugger](http://www.telerik.com/fiddler),然后运行Fiddler.
    
  2. Android手机为例,设置HTTP代理:

    在已经连接WiFi的条目上长按,弹出功能菜单,选择"管理网络设置":
    ![20170707-093010.png][1]
    
    然后设置代理到你的本机IP和端口,端口默认是8888.
    ![20170707-093032.png][2]
    
  3. 运行你要网络抓包的App,设置正确的话,你会看到所有Android手机的HTTP请求都会被Fiddler记录下来(手机安装证书,也可以抓包HTTPS请求).
  4. 设置自动IP或者域名转向,在菜单Rules中选择Customize Rules…

    ![20170707-093036.png][3]
    
    找到函数:  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

仅有一条评论

  1. 1 1

    555

添加新评论