Android 使用Fiddler4抓包

前言

須要手機和電腦在同一局域網下java

重要提醒

僅供學習使用,請勿用作商業用途android

怎麼抓包

  • 1.下載安裝Fiddler

下載連接,須要填寫郵箱和選擇國家,而後下一步json

  • 2.配置

打開Tools-Connections,選中Allow remote computers to connect,將請求信息發送至電腦端,並設置端口,通常用默認8888便可。瀏覽器

image.png

  • 3.配置手機代理 在cmd中輸入ipconfig,查看本機ip
    image.png
    而後在手機的wifi設置下選擇代理,填寫電腦的ip和第2步中設置的端口

image.png

打開目標app,便可在電腦上看到請求信息 app

image.png
查看接口返回的json
image.png

  • 4.HTTPS

電腦端須要下載certificates 插件,選擇CertMaker for iOS and Android,下載後安裝。 學習

image.png

在手機瀏覽器打開http://192.168.10.221:8888,也就是電腦端的ip和第二步中設置的端口 ui

image.png

選擇You can download the FiddlerRoot certificate,下載https 證書下載到手機,安裝證書。spa

須要注意的是,通常只能在手機自帶的文件管理中找到證書,而後打開安裝。 打開目標app,便可看到https請求信息 .net

image.png
JSON信息
image.png
視頻信息
image.png

重要提示 僅供學習使用,請勿用作商業用途插件

怎麼防止被抓包

  • 1.okhttp 設置無代理
client = new OkHttpClient.Builder()
                .proxy(Proxy.NO_PROXY)
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(10, TimeUnit.SECONDS)
                .build();
複製代碼
  • 2.目前抓包基本上都是經過代理,只要使用了代理,就不請求接口便可。
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);
    }
複製代碼

你的承認,是我堅持更新博客的動力,若是以爲有用,就請點個贊,謝謝

相關文章
相關標籤/搜索