Linux上怎樣查探HTTP流量
Linux下使用httpry來嗅探HTTP流量教程 出于某種需要有時會想要嗅探HTTP流量,那么Linux上怎樣查探HTTP流量呢?下文學習啦小編就分享了Linux上查探HTTP流量的方法,希望對大家有所幫助。
Linux上查探HTTP流量方法
比如說,你可能在測試網(wǎng)站服務器的試驗性功能,或者在調(diào)試Web應用程序或充分利用REST的服務,抑或是你想要為PAC(代理自動配置)排查故障,或檢查從某個網(wǎng)站偷偷下載的任何惡意軟件文件。不管出于什么原因,嗅探HTTP流量大都有幫助,對系統(tǒng)管理員、開發(fā)人員、甚至最終用戶來說都是如此。
雖然tcpdump等數(shù)據(jù)包嗅探工具廣泛用于實時的數(shù)據(jù)包轉(zhuǎn)儲,你還是需要建立合理的過濾機制,以便只捕獲HTTP流量;即使那樣,通常無法很容易地在HTTP協(xié)議層面解讀它們的原始輸出。ngxtop等實時網(wǎng)站服務器日志分析工具提供了人類可讀的實時網(wǎng)站流量痕跡,但只有在完全訪問實時網(wǎng)站服務器日志的情況下才適用。
雖然擁有tcpdump之類的嗅探工具不錯,但只針對HTTP流量。實際上,httpry正是我們所需的一款HTTP數(shù)據(jù)包嗅探工具。httpry可捕獲網(wǎng)絡上的實時HTTP數(shù)據(jù)包,并且以一種人類可讀的格式,顯示HTTP協(xié)議層面的內(nèi)容。我們在本教程中將看看如何使用httpry來嗅探HTTP流量。
將httpry安裝到Linux上
在基于Debian的系統(tǒng)上(Ubuntu或Linux Mint),httpry并未出現(xiàn)在基本軟件庫中。所以要使用其源代碼來構(gòu)建它:
$ 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上,先啟用EPEL軟件庫,再運行yum。
$ sudo yum install httpry
如果你仍想在基于RPM的系統(tǒng)上使用源代碼來構(gòu)建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
httpry隨后偵聽某個特定的網(wǎng)絡接口,并實時顯示捕獲的HTTP請求/回應。
不過在大多數(shù)情況下,由于大量數(shù)據(jù)包進進出出,你會看到快速滾動的輸出結(jié)果。所以,你應該保存已捕獲的HTTP數(shù)據(jù)包以便離線分析。為此,使用“-b”或“-o”選項。“-b”選項讓你可以將原始的HTTP數(shù)據(jù)包保存到二進制文件中,然后可以使用httpry回放HTTP數(shù)據(jù)包。另一方面,“-o”選項將httpry人類可讀的輸出結(jié)果保存到文本文件中。
想把原始的HTTP數(shù)據(jù)包保存到二進制文件中:
$ sudo httpry -i eth0 -b output.dump
回放已保存的HTTP數(shù)據(jù)包:
$ httpry -r output.dump
請注意:當你使用“-r”選項讀取轉(zhuǎn)儲文件時,就不需要根權(quán)限。
想將httpry的輸出結(jié)果保存到文本文件中:
$ sudo httpry -i eth0 -o output.txt
httpry的高級用法
如果你只想監(jiān)視特定的HTTP方法(比如GET、POST、PUT、HEAD和CONNECT等),可以使用“-m”選項:
$ sudo httpry -i eth0 -m get,head
如果你下載了httpry的源代碼,就會注意到源代碼隨帶一系列有助于分析httpry輸出結(jié)果的Perl腳本。這些腳本位于httpry/scripts/plugins目錄中。如果你想編寫自定義的腳本來分析httpry的輸出結(jié)果,這些腳本就是可供參考的好例子。其中一些功能如下:
•hostnames:顯示獨特主機名稱和主機數(shù)量的列表。
•find_proxies:檢測網(wǎng)站代理系統(tǒng)。
•search_terms:查找并計數(shù)搜索服務中輸入的搜索詞語。
•content_analysis:查找含有特定關(guān)鍵詞的URL。
•xml_output:將輸出結(jié)果轉(zhuǎn)換成XML格式。
•log_summary:生成日志摘要。
•db_dump:將日志文件數(shù)據(jù)轉(zhuǎn)儲到MySQL數(shù)據(jù)庫中。
在使用這些腳本之前,先使用“-o”選項運行httpry一段時間。一旦你獲得了輸出文件,使用下面這個命令,運行一次腳本:
$ cd httpry/scripts $ perl parse_log.pl -d ./plugins
你可能會遇到幾個插件的警告信息。比如說,如果你沒有創(chuàng)建帶DBI接口的MySQL數(shù)據(jù)庫,db_dump插件就可能會出錯。要是某個插件未能初始化,它會自動被禁用。所以,你可以忽視那些警告信息。
在parse_log.pl完成之后,你會在httpry/scripts目錄下看到許多分析結(jié)果(*.txt/xml)。比如說,log_summary.txt看起來就像下面這樣:
總而言之,如果你碰到需要解讀實時HTTP數(shù)據(jù)包的情況,httpry就幫得上大忙。
Linux上怎樣查探HTTP流量相關(guān)文章: