說到抓包分析,最簡單的辦法莫過於在客戶端直接安裝一個Wireshark或者Fiddler了,可是有時候因爲客戶端開發人員(多是第三方)知識欠缺或者其它一些緣由,沒法順利的在客戶端進行抓包分析,這種狀況下怎麼辦呢?git
本文中,咱們將給你們介紹在服務端進行抓包分析的方法,使用tcpdump抓包,配合Wireshark對HTTP請求進行分析,很是簡單有效。github
本文將會持續修正和更新,最新內容請參考個人 GITHUB 上的 程序猿成長計劃 項目,歡迎 Star,更多精彩內容請 follow me。服務器
在服務端進行抓包分析,使用tcpdump網絡
tcpdump -tttt -s0 -X -vv tcp port 8080 -w captcha.cap
這裏的參數是這樣的tcp
關於tcpdump更加高級的用法,能夠參考 tcpdump簡明教程工具
上述命令會保持運行,並將結果輸出到 captcha.cap 文件中,在這個過程當中,全部訪問 8080 端口的 TCP 流量都會被捕獲。當請求結束以後,咱們可使用 Ctrl+C
中斷該命令的執行,這時候在當前目錄下就能夠看到生成了一個名爲 captcha.cap 的文件。.net
接下來咱們從服務器上下載這個captcha.cap文件到本身電腦上,使用 Wireshark 打開code
最簡單的下載方法固然是使用scp了教程
scp account[@ip](https://my.oschina.net/u/3749391):/path/to/captcha.cap .
由於咱們須要分析http包,直接打開看顯然沒法區分咱們須要的內容,所以,能夠在filter欄中添加過濾規則 http
,這樣就能夠只展現http流量了ip
當請求比較多的時候,咱們仍是沒法快速區分出哪一個是指定客戶端的訪問請求,好在強大的filter能夠組合使用
http and ip.src == 192.168.0.65
上面這個filter將會過濾出全部來自客戶端 192.168.0.65 的http流量。
找到咱們須要分析的http請求了,那麼怎麼查看請求響應的內容呢?也很簡單,只須要選中這個請求,右鍵 Follow - HTTP Stream:
在新開的窗口中,咱們就能夠看到這個請求的全部內容了
tcpdump和wireshark都是很是強大的網絡分析工具,其使用用途不單單侷限於http請求抓包,藉助這兩個工具,咱們能夠對全部的網絡流量,網絡協議進行分析。本文只是針對最多見的http請求抓包方法作了一個簡單的講解,實際上配合wireshark強大的filter規則,咱們能夠更加精準的對流量進行過濾,分析。
本文將會持續修正和更新,最新內容請參考個人 GITHUB 上的 程序猿成長計劃 項目,歡迎 Star,更多精彩內容請 follow me。