① 一步一步教你 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~
② 電腦是怎麼抓包的
抓包,就是通過軟體,檢測網卡所流通的數據。
數據並不是像水一樣不停的傳輸的,而是分成一個包一個包的,每個數據包都有包頭,包頭內記錄著發送方的ip 埠 接受方的ip 埠 以及數據包所使用的協議等等。
包頭之後,才是我們要傳輸的數據,分析軟體就會將數據包由10組成的二進制流翻譯為我們可以看懂的東西。
像sniffer這種強大的軟體,可以直接將圖片都顯示出來。網管必備,在他檢測下,他所在網路內的網路活動都可以被檢測到。
但是隨著保密意識的增加,很多網路活動都加密了。幾個沖譽月前的網路知道登陸是不用加密,如果我用檢測軟體檢測你的電腦,我抓包,就有可能抓到你的賬號密碼,現在不能了,已經加密了,我抓到也只是亂碼。
(2)如何對電腦軟體實現抓包擴展閱讀:
抓包工具
抓包工具是攔截查看網路數據包內容的軟體。通過對抓獲的數據包進行分析,可以得到有用的信息。
目前流行的抓包散或段工具有很多,比較出名的有wireshark、sniffer。httpwatch、iptool等。這些抓包工具功能各異,但基本原理相同。
我們的計算機通過向網路上傳和從網路下載一些數據包來實現數據在網路中的傳播。通常這些數據包會由發出或者接受的軟體自行處理,普通用戶並不過問,這些數據包一般也不會一直保存在用戶的計算機上。
抓包工具可以幫助我們將這些數據包保存下來,如果這些數據包是以明文形式進行傳送或者我們能夠知道其加密方法,那麼我們就可以分析出這些數據包的內容以及它們的團早用途。
目前抓包工具更多的用於網路安全,比如查找感染病毒的計算機。有時也用於獲取網頁的源代碼,以及了解攻擊者所用方法、追查攻擊者的ip地址等。