如何在Linux下使用命令行嗅探HTTP流量

    一般咱們在調試Web應用、RESTFUL服務或者排錯PAC (proxy auto config) 以及檢查是否有惡意訪問等會去經過錯誤日誌日誌或者嗅探數據包的方式去排錯;常見的嗅探數據包軟件有tcpdump、wireshark;可是針對HTTP須要對數據包進行過濾,顯示格式也更不容易讀,Httpry工具就能更方便易讀的嗅探HTTP流量 html

安裝httpry

基於Debian(Ubuntu or Linux Mint),基礎庫並無httpry包,咱們用源碼來安裝 linux

1
2
3
4
5
$ sudo apt - get install gcc make git libpcap0 . 8 - dev
$ git clone https : //github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install

基於Fedora,CentOS or RHEL能夠使用EPEL來yum安裝 nginx

1
$ sudo yum install httpry

也能夠經過源碼安裝 git

1
2
3
4
5
$ sudo yum install gcc make git libpcap - devel
$ git clone https : //github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make instal
httpry的基本使用

httpry經過監聽網卡接口來實時嗅探HTTP的請求和響應 github

1
$ sudo httpry - i < network - interface >

ryeth0
將HTTP 數據包保存爲二進制文件 web

1
$ sudo httpry - i eth0 - b output . dump

重放HTTP數據包 數據庫

1
$ sudo httpry - r output . dump

將HTTP 數據包保存爲文本文件 tcp

1
$ sudo httpry - i eth0 - o output . txt
httpry的高級應用

監控特定的HTTP請求方式(GET,POST,PUT,HEAD,CONNECT等),使用-m參數 工具

get
若是你httpry下載的源代碼,你會發現有一組Perl腳本的源代碼,幫助分析httpry的輸出
這些腳本httpry /scripts/plugins目錄中找到。若是你想編寫一個自定義解析器httpry的輸出,這些腳本是很好的例子.他們的一些功能: spa

  • hostnames: 顯示主機名列表.
  • find_proxies:探測web代理
  • search_terms:查找在搜索服務裏面的搜索詞.
  • content_analysis: 發現uri包含特定的關鍵詞
  • xml_output: 轉換爲XML格式輸出
  • log_summary: 生成日誌彙總
  • db_dump: 日誌文件數據轉儲到一個數據庫中
1
2
$ cd httpry / scripts
$ perl parse_log . pl - d . / plugins < httpry - output - file >

執行以後httpry/scripts目錄下生成txt/xml文件,例如log_summary.txt

summary

相關工具 : ngxtop
參考文檔:
http://xmodulo.com/2014/06/monitor-nginx-web-server-command-line-real-time.html
http://dumpsterventures.com/jason/httpry/
http://www.ttlsa.com/nginx/nginx-modules-ngxtop-ttlsa/

相關文章
相關標籤/搜索