㈠ 用fiddle抓包電腦上和手機上都設置好了為什麼還是抓取不到包
1、安裝fiddler。
2、配置fiddler 。選擇 Tools ->Fiddler Options ->HTTPS->選擇Decrypt HTTPS traffic 和 Ignore server certificate errors (unsafe)->Connnections->Fiddler listens on Port: 8888(需填寫) 和勾選 Allow remote puters to connnect。
3、在安裝fiddler的電腦上安裝能開熱點的軟體。
4、手機連接熱點。
5、在手機網路設置里邊,這里不介紹android的了,跟ios類似。在iPhone的網路設置里設置 代理,伺服器是熱點的網址,埠是剛剛設置的8888。
具體一點 不要是沒開Gprs 哦 一般2G的手機直接就能上了 不要設置的另外 開Gprs的話 搞個包月的 便宜一點 可以把手機什麼反應說一下 我是專家
插上USB介面後在下拉框里選擇同步那一項~
應該就連上了~
正常安裝,如果在安裝過程中,彈出下面的框,去下載相關的文件,名字是javaforosx.dmg,如下圖所示:
安裝完後打開應用程序,選擇Charles,選擇顯示包內容,如下圖所示:
將下載的文件里的Charles.jar 替換掉包內容里的Charles.jar,如下圖所示:
查看Mac電腦的IP地址,系統偏好設置->網路就可以查看到了,比如我的ip地址是:192.168.26.4,如下圖所示:
打開iOS設置,進入當前wifi連接(Mac在一個區域網內),設置HTTP代理Group,將伺服器填為上一步中獲得的IP,即192.168.26.4,埠填8888,如下圖所示:
打開Charles,Charles會彈出確認框,點擊Allow按鈕即可,如下圖所示:
接下來,就可以進行抓包操作了,如下圖所示:
1. 鏈路層,也稱作數據鏈路層或者網路介面層,通常包括操作系統中的設備驅動程序和計算機中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。
2. 網路層,也稱作互聯網層,處理分組在網路中的活動,例如分組的選路。網路層協議包括IP協議(網際協議)、ICMP協議(Inter互聯網控制報文協議),以及IGMP協議(Inter組管理協議)。
3. 運輸層主要為兩台主機上的應用程序提供端到端的通信。在TCP/IP協議族中,有兩個互不相同的傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據報協 議)。TCP為兩台主機提供高可靠性的數據通信。他所作的工作包括把應用程序交給它的數據分成合適的小塊交給下面的網路層,確認接收到的分組,設置發送最 後確認分組的超時時鍾等。由於運輸層提供了高可靠性的端到端通信,因此應用層可以忽略所有這些細節。而另一方面,UDP則為應用層提供一種非常簡單的服 務。它只是把稱作數據報的分組從一台主機發送到另一台主機,但並不保證該數據報能到達另一端。任何必須的可靠性必須由應用層來提供。
4. 應用層負責處理特定的應用程序細節。包括Tel(遠程登錄)、FTP(文件傳輸協議)、SMTP(簡單郵件傳送協議)以及SNMP(簡單網路管理協議)等。
下個豌豆莢就可以了
在哪都改不了別人的
自己的你還是沒正確
你可以把要修改的賬號及圖傳上來,幫你修改。
注意發前和發後修改密碼。
一、准備工作:
Win7+無線網卡+抓包軟體+能Wifi上網的手機
二、配置步驟:
1、在Win7下,以管理員身份啟動cmd,輸入以下兩條命令創建虛擬Wifi,並啟動Wifi。其中ssid為WiFi的名字,key為密碼。
C:>sh wlan set hostedneork mode=allow ssid=WifiUmer key=testdebug
承載網路模式已設置為允許。
已成功更改承載網路的 SSID。
已成功更改託管網路的用戶密鑰密碼。
C:>sh wlan start hostedneork
已啟動承載網路。
創建成功後,控制面板->網路和Inter連接->網路連接中已經創建了無線網路連接2,
2、網路共享
在能上網的網路連接上(如有線的本地連接,無線的無線網路連接)右擊,選擇屬性->共享,給虛擬WiFi啟用共享。
3、手機連接到新設的虛擬Wifi上
手機網路設置啟用Wifi,將WLAN網路設到剛新增的WifiUmer上,輸入剛設定的密碼testdebug,點擊連接,連接成功。通過cmd命令可以看到WifiUmer的上內網IP地址為:
C:>ipconfig
Windows IP 配置
無線區域網適配器 無線網路連接 2:
連接特定的 DNS 後綴 . . . . . . . :
本地鏈接 IPv6 地址. . . . . . . . : fe80::90bc:6340:45b0:b079%19
IPv4 地址 . . . . . . . . . . . . : 192.168.137.1
子網掩碼 . . . . . . . . . . . . : 255.255.255.0
默認網關. . . . . . . . . . . . . :
㈡ targetSdkVersion24抓包問題的完美解決方案
當我們將App的targetSdkVersion升級到API 24以後,在Android 7.0(API 24)以上的手機就會出現無法抓取HTTPS請求的問題,所有的請求都會顯示為Unknown。
在targetSdkVersion選擇適配24後,API 24的平台默認值被變更了, 在API 24以上的App默認不信任用戶證書 ( trust-anchors 里沒有了 <certificates src="user" /> 這一行),因此我們使用Charles進行抓包時,安裝的Charles證書就不起作用了,App不信任我們的證書,導致無法進行中間人攻擊(抓包原理),因此無法抓包。
平台默認配置如下所示:
1.系統證書是系統內置的證書鏈,用戶證書是用戶安裝的自信任證書。
2.為啥說Root的手機沒有安全性保證,因為Root過後的手機什麼都能改,包括把網路攻擊者的證書安裝成為系統證書。
如果單純地在Manifest里制定的文件中改成API 23以下的默認設置,那麼Google為我們帶來的安全性變更則不復存在,但當我們復寫平台默認配置的情況下,則6.0以下的手機也不能進行抓包!安全性大大提高,平台默認配置的復寫配置在AndroidManifest.xml文件中。
AndroidManifest的網路配置如下所示:
如果在這個配置的基本配置項 base-config 里改成API 23以下的默認配置,即相信用戶證書的話,那相當於將安全性倒退到6.0之前,但我們可以實現只有在打debug包時才允許抓包,在打release發布包時,不允許抓包。這里就需要用到一個配置 debug-overrides
所以最終的配置文件會長下面這樣子,就實現了在 android:debuggable="true" 的情況下(通過Android Studio的直接安裝 or 通過Gradle的 assebleDebug )應用可以抓包。通過這個方式我們可以快速提供給服務端同學&測試同學可以抓包的App。
原本我們的app在6.0以下的手機也能被抓包,但當我們復寫了以後,6.0以下的手機也不能進行抓包了,但是我們還是可以方便地構造出可以抓包的debug包,安全調試兩不誤!
cleartextTrafficPermitted 是允許明文通信的意思,這個不要隨便設置為 false ,設置為 false 意思是不允許明文通信,當服務端把HTTPS改成HTTP的時候你的App發生請求時就自動退出了,跟閃退差不多。
原文中有這么一句注釋,意思是當targetSdkVersion在26以上的話,如果不允許明文通信而WebView使用了明文通信的話,程序也會退出。
㈢ 一步一步教你 https 抓包
在 Mac 上常用的抓包軟體是 Charles,網上關於 Charles 的教程很多,這里介紹另一個抓包神器 mitmproxy。mitmproxy 是一款可互動式的命令行抓包工具,它除了可以抓包查看 http/https 請求,還有一個很強大的功能是攔截並修改 request 或者 response,後面我會用實際例子演示如何修改知乎的回答:)
mitmproxy 官網 介紹了用以下命令來安裝
我在實際安裝過程中遇到了一些坑,首先是 OSX El Capitan 及以上的系統版本在安裝時會出現 six 模塊依賴錯誤,具體可以看 這兒 的討論。還有一個問題是安裝過程中會出現許可權錯誤,需要以 root 許可權執行。最後用以下命令成功安裝,安裝不了需要翻一下牆
首先需要配置一下網路環境,將手機和電腦連在同一個 wifi 環境下,然後進入手機的 設置 - 無線區域網,點擊當前連接的 wifi 進入詳情設置頁面,在 http 代理那一欄輸入當前連接的 ip 地址,埠填8080,這個 ip 地址可以在電腦上的 系統偏好 - 網路 里查看,配置完成如下圖,
網路環境配置完成後我們可以開始實際的抓包了,只需在電腦上打開終端(命令行操作窗口),然後輸入 mitmproxy -p 8080 ,如果你看到如下頁面說明你已成功進入抓包模式,邁出了第一步,cheer~
接下去你可以用手機打開一些 App,不出意外你能看到一些 http 請求的列表。這時候我們還無法抓到 https 的包,還需要做一些額外配置。
下面的操作是針對 iPhone 手機,其他設備也類似。用 iPhone 打開 Safari 瀏覽器並輸入 mitm.it,這時你會看到如下頁面,
選擇對應平台並安裝證書,安裝完成後就可以抓 https 的包了, 官網上 解釋了這個工具是如何工作的
好了,到這里我們已經完成了所有的准備工作,接下去就和我一起實際體驗一下 https 的抓包過程吧。
這里以知乎為例,用手機打開知乎,我們應該能看到知乎的請求出現在列表裡了,類似下圖:
鍵盤上下移動,Enter 鍵進入查看詳情,按 Tab 鍵切換頂部導航欄,如下圖所示,
上面演示的是常規的操作,下面介紹一下 mitmproxy 的另一強大功能,攔截修改 request 和 response。
輸入 i ,然後輸入 ~s 再按回車鍵,這時候就進入了 response 攔截模式。如果輸入 ~q 則進入 request 的攔截模式,更多的命令可以輸入 ? 查看。攔截模式下的頁面顯示如下圖所示,
其中橘紅色的表示請求正被攔截,這時 Enter 進入後 再按 e 就可以修改 request 或者 response。修改時是用 vim 進行編輯的,修改完成後按 a 將請求放行,如果要放行所有請求輸入 A 即可。
下圖是我修改了某個答案的 response 請求將回答者的名字做了修改,因為只修改了 response 並不會影響其他的用戶顯示:)
上面提到的那些指令在輸入 ? 後都能查看到,如下圖,另外 官網 上也有很詳細的說明
我用上述方式嘗試了大多數的 App,包括淘寶、微博,都能抓到 https 的包,有些有加密,有些沒有加密。但是做了防中間人攻擊的設置,一啟用抓包模式就顯示網路錯誤1012,還是做的很不錯的,贊一個~
按照上面的過程操作就可以 https 抓包了,如果有遇到問題可以 聯系我 ,記得抓完後將手機 wifi 設置里的 http 代理關閉。開始實際體驗一下吧,enjoy~