Linux服务器下的HTTP抓包分析
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
說到抓包分析,最簡單的辦法莫過于在客戶端直接安裝一個Wireshark或者Fiddler了,但是有時候由于客戶端開發(fā)人員(可能是第三方)知識欠缺或者其它一些原因,無法順利的在客戶端進行抓包分析,這種情況下怎么辦呢?
本文中,我們將給大家介紹在服務(wù)端進行抓包分析的方法,使用tcpdump抓包,配合Wireshark對HTTP請求進行分析,非常簡單有效。
本文將會持續(xù)修正和更新,最新內(nèi)容請參考我的 GITHUB 上的 程序猿成長計劃 項目,歡迎 Star,更多精彩內(nèi)容請 follow me。
使用tcpdump在服務(wù)器抓包
在服務(wù)端進行抓包分析,使用tcpdump
tcpdump -tttt -s0 -X -vv tcp port 8080 -w captcha.cap這里的參數(shù)是這樣的
- -tttt 輸出最大程度可讀的時間戳
- -s0 指定每一個包捕獲的長度,單位是byte,使用-s0可以捕獲整個包的內(nèi)容
- -X 以hex和ASCII兩種形式顯示包的內(nèi)容
- -vv 顯示更加多的包信息
- tcp 指我們只捕獲tcp流量
- port 8080 指我們只捕獲端口8080的流量
- -w captcha.cap 指定捕獲的流量結(jié)果輸出到captcha.cap文件,便于分析使用
關(guān)于tcpdump更加高級的用法,可以參考 tcpdump簡明教程
上述命令會保持運行,并將結(jié)果輸出到 captcha.cap 文件中,在這個過程中,所有訪問 8080 端口的 TCP 流量都會被捕獲。當請求結(jié)束之后,我們可以使用 Ctrl+C 中斷該命令的執(zhí)行,這時候在當前目錄下就可以看到生成了一個名為 captcha.cap 的文件。
使用Wireshark分析
接下來我們從服務(wù)器上下載這個captcha.cap文件到自己電腦上,使用 Wireshark 打開
最簡單的下載方法當然是使用scp了
scp account[@ip](https://my.oschina.net/u/3749391):/path/to/captcha.cap .因為我們需要分析http包,直接打開看顯然無法區(qū)分我們需要的內(nèi)容,因此,可以在filter欄中添加過濾規(guī)則 http,這樣就可以只展示http流量了
當請求比較多的時候,我們還是無法快速區(qū)分出哪個是指定客戶端的訪問請求,好在強大的filter可以組合使用
http and ip.src == 192.168.0.65上面這個filter將會過濾出所有來自客戶端 192.168.0.65 的http流量。
找到我們需要分析的http請求了,那么怎么查看請求響應的內(nèi)容呢?也很簡單,只需要選中這個請求,右鍵 Follow - HTTP Stream:
在新開的窗口中,我們就可以看到這個請求的所有內(nèi)容了
總結(jié)
tcpdump和wireshark都是非常強大的網(wǎng)絡(luò)分析工具,其使用用途不僅僅局限于http請求抓包,借助這兩個工具,我們可以對所有的網(wǎng)絡(luò)流量,網(wǎng)絡(luò)協(xié)議進行分析。本文只是針對最常見的http請求抓包方法做了一個簡單的講解,實際上配合wireshark強大的filter規(guī)則,我們可以更加精準的對流量進行過濾,分析。
本文將會持續(xù)修正和更新,最新內(nèi)容請參考我的 GITHUB 上的 程序猿成長計劃 項目,歡迎 Star,更多精彩內(nèi)容請 follow me。
轉(zhuǎn)載于:https://my.oschina.net/agiledev/blog/1856022
總結(jié)
以上是生活随笔為你收集整理的Linux服务器下的HTTP抓包分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内排序及时间复杂度分析-插入排序选择排序
- 下一篇: 重新认识 Delphi