天天看點

Linux 指令行下嗅探 HTTP 流量的工具:httpryLinux 指令行下嗅探 HTTP 流量的工具:httpry

假設由于某種原因,你需要嗅探http站點的流量(如http請求與響應)。舉個例子,你可能在測試一個web伺服器的實驗性功能,或者你在為某個web應用或restful服務排錯,又或者你正在為pac(proxy auto config)排錯或尋找某個站點下載下傳的惡意軟體。不論什麼原因,在這些情況下,進行http流量嗅探對于系統管理、開發者、甚至最終使用者來說都是很有幫助的。

Linux 指令行下嗅探 HTTP 流量的工具:httpryLinux 指令行下嗅探 HTTP 流量的工具:httpry

<a target="_blank"></a>

基于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

$ sudo yum install httpry

如果你仍想通過基于rpm系統的源碼來安裝httpry的話,你可以通過這幾個步驟實作:

$ sudo yum install gcc make git libpcap-devel

以下是httpry的基本用法

$ sudo httpry -i &lt;network-interface&gt;

httpry就會監聽指定的網絡接口,并且實時的顯示捕獲到的http請求/相應。

Linux 指令行下嗅探 HTTP 流量的工具:httpryLinux 指令行下嗅探 HTTP 流量的工具:httpry

在大多數情況下,由于發送與接到的資料包過多導緻刷屏很快,難以分析。這時候你肯定想将捕獲到的資料包儲存下來以便離線分析。可以使用'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

如果你想監視指定的http方法(如:get,post,put,head,connect等),使用'-m'選項:

$ sudo httpry -i eth0 -m get,head

Linux 指令行下嗅探 HTTP 流量的工具:httpryLinux 指令行下嗅探 HTTP 流量的工具:httpry

如果你下載下傳了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 &lt;httpry-output-file&gt;

你可能在使用插件的時候遇到警告。比如,如果你沒有安裝帶有dbi接口的mysql資料庫,那麼使用db_dump插件時可能會失敗。如果一個插件初始化失敗的話,那麼隻是這個插件不能使用,是以你可以忽略那些警告。

當parse_log.pl完成後,你将在httpry/scripts 目錄下看到數個分析結果。例如,log_summary.txt 與如下内容類似。

Linux 指令行下嗅探 HTTP 流量的工具:httpryLinux 指令行下嗅探 HTTP 流量的工具:httpry

總的來說,當你要分析http資料包的時候,httpry非常有用。它可能并不被大多linux使用者所熟知,但會用總是有好處的。你覺得這個工具怎麼樣呢?

原文釋出時間:2014-11-02

本文來自雲栖合作夥伴“linux中國”

繼續閱讀