Android :如何防止被抓包工具抓包

需求來源

在公司工作過程中,有時(shí)領(lǐng)導(dǎo)會(huì)拿競爭對手的APK讓我抓包,看看別人的接口請求和返回結(jié)果,然后分析這些數(shù)據(jù)在公司后期產(chǎn)品開發(fā)中是否有用。如果我們公司有這種想法,那么我們公司競爭對手肯定也有這種想法,那么如何避免他人拿我們公司APK去抓包呢?下面我就來說下自己的想法。

原理分析

平時(shí)都是用Fiddler對Android應(yīng)用進(jìn)行抓包,如果對Fiddler不熟悉,可以點(diǎn)擊查看Fiddler抓包方法。在抓抱前,需要將手機(jī)的WiFi進(jìn)行代理設(shè)置,然后才能在電腦上使用Fiddler成功抓包,那么我們試想一下,如果在APP請求網(wǎng)絡(luò)之前先判斷下手機(jī)網(wǎng)絡(luò)是否使用了代理,如果使用了代理就不請求接口。新的問題來了,在Android手機(jī)中如何知道手機(jī)網(wǎng)絡(luò)是否使用了代理?

代碼實(shí)踐

經(jīng)過查找資料與實(shí)踐,發(fā)現(xiàn)如下的代碼能夠滿足需求:

private 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(this);
       proxyPort = android.net.Proxy.getPort(this);
    }
    return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1);
  }

不足之處

這里只要判斷使用了代理,就停止請求接口,這也是有些不足的地方,比如用戶使用了一個(gè)國外的代理,她使用該代理是用來訪問國外網(wǎng)站的,非常合理。就應(yīng)為她加入了代理,導(dǎo)致不能使用我們的APP,這就使得用戶體驗(yàn)比較差。

總結(jié)

這個(gè)總結(jié)不好下啊,因?yàn)楣究紤]到用戶體驗(yàn),最終沒使用這個(gè)方法,所以只是個(gè)研究性的辦法。后期如果使用上了,在來補(bǔ)充這個(gè)總結(jié)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,777評論 25 709
  • 前言fiddler是一個(gè)很好的抓包工具,默認(rèn)是抓http請求的,對于pc上的https請求,會(huì)提示網(wǎng)頁不安全,這時(shí)...
    胖子愛豬蹄閱讀 13,459評論 4 22
  • 第一天,打卡
    LULU謝大露閱讀 199評論 0 0
  • 夕陽就掛在村莊外面的山上 含情默默地與村莊對望 眼眸里滿滿的真情流露 霞光的亮麗讓老人瞇上雙眼 背著一堵土色土香的...
    沉浮夢醒閱讀 1,142評論 7 9
  • 01 印象筆記—構(gòu)建知識(shí)內(nèi)庫 印象筆記的用法在時(shí)間管理中起到的作用是十分巨大的,碎片化的學(xué)習(xí)時(shí)代下運(yùn)用番茄工作法在...
    木子?jì)O婳閱讀 576評論 4 2

友情鏈接更多精彩內(nèi)容