安卓面试Android开发探索工具

Android 使用Fiddler4抓包

2019-04-19  本文已影响15人  欢子3824

前言

需要手机和电脑在同一局域网下

重要提醒

仅供学习使用,请勿用做商业用途

怎么抓包

下载链接,需要填写邮箱和选择国家,然后下一步

打开Tools-Connections,选中Allow remote computers to connect,将请求信息发送至电脑端,并设置端口,一般用默认8888即可。

image.png image.png

打开目标app,即可在电脑上看到请求信息


image.png

查看接口返回的json


image.png

电脑端需要下载certificates 插件,选择CertMaker for iOS and Android,下载后安装。

image.png

在手机浏览器打开http://192.168.10.221:8888,也就是电脑端的ip和第二步中设置的端口

image.png

选择You can download the FiddlerRoot certificate,下载https 证书下载到手机,安装证书。

需要注意的是,一般只能在手机自带的文件管理中找到证书,然后打开安装。
打开目标app,即可看到https请求信息

image.png
JSON信息
image.png
视频信息
image.png

重要提示 仅供学习使用,请勿用做商业用途

怎么防止被抓包

        client = new OkHttpClient.Builder()
                .proxy(Proxy.NO_PROXY)
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(10, TimeUnit.SECONDS)
                .build();
    public static boolean isWifiProxy(Context context) {
        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);
    }

你的认可,是我坚持更新博客的动力,如果觉得有用,就请点个赞,谢谢

上一篇下一篇

猜你喜欢

热点阅读