轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72823370
本文出自【趙彥軍的博客】服務器
不一樣主機之間的數據通訊都是經過網絡來進行傳輸,對那些在網絡上傳輸的數據(發送、請求的數據)進行截獲、編輯、轉存等操做叫作抓包。抓包能夠是抓取電腦端請求的數據,還能夠抓取移動端(手機APP)的數據包。微信
經過對網絡上傳輸的數據進行抓取,能夠對其進行分析,對於軟件的Debug很大的幫助。固然也能夠經過抓取用戶發送的涉及用戶名和密碼的數據包來獲取用戶的密碼。網絡
通常狀況下,數據按照各類網絡協議按照必定的格式在網絡上進行傳輸,網絡上傳輸的數據是以幀爲單位,在對須要發送的數據進行包裝的時候,會把數據的接收方、發送的的地址(MAC地址、IP地址等)一塊兒進行包裝並進行發送。根據發送方和接收方的地址,會有一條數據包的傳輸路徑,在這條路徑上,發送的數據包,會通過網絡上不少臺主機,標準的TCP/IP協議是這樣處理的:當有數據通過主機時,主機會經過存放在數據包裏面的地址來進行判斷,這個數據包是不是發送本身的,若是不是發給本身的,主機就不會對它進行解析,簡單的進行丟棄(轉發)。若是是發送給本身的,那麼主機就會對其進行解析和存儲。tcp
若是想要存儲那些不是發送給本身的數據包,能夠把網絡適配卡設置爲雜亂模式。這樣它就會接收通過它的每個數據包了。工具
Charles、mitmproxy、Fiddler、WireShark、TcpDump.net
Android平臺下的網絡數據抓包工具,Android模擬器中自帶 TcpDump 文件。用 TcpDump 對網絡數據抓包,手機不用走代理——將網絡數據包添加到 WireShark 中分析便可。代理
手機必須獲取 root權限;
不能查看實時通訊數據——由於抓取的是 dump出來的文件,而不能實時數據交互;
獲取的數據不少,分析時須要過濾、只查看真正有用的信息。code
PC端截獲、分析經過該網卡的全部網絡通訊的數據包(針對移動端時候,就要對移動端設置 代理服務器)強大的工具,完整查看網絡中的每層、每一個協議、每一個數據包的詳細組成信息;TCP、UDP、HTTP、HTTPS等協議的數據包都可獲取;blog
獲取的信息太多,須要手動過濾、進行分析。
只能查看,不能修改、重發送網絡數據包。get
HTTP協議的代理工具,抓取、分析電腦中全部進出該網卡、與網絡進行數據交互的數據(針對移動端抓包時,須要設置代理服務器),主要針對的是 HTTP/HTTPS協議;可以清晰查看 數據包 中的內容——HTTPS中的數據包能夠解密出來;簡單易操做,選中後便可修改Response結果;所見即所得,修改後立刻能夠看到效果
只適用於一次請求,下次請求須要從新設定。
手動修改須要花費時間,若是程序等待超時,本次設定的Response結果失效
我的微信號:zhaoyanjun125
, 歡迎關注