精华内容
下载资源
问答
  • OkHttp防止Fiddler抓包

    千次阅读 2019-03-21 16:29:04
    OkHttp框架,可以设置proxy(Proxy.NO_PROXY)属性,禁止使用代理...亲测可以防止Fiddler工具的抓包。 var httpBuilder = OkHttpClient.Builder() .addInterceptor(defaultInterceptor()) .connectTimeout(DEFAULT_...

    OkHttp框架,可以设置proxy(Proxy.NO_PROXY)属性,禁止使用代理。亲测可以防止Fiddler工具的抓包。

    var httpBuilder = OkHttpClient.Builder()
                    .addInterceptor(defaultInterceptor())
                    .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .proxy(Proxy.NO_PROXY)
     

    -----------------------------------------------------------------------------------------

    也可通过以下方式来判断是否使用了代理

    public static boolean isWifiProxy() {
        final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >=    Build.VERSION_CODES.ICE_CREAM_SANDWICH;
        String proxyAddress;
        int proxyPort;
        if (IS_ICS_OR_LATER) {
            proxyAddress = System.getProperty("http.proxyHost");
            String portStr = System.getProperty("http.proxyPort");
            proxyPort = Integer.parseInt((portStr != null ? portStr : "-1"));
        } else {
            proxyAddress = android.net.Proxy.getHost(context);
            proxyPort = android.net.Proxy.getPort(context);
        }
            return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1);
    }
     

    展开全文
  • App 防止 Fiddler 抓包小技巧

    万次阅读 2018-05-20 11:15:10
    Fiddler 和 Charles 这类抓包工具,本质上就是利用中间人攻击的方式,通过这个中间人获取到通信的数据。 而利用这些工具抓包的前提,都是在设备上,设置代理,通常我们直接在 WiFi 连接页面,设置代理即可。 ...

    具体应用到以下步鄹就可以

    1.判断当前系统是否挂代理

    获取当前系统是否设置代理,可以根据不同的 Api Level,分别通过 System.getProperty() 和 android.net.proxy.getXxx() 方法获取到。

       private fun checkWifiProxy(): Boolean {
            val IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
            val proxyAddress: String?
            val proxyPort: Int?
            if (IS_ICS_OR_LATER) {
                proxyAddress = System.getProperty("http.proxyHost")
                val portStr = System.getProperty("http.proxyPort")
                proxyPort = Integer.parseInt(portStr ?: "-1")
            } else {
                proxyAddress = android.net.Proxy.getHost(this)
                proxyPort = android.net.Proxy.getPort(this)
            }
            Log.i("cxmyDev","proxyAddress : ${proxyAddress}, prot : ${proxyPort}")
            return !TextUtils.isEmpty(proxyAddress) && proxyPort != -1
        }

    通过 Log,就可以看到当前设备,在 WiFi 中,挂的代理的 IP 和 Port 了。

    2,拒绝发请求。

    既然知道代理的IP和Port的就可以做出判断,直接进行拦截,同时进行一定的提示。

    3,设置不使用代理

    Fiddler 和 Charles 这类抓包工具,本质上就是利用中间人攻击的方式,通过这个中间人获取到通信的数据。

    而利用这些工具抓包的前提,都是在设备上,设置代理,通常我们直接在 WiFi 连接页面,设置代理即可。

    而对于一些常用的网络库,其实是提供了我们设置的代理的接口,我们只需要将其设置成无代理的模式,它就不会去应用系统默认的代理了。

    就拿比较常用的 OkHttp 来举例,在初始化的时候,就可以通过 proxy() 方法,为 OkHttp 设置一个代理。

    var httpBuilder = OkHttpClient.Builder()
                    .addInterceptor(defaultInterceptor())
                    .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .proxy(Proxy.NO_PROXY)

    例如这里,我们对其设置为不使用代理的模式,它就不会从系统中,读取代理信息,进行网络请求。而是会忽略掉它,直接发送网络请求。以这样的方式,就可以阻止第三方使用 Fiddler 或 Charles 进行抓包。

    展开全文
  • 对于防止抓包,你还有什么新奇的思路,不妨在留言区讨论~ 最后 如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 最后针对...

    判断当前系统是否挂代理

    获取当前系统是否设置代理,可以根据不同的 Api Level,分别通过 System.getProperty() 和 android.net.proxy.getXxx() 方法获取到。

        private fun checkWifiProxy(): Boolean {
            val IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
            val proxyAddress: String?
            val proxyPort: Int?
            if (IS_ICS_OR_LATER) {
                proxyAddress = System.getProperty("http.proxyHost")
                val portStr = System.getProperty("http.proxyPort")
                proxyPort = Integer.parseInt(portStr ?: "-1")
            } else {
                proxyAddress = android.net.Proxy.getHost(this)
                proxyPort = android.net.Proxy.getPort(this)
            }
            Log.i("cxmyDev","proxyAddress : ${proxyAddress}, prot : ${proxyPort}")
            return !TextUtils.isEmpty(proxyAddress) && proxyPort != -1
        }
    

    通过 Log,就可以看到当前设备,在 WiFi 中,挂的代理的 IP 和 Port 了。

    拒绝发请求的缺点

    若判断当前环境,被挂了代理就拒绝请求,其实是一个非常不友好的操作。

    首先你需要有效的提醒用户,去正确的设置 WiFi 的代理;其次,总有一些特殊的情况,用户需要在手机上挂代理,可能不是针对你的 App,总不能让你的 App 和当前代理在用户眼里“不兼容”吧!

    设置不使用代理

    Fiddler 和 Charles 这类抓包工具,本质上就是利用中间人攻击的方式,通过这个中间人获取到通信的数据。

    而利用这些工具抓包的前提,都是在设备上,设置代理,通常我们直接在 WiFi 连接页面,设置代理即可。

    而对于一些常用的网络库,其实是提供了我们设置的代理的接口,我们只需要将其设置成无代理的模式,它就不会去应用系统默认的代理了。

    就拿比较常用的 OkHttp 来举例,在初始化的时候,就可以通过proxy() 方法,为 OkHttp 设置一个代理。

    var httpBuilder = OkHttpClient.Builder()
                    .addInterceptor(defaultInterceptor())
                    .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .proxy(Proxy.NO_PROXY)
    

    例如这里,我们对其设置为不使用代理的模式,它就不会从系统中,读取代理信息,进行网络请求。而是会忽略掉它,直接发送网络请求。以这样的方式,就可以阻止第三方使用 Fiddler 或 Charles 进行抓包。

    对于防止抓包,你还有什么新奇的思路,不妨在留言区讨论~

    最后

    如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

    最后针对Android程序员,除了上面的知识体系,我这边给大家整理了一些资料,其中分享内容包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!欢迎关注一起交流!

    展开全文
  • 金融类的App,因为有些交易金额特别大,对应用的安全性也非常高,如何防止被第三方抓包,就需要对App内部做一些设置。 具体应用到以下步鄹就可以 1.判断当前系统是否挂代理 获取当前系统是否设置代理,可以根据...

    转载自:https://blog.csdn.net/fredro/article/details/80380802

    金融类的App,因为有些交易金额特别大,对应用的安全性也非常高,如何防止被第三方抓包,就需要对App内部做一些设置。

    具体应用到以下步鄹就可以

    1.判断当前系统是否挂代理

    获取当前系统是否设置代理,可以根据不同的 Api Level,分别通过 System.getProperty() 和 android.net.proxy.getXxx() 方法获取到。

       private fun checkWifiProxy(): Boolean {
            val IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
            val proxyAddress: String?
            val proxyPort: Int?
            if (IS_ICS_OR_LATER) {
                proxyAddress = System.getProperty("http.proxyHost")
                val portStr = System.getProperty("http.proxyPort")
                proxyPort = Integer.parseInt(portStr ?: "-1")
            } else {
                proxyAddress = android.net.Proxy.getHost(this)
                proxyPort = android.net.Proxy.getPort(this)
            }
            Log.i("cxmyDev","proxyAddress : ${proxyAddress}, prot : ${proxyPort}")
            return !TextUtils.isEmpty(proxyAddress) && proxyPort != -1
        }

    通过 Log,就可以看到当前设备,在 WiFi 中,挂的代理的 IP 和 Port 了。

    2,拒绝发请求。

    既然知道代理的IP和Port的就可以做出判断,直接进行拦截,同时进行一定的提示。

    3,设置不使用代理

    Fiddler 和 Charles 这类抓包工具,本质上就是利用中间人攻击的方式,通过这个中间人获取到通信的数据。

    而利用这些工具抓包的前提,都是在设备上,设置代理,通常我们直接在 WiFi 连接页面,设置代理即可。

    而对于一些常用的网络库,其实是提供了我们设置的代理的接口,我们只需要将其设置成无代理的模式,它就不会去应用系统默认的代理了。

    就拿比较常用的 OkHttp 来举例,在初始化的时候,就可以通过 proxy() 方法,为 OkHttp 设置一个代理。

    var httpBuilder = OkHttpClient.Builder()
                    .addInterceptor(defaultInterceptor())
                    .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                    .proxy(Proxy.NO_PROXY)

    例如这里,我们对其设置为不使用代理的模式,它就不会从系统中,读取代理信息,进行网络请求。而是会忽略掉它,直接发送网络请求。以这样的方式,就可以阻止第三方使用 Fiddler 或 Charles 进行抓包。

    展开全文
  • 我之前有个请求,用...现在网络换成OkHttp3了,添加了自己的证书和信任后,访问正常,但默认是可以走代理的,fiddler对这种情况,安装的它的证书就能到所以请求信息,这个怎么杜绝? 求大神们指路!!!
  • Fiddler抓包工具

    2021-01-23 21:10:22
    Fiddler抓包工具 Fiddler是一款免费的windows系统的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。我是在项目中需要代理项目的前端打包文件时接触到的,目前都在使用,为了防止忘记...
  • 记一次使用fiddler抓包抖音的挫折

    千次阅读 热门讨论 2020-03-08 18:53:10
    到处百度为什么,结果在b站找到个教程,教程是借用第三个服务给fiddler做代理,因为抖音这样的应用做了反抓包处理,专门防止fiddler这些东西的(有人说是因为信息通过https传输,我们从fiddler那儿下载的假证书被抖音...
  • 在Idea里用OkHttp写模拟登陆,发现Fiddler抓不到https请求,这属实难受,参考了别人的博客后成功解决,防止以后忘记在这里记录一下方法。 1.设置Fiddler 在Fiddlerde的Options将HTTPS页的复选框都选上 然后点击右侧...
  • 一、安装 fiddler(具体什么版本自己决定,大致不变) 二、设置fiddler的选项 ...Trust Root Certificate(目的是为了安装证书,防止实现抓包APP也无法上网)     4、HTTPS-->Connec...
  • 说明: 做下说明,我的这个博客是个转载,我本来想一点一点弄,但是觉得很费时间,觉得不错,就留着链接 ...下面只是一个图片哈,再次说明,弄成一个截屏,是为了防止,博主删除博客,这样我就看不...
  • /** * 判断是APP是否使用代理 * @param context * @return */ public static boolean isWifiProxy(Context context) { final boolean IS_ICS_OR_...这样就能阻止第三方使用 Fiddler 或 Charles 进行抓包。  
  • 防抓方式一: 在客户端请求网络之前先判断手机网络是否使用了代理,如果使用了代理就不请求接口。 java版: private boolean isWifiProxy() { final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >=...
  • Android 如果防止APK被抓包工具抓包

    千次阅读 2017-05-22 15:46:00
    平时都是用Fiddler对Android应用进行抓包,如果对Fiddler不熟悉,可以点击查看Fiddler抓包方法。在抓抱前,需要将手机的WiFi进行代理设置,然后才能在电脑上使用Fiddler成功抓包,那么我们试想一下,如果在APP请求...
  • 我们知道ios系统 是可以通过 [fiddler][6] ,[charles][6]等抓包工具来获取APP发送的API,以及传送的参数等,那么上线之后怎么防止之中情况呢? 我们都大概了解抓包的操作,需要手机与抓包工具在同一网段,然后设置...
  • 1、fiddler默认只能http请求,如果要https还需要进行一下设置: 通过Tools>Options>https>勾选Dectypt https traffic和Ignore server certificate errors(unsafe),再导出证书,如下图: ...
  • 防止不同进程之间串端口 2. 浏览器设置 chrome为例 右上角打开设置-高级-系统-打开您计算机的代理设置 来到Windows设置-网络和Internet-代理 将手动设置代理打开 地址输入虚拟机ip地址(ipconfig查询) 端口...
  • 怎样防止ios系统被抓包

    千次阅读 2017-12-12 15:11:00
    怎样防止ios系统被抓包我们知道ios系统 是可以通过 [fiddler][6] ,[charles][6]等抓包工具来获取APP发送的API,以及传送的参数等,那么上线之后怎么防止之中情况呢?我们都大概了解抓包的远离,需要手机与抓包工具...
  • 购买电脑,在调用支付接口之前,利用类似Fiddler抓包工具,定位到支付接口,将参数(金额)修改为0.01元。结果是:电脑购买成功,一个月之后成功入狱。 2,怎么避免让别人用抓包工具修改参数呢? 基于token ...
  • 坚持原创输出,点击蓝字关注我吧作者:清菡博客:qinghan586.github.io(博客持续更新中)❝由于微信公众号推送改为了信息流的形式,防止走丢,请给加个星标 ⭐,你就可以第一时间...
  • fiddler

    2019-05-31 07:25:29
    可在过滤中设置要抓取的域名或者IP,防止抓包过于混乱,可使用英文分号进行分割,在action中运行设置进行保存。 fiddler查看请求响应数据 Inspectors中查看,上面是请求数据,下面是响应数据 raw:原生数据 fiddler...
  •  但是HTTP/HTTPS请求很容易被别人使用一些像Fiddler抓包工具抓取信息,对数据进行分析 很容易得到请求方式、请求接口地址、请求参数、消息头部信息、请求类型等信息,以及请求响应 返回的数据信息;   获取到...
  • 抓包和篡改主要是通过抓包工具fiddler对接口参数进行请求拦截和参数篡改。 对于XSS攻击的防御有很多种,这种算是比较容易的。 前端对提交的文本内容可以进行过滤以及转义。 后端通过拦截器或过滤器对请求参数...
  • 最近在使用Fiddler和HttpCanary进行抓包查看数据,为了防止自己的apk数据不被...我们在使用OkHttp进行网络请求的时候防止Fiddler抓包可以简单的使用OkHttpClient.Builder中的builder.proxy(Proxy.NO_PROXY);方法就可以.
  • 这一步目的防止手机里面已经存在了DO_NOT_TRUST_FiddlerRoot证书,导致后面不了,所以先清理下 2、下载安装fiddler,百度或者官网下载,我写这个时本来想去官网下载,无赖官网打开慢,就只有去百度搜索...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

防止fiddler抓包