Linux 命令列下嗅探 HTTP 流量的工具:httpry
假設由於某種原因,你需要嗅探HTTP站點的流量(如HTTP請求與響應)。舉個例子,你可能在測試一個web伺服器的實驗性功能,或者你在為某個web應用或RESTful服務排錯,又或者你正在為PAC(proxy auto config)排錯或尋找某個站點下載的惡意軟體。不論什麼原因,在這些情況下,進行HTTP流量嗅探對於系統管理、開發者、甚至終端使用者來說都是很有幫助的。
資料包嗅工具tcpdump被廣泛用於實時資料包的匯出,但是你需要設定過濾規則來捕獲HTTP流量,甚至它的原始輸出通常不能方便的停在HTTP協議層。實時web伺服器日誌解析器如ngxtop可以提供可讀的實時web流量跟蹤痕跡,但這僅適用於可完全訪問live web伺服器日誌的情況。
要是有一個僅用於抓取HTTP流量的類似tcpdump的資料包嗅探工具就非常好了。事實上,httpry就是:HTTP包嗅探工具。httpry捕獲HTTP資料包,並且將HTTP協議層的資料內容以可讀形式列舉出來。通過這篇指文章,讓我們瞭解如何使用httpry工具嗅探HTTP流量。
在Linux上安裝httpry
基於Debian系統(Ubuntu 或 LinuxMint),基礎倉庫中沒有httpry安裝包(譯者注:本人ubuntu14.04,倉庫中已有包,可直接安裝)。所以我們需要通過原始碼安裝:
$ 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 或 RHEL系統,可以使用如下yum命令安裝httpry。在CentOS/RHEL系統上,執行yum之前使其能夠訪問EPEL repo。
$ sudo yum install httpry
如果你仍想通過基於RPM系統的原始碼來安裝httpry的話,你可以通過這幾個步驟實現:
$ sudo yum install gcc make git libpcap-devel $ git clone https://github.com/jbittel/httpry.git $ cd httpry $ make $ sudo make install
httpry的基本用法
以下是httpry的基本用法
$ sudo httpry -i <network-interface>
httpry就會監聽指定的網路介面,並且實時的顯示捕獲到的HTTP請求/相應。
在大多數情況下,由於傳送與接到的資料包過多導致刷屏很快,難以分析。這時候你肯定想將捕獲到的資料包儲存下來以便離線分析。可以使用'b'或'-o'選項儲存資料包。'-b'選項將資料包以二進位制檔案的形式儲存下來,這樣可以使用httpry軟體開啟檔案以瀏覽。另一方面,'-o'選項將資料以可讀的字元檔案形式儲存下來。
以二進位制形式儲存檔案:
$ sudo httpry -i eth0 -b output.dump
瀏覽所儲存的HTTP資料包檔案:
$ httpry -r output.dump
注意,不需要根使用者許可權就可以使用'-r'選項讀取資料檔案。
將httpry資料以字元檔案儲存:
$ sudo httpry -i eth0 -o output.txt
httpry 的高階應用
如果你想監視指定的HTTP方法(如:GET,POST,PUT,HEAD,CONNECT等),使用'-m'選項:
$ sudo httpry -i eth0 -m get,head
如果你下載了httpry的原始碼,你會發現原始碼下有一些Perl指令碼,這些指令碼用於分析httpry輸出。指令碼位於目錄httpry/scripts/plugins。如果你想寫一個定製的httpry輸出分析器,則這些腳可以作為很好的例子。其中一些有如下的功能:
- hostnames: 顯示唯一主機名列表。
- find_proxies: 探測web代理。
- search_terms: 查詢及統計在搜尋服務裡面的搜尋詞。
- content_analysis: 查詢含有指定關鍵的URL。
- xml_output: 將輸出轉換為XML形式。
- log_summary: 生成日誌彙總。
- db_dump: 將日誌檔案資料儲存資料庫。
在使用這些指令碼之前,首先使用'-o'選項執行httpry。當獲取到輸出檔案後,立即使用如下命令執行指令碼:
$ cd httpry/scripts $ perl parse_log.pl -d ./plugins <httpry-output-file>
你可能在使用外掛的時候遇到警告。比如,如果你沒有安裝帶有DBI介面的MySQL資料庫,那麼使用db_dump外掛時可能會失敗。如果一個外掛初始化失敗的話,那麼只是這個外掛不能使用,所以你可以忽略那些警告。
當parse_log.pl完成後,你將在httpry/scripts 目錄下看到數個分析結果。例如,log_summary.txt 與如下內容類似。
總的來說,當你要分析HTTP資料包的時候,httpry非常有用。它可能並不被大多Linux使用者所熟知,但會用總是有好處的。你覺得這個工具怎麼樣呢?
via: http://xmodulo.com/2014/08/sniff-http-traffic-command-line-linux.html
相關文章
- 四個 Linux 上的網路資訊嗅探工具Linux
- 分享四個 Linux 上的網路資訊嗅探工具Linux
- python滲透測試入門——流量嗅探器Python
- GSM Sniffing嗅探裝置組裝之簡訊嗅探
- Linux 命令列下的好東西Linux命令列
- Bluetooth Low Energy 嗅探
- 嗅探器(割點)
- modelscope 命令列工具下載模型命令列模型
- linux下的命令列播放器mocLinux命令列播放器
- Linux 命令列下連線WiFiLinux命令列WiFi
- 神奇的 Linux 命令列字元形狀工具 boxesLinux命令列字元
- Linux檢視網路卡流量方法的工具和命令彙總Linux
- Linux下監控流量常用的三大工具!Linux
- HttpOnly 隱私嗅探器HTTP
- 嗅探與偽造原理
- Linux系統壓力測試工具(命令列工具)Linux命令列
- Linux 黑乎乎的命令列下,如何除錯 Python?Linux命令列除錯Python
- Linux 命令列下的最佳文字編輯器Linux命令列
- 在 Linux 命令列下使用“原力”Linux命令列
- 前端檔案下載和瀏覽器自動嗅探前端瀏覽器
- Nmap 7.95 - Zenmap 漢化版,埠掃描、網路嗅探工具
- Linux下命令列中的複製和貼上Linux命令列
- Linux系統超全超實惠的命令列工具Linux命令列
- Dutree – Linux上的命令列磁碟使用情況分析工具Linux命令列
- Linux基礎命令---wget下載工具Linuxwget
- Linux命令列Linux命令列
- Linux 命令列下搜尋工具大盤點,效率提高不止一倍!Linux命令列
- 收集 Linux 命令列執行的命令Linux命令列
- 用 nodejs 寫一個命令列工具 :建立 react 元件的命令列工具NodeJS命令列React元件
- JDK常用的命令列工具JDK命令列
- node之搭建一個http完整的靜態伺服器(命令列工具)HTTP伺服器命令列
- ROS命令列工具ROS命令列
- Linux 流量監控工具 iftopLinux
- 密碼學系列之:內容嗅探密碼學
- 用於與非 Linux 使用者一同工作的 Linux 命令列工具Linux命令列
- 推薦三個讓你假裝很忙的Linux 命令列工具Linux命令列
- Linux的命令列介面簡介Linux命令列
- Linux下命令列開啟關閉觸控板Linux命令列
- linux 下MySQL命令列匯出csv檔案格式LinuxMySql命令列