常见的抓包检测及抓包方案

一、 不通过代理进行发包

这里推荐大家去百度下常用的app发包的实现

  1. HttpsURLConnection设置不走代理
    代码如下:
    System.getProperties().put(“proxySet”, “true”); System.getProperties().put(“proxyHost”, “proxy.xxx.com”); System.getProperties().put(“proxyPort”, “8080”);
  2. okhttp3设置不走代理
    上链接:okhttp防止抓包的实现
    防止代理抓包的实现
解决方案:
  1. Hook设置代理.frida或者xp都有相对应的脚本
  2. 在模拟器中可以使用httpv7来抓包,这个工具用来抓应用程序的包
  3. 使用VPN抓包,就是虚拟出来一张网卡,虚拟网卡的实现办法,我是虚拟网卡,我又不是依据代理抓包,所以防止代理抓包检测无效,毕竟网络请求还是要走网卡的。

代理检测与VPN检测

  1. 代理检测
    System.getProperty通过这行代码可以获取到系统是否使用了代理
  2. VPN检测一
    NetworkInterface.getNetworkInterfaces();
    networkInterfaces.hasMoreElements()
    java.net.NetworkInterface.getName
    android.net.ConnectivityManager.getNetworkCapabilities
    这里获取的name可能是一下情况tun0,ppp0
解决方案:
  1. 可以尝试使用Objection把java.net下的类全hook,来查看app使用了哪些方法
  2. Hook相应的类,并修改(这个根据课程中我们开发的app进行查看)
    if(name == "tun0" || name == "ppp0"){
    
    
               return "rmnet_data0";
           }else {
    
    
               return name;
           }
  1. 通用的HOOK抓包手段
    肉丝大佬的:https://github.com/r0ysue/r0capture
  2. fasdf

猜你喜欢

转载自blog.csdn.net/ONExiaobaijs/article/details/127945788
今日推荐