回覆列表
-
1 # 一個程式設計師的奮鬥史
-
2 # testerzhang
分作業系統吧:
Linux用tcpdump
windows可以用可以用wireshark,fiddler
mac os x可以用wireshark,charles,anyproxy
手機端沒涉獵,不過可以透過代理方式獲取。隨著安卓系統安全提高,應用反中間人攻擊,也在逐步降低被中間人抓包。
不過對使用者隱私更安全。
1. WireShark
這款網路抓包封包分析軟體可以說早已經大名鼎鼎了把,強大的資料包分析功能,跨平臺支援,圖形化介面支援。
下圖是使用WireShark抓取的資料包截圖,可以看到它可以自動將不同的報文以不同顏色區分,預設綠色是TCP報文,深藍色是DNS,淺藍是UDP,黑色標識出有問題的TCP報文——比如CheckSum出錯或者亂序報文。
2. tcpdump老牌抓包神器,在Linux系統中使用居多,是開發人員、運維人員的常用工具。無圖形化介面,只提供命令列支援,這無疑增大了上手難度,當然,正是由於這一點,才會提供給我們更大的自主選擇。特別需要注意的是,tcpdump使用需要root許可權,因此如果你在公網使用tcpdump後未刪除,直接放置一款擁有root許可權的tcpdump,這無疑是在挑釁某些hacker的能力。切忌,網路安全無小事。
3. fiddler這玩意就是題主所提問題用的配圖了,功能強大,其工作原理是在客戶端和伺服器之間架設一層HTTP代理,預設地址是127.0.0.1,埠預設8888,當然支援自定義修改。和其他抓包工具相比,最大的優勢就在於它可以修改伺服器響應的資料包內容,我們可以鬧洞大開,對伺服器返回的內容作攔截修改後,返回我們自己想要的結果。
4. Packet Capture安卓手機抓包神器,無需root,最大的優勢就是在於它可以對指定的應用程式進行抓包分析,例如以下兩張圖是我對京東商場抓取的資料包。
5. F12除錯功能這個差不多算是最方便快捷的了,天生預設瀏覽器支援,搞前端的應該會經常用到。可以很方便的看到每次HTTP請求和響應的詳細資訊,檢視每個資源的請求響應時間,如下圖是我訪問百度時候的HTTP請求的資源,可以看到有一個JS資源是請求失敗的。
6. Charles這是一款什麼軟體呢?其實說白了,它是一款代理伺服器,將自己設定成客戶端的網路訪問代理伺服器,然後擷取本機請求和伺服器響應達到分析抓包的目的。跨平臺支援,可在Windows,Mac,Linux不同平臺執行,採用Java語言開發,因此安裝Charles的時候要先裝好JDK。它不僅可以抓取PC機器網路資料包,也支援抓取移動終端資料包。