美文网首页
记录某无法抓包App的处理

记录某无法抓包App的处理

作者: 大发明家达文西 | 来源:发表于2019-06-27 12:19 被阅读0次

1. 背景说明

碰到某无法通过设置代理直接抓Http包的App,想探其原理

2. 发现异常

  1. 首先按照最普通的方法设置代理到PC机的 Charles、Brupsuit等软件,可以发现,App居然在访问localhost域名:


    localhost.png
  2. 观察代码,发现App在本地使用了NanoHTTPD服务,由于手机设置了代理,向localhost的请求直接转移到了PC的localhost上,PC的localhost肯定连不上手机App开启的http服务,自然抓不到包:


    NanoHTTPD.png
  3. 端口号绑定在 10240+ 附近:


    image.png

3. 解决方案

  1. 定位端口,用 ps 确定进程号,再用 netstat 确定端口号,结合抓包结果,那几个10240+ 并且还在Listening的端口号就很可疑了:


    pid.png
    port.png
  1. 这种情况,首先可以用手机自带浏览器试试,当然我们已经知道结果了,直接adb forward 把 pc机端口转发到手机上


    adb.png
  2. 请求成功:


    cap.png

3. 第二个坑

  1. 上一步只是解决了本地通信的问题,然而和远程服务端通信的问题仍然未解决。通过wireshark确实可以看到App存在和外网服务器的通信,猜测App未使用常规的Http通信。继续查看代码发现App自行构造的Http头:


    image.png
  2. 这样就说的通了,由于App使用Socket 直接进行连接,未使用Http有关的Api,通过Wifi 的高级选项设置的代理自然不会起作用,这种情况的解决方案是给App设置全局代理,以Postern为例,规则2的ip和port设置为抓包工具的监听地址和端口:


    proxyconfig.png
  3. 可以成功抓包:


    cap.png
  4. 这里的数据包是经过加密后的,看一下数据包内容,符合App的加解密规则,:


    packet.png
    code

相关文章

网友评论

      本文标题:记录某无法抓包App的处理

      本文链接:https://www.haomeiwen.com/subject/nhooqctx.html