自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

漫畫:App 防止 Fiddler 抓包小技巧!

企業(yè)動態(tài)
Fiddler 和 Charles 這類抓包工具,本質上就是利用中間人攻擊的方式,通過這個中間人獲取到通信的數(shù)據(jù)。而利用這些工具抓包的前提,都是在設備上,設置代理,通常我們直接在 WiFi 連接頁面,設置代理即可。

[[228752]]

判斷當前系統(tǒng)是否掛代理

獲取當前系統(tǒng)是否設置代理,可以根據(jù)不同的 Api Level,分別通過 System.getProperty() 和 android.net.proxy.getXxx() 方法獲取到。

  1. private fun checkWifiProxy(): Boolean { 
  2.         val IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH 
  3.         val proxyAddress: String? 
  4.         val proxyPort: Int
  5.         if (IS_ICS_OR_LATER) { 
  6.             proxyAddress = System.getProperty("http.proxyHost"
  7.             val portStr = System.getProperty("http.proxyPort"
  8.             proxyPort = Integer.parseInt(portStr ?: "-1"
  9.         } else { 
  10.             proxyAddress = android.net.Proxy.getHost(this) 
  11.             proxyPort = android.net.Proxy.getPort(this) 
  12.         } 
  13.         Log.i("cxmyDev","proxyAddress : ${proxyAddress}, prot : ${proxyPort}"
  14.         return !TextUtils.isEmpty(proxyAddress) && proxyPort != -1 
  15.     } 

通過 Log,就可以看到當前設備,在 WiFi 中,掛的代理的 IP 和 Port 了。

拒絕發(fā)請求的缺點

若判斷當前環(huán)境,被掛了代理就拒絕請求,其實是一個非常不友好的操作。

首先你需要有效的提醒用戶,去正確的設置 WiFi 的代理;其次,總有一些特殊的情況,用戶需要在手機上掛代理,可能不是針對你的 App,總不能讓你的 App 和當前代理在用戶眼里“不兼容”吧!

設置不使用代理

Fiddler 和 Charles 這類抓包工具,本質上就是利用中間人攻擊的方式,通過這個中間人獲取到通信的數(shù)據(jù)。

而利用這些工具抓包的前提,都是在設備上,設置代理,通常我們直接在 WiFi 連接頁面,設置代理即可。

而對于一些常用的網(wǎng)絡庫,其實是提供了我們設置的代理的接口,我們只需要將其設置成無代理的模式,它就不會去應用系統(tǒng)默認的代理了。

就拿比較常用的 OkHttp 來舉例,在初始化的時候,就可以通過 proxy() 方法,為 OkHttp 設置一個代理。

  1. var httpBuilder = OkHttpClient.Builder() 
  2.                 .addInterceptor(defaultInterceptor()) 
  3.                 .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) 
  4.                 .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) 
  5.                 .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) 
  6.                 .proxy(Proxy.NO_PROXY) 

例如這里,我們對其設置為不使用代理的模式,它就不會從系統(tǒng)中,讀取代理信息,進行網(wǎng)絡請求。而是會忽略掉它,直接發(fā)送網(wǎng)絡請求。以這樣的方式,就可以阻止第三方使用 Fiddler 或 Charles 進行抓包。

【本文為51CTO專欄作者“張旸”的原創(chuàng)稿件,轉載請通過微信公眾號聯(lián)系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2021-03-05 06:25:19

fiddler微信公眾號小程序

2021-02-07 22:51:37

Fiddler打斷點界面

2022-03-30 09:11:00

Python網(wǎng)絡爬蟲

2019-06-19 09:07:06

HTTP代理協(xié)議

2013-07-23 10:26:51

移動設備漫畫轉型

2022-04-13 11:46:17

抓包wireshark丟包

2016-10-14 13:10:35

2018-06-26 10:25:53

iOS應用系統(tǒng)

2009-10-09 14:45:00

ccna小技巧ccna

2023-11-01 10:36:19

2020-10-13 16:02:03

HTTPS淺析與抓包分

2021-07-12 06:23:38

抓包gRpcRPC 框架

2012-12-24 15:07:28

symbian

2017-03-02 10:30:57

AndroidAndroid Stu技巧

2019-05-13 14:17:06

抓包Web安全漏洞

2019-09-27 09:35:12

2014-03-10 09:43:31

2019-10-28 00:02:35

黑客網(wǎng)絡安全網(wǎng)絡攻擊

2020-10-16 08:02:00

Android系統(tǒng)

2019-03-25 22:20:39

iOSCharles抓包
點贊
收藏

51CTO技術棧公眾號