测试用例

测试应用有两个按钮,分别用 HttpURLConnectionOkhttp3 请求 https://www.baidu.com/。注意:两个请求都加入了 Proxy.NO_PROXY。

//HttpURLConnection请求https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13812371237
public void getHtmlByUrlconnection(String path) throws Exception {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY); // openConnection(Proxy.NO_PROXY)是关键conn.setConnectTimeout(5000);conn.setRequestMethod("GET");if (conn.getResponseCode() == 200) {InputStream inStream = conn.getInputStream();ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inStream.read(buffer)) != -1) {outStream.write(buffer, 0, len);}inStream.close();String res = new String(outStream.toByteArray(), "UTF-8");Log.d("GRAB", res);}
}//OkHTTP3请求https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13923542345
public void getHtmlByOkhttp3(String path) {OkHttpClient okHttpClient = new OkHttpClient().newBuilder().proxy(Proxy.NO_PROXY).build(); // proxy(Proxy.NO_PROXY)是关键final Request request = new Request.Builder().url(path).get().build();Call call = okHttpClient.newCall(request);call.enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {Log.d("GRAB", "onFailure: ");}@Overridepublic void onResponse(Call call, Response response) throws IOException {Log.d("GRAB", "onResponse: " + response.body().string());}});
}

可以看到,基于代理抓包的Fiddler不再有效,我们可以从网络更底层或者函数本身入手解决。

HttpCanary

Android平台抓包工具,功能非常强大,基于传输层,连TCP UDP也能抓。首先去其设置中安装证书(Android7.0+注意要系统证书)。

操作比较简单,不多赘述了,可以看到用此工具可以抓到不走代理的包。

Hook相关函数

使用Frida Hook掉设置代理的函数:

function hookProxy() {Java.perform(function () {let URL = Java.use("java.net.URL");URL.openConnection.overload("java.net.Proxy").implementation = function (arg1) {console.log("hook了HttpURLConnection")return this.openConnection();}let Builer = Java.use("okhttp3.OkHttpClient$Builder");let newBuilder = Builer.$new();Builer.proxy.overload("java.net.Proxy").implementation = function (arg1) {console.log("hook了okhttp3")return newBuilder;}});
}

运行:

抓包:Android不走代理的请求相关推荐

  1. 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView...

    本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...

  2. Charles 抓包 Idea IntelliJ 的 HTTPS 请求

    默认情况下,Idea IntelliJ 的https请求,不会被 Charles 抓包抓到的.本文将介绍如何通过 Charles 来抓包Idea IntelliJ 的https请求. 1 安装 证书到 ...

  3. 使用BurpSuite进行APP抓包如何绕过代理检测

    文章目录 使用BurpSuite进行APP抓包如何绕过代理检测 场景描述 如果绕过呢? 总结与思考 使用BurpSuite进行APP抓包如何绕过代理检测 场景描述 最近接手到一个项目,对某客户的ios ...

  4. fiddler抓包过程以及fiddler抓包手机添加代理后连不上网解决办法

    1.(1)电脑端打开安装好的的fiddler,打开Tools-Options (2)HTTPS设置如下图 (3)Connection设置如下图,端口号设为8888 2.手机端添加代理 注:电脑联网和手 ...

  5. Windows10用fiddler抓包Android应用(解决手机设置代理后无法上网,设置只抓app包)

    #1.环境准备 1.电脑上安装fiddler #2.设置 1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote com ...

  6. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    $*********************************************************************************************$ 博主推荐 ...

  7. tcpdump抓包,Android抓包不用设置代理

    使用方法 平常我们抓包都是用fidder,charles这些软件进行抓包,但是使用这些软件抓包都需要设置代理,手机还好,但是对于电视,机顶盒等一些Android设备可能设置中没有这些选项怎么进行抓包呢 ...

  8. 抓包工具Charles简单使用介绍(可抓取Android中app的请求)

    摘自: 作者:Roy_Liang链接:http://www.jianshu.com/p/5539599c7a25 Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安 ...

  9. 抓包淘宝APP HTTPS请求2022最新多种方法

    抓一下淘宝App的HTTPS请求.到目前为止非常坎坷. 之前抓小红书App的时候,也折腾过类似的事情.解决了几个问题: 抓包工具:MITMProxy 手机端的强制代理:ProxyDroid的全局模式. ...

最新文章

  1. vue 写兼容ios的毫秒级刷新时间戳
  2. Redis 通用 key 命令
  3. SharePoint 2013 Word 转换PDF服务介绍及示例
  4. 4个在2020年持续发展的数据中心冷却趋势
  5. 游戏音乐是游戏内涵的补充
  6. CF573D-Bear and Cavalry【动态dp】
  7. 信息学奥赛一本通 1116:最长平台 | OpenJudge NOI 1.9 12:最长平台 | 洛谷 B2097 最长平台
  8. uni-app项目实现客服、用户聊天
  9. C++之导入lib库
  10. poj 2833 The Average(堆)
  11. 百度 php 图片文字识别,使用百度接口实现图片识别文字
  12. 杜一楠的反躬自省与24券的墓志铭
  13. OFFICE 您正试图运行的函数包含有宏或需要宏语言的解决方法
  14. 【腾讯阿里最全面试题】介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景
  15. 3.【Python编程】字典Dict相关知识及基本操作
  16. python数据类型的应用
  17. 智能车校内赛图像处理
  18. c 程序设计语言标准库,C++程序设计语言(第4部分:标准库)(原书第4版) 中文pdf扫描版[86MB]...
  19. DB2 SQL语句归纳整理(一)
  20. 使用Xshell实现SSH隧道穿透

热门文章

  1. 【linux mysql】mysql设置端口号
  2. HTML学生个人网站作业设计:动漫网站设计——海贼王主题漫画(6页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  3. 【皮尔卡丹】出炉Android平板电脑
  4. 如何使用PDF编辑器旋转PDF页面方向
  5. 第10天 喷绘与写真
  6. React Native动画入门全解析
  7. 如何进入电商直播行业?直播平台有哪些选择?
  8. [贝聊科技] 程序猿如何从产品的角度去提升应用的体验之Android权限优化篇
  9. 华为云:如何解除数据库高并发场景下的达摩克利斯之剑?
  10. linux svn怎么更新文件,linux安装SVN以及同步更新到项目上