佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Linux系統(tǒng)中如何從命令行嗅探HTTP流量

Linux系統(tǒng)中如何從命令行嗅探HTTP流量

熱門標(biāo)簽:服務(wù)器配置 硅谷的囚徒呼叫中心 電話機(jī)器人搭建 家政服務(wù)網(wǎng)絡(luò) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 解決方案 外呼系統(tǒng) 美團(tuán)

假設(shè)你出于某個(gè)原因而想嗅探網(wǎng)絡(luò)上的實(shí)時(shí)HTTP Web流量(比如HTTP請(qǐng)求和回應(yīng))。比如說,你可能在測(cè)試網(wǎng)站服務(wù)器的試驗(yàn)性功能,或者在調(diào)試Web應(yīng)用程序或充分利用REST的服務(wù),抑或是你想要為PAC(代理自動(dòng)配置)排查故障,或檢查從某個(gè)網(wǎng)站偷偷下載的任何惡意軟件文件。不管出于什么原因,嗅探HTTP流量大都有幫助,對(duì)系統(tǒng)管理員、開發(fā)人員、甚至最終用戶來說都是如此。

雖然tcpdump等數(shù)據(jù)包嗅探工具廣泛用于實(shí)時(shí)的數(shù)據(jù)包轉(zhuǎn)儲(chǔ),你還是需要建立合理的過濾機(jī)制,以便只捕獲HTTP流量;即使那樣,通常無法很容易地在HTTP協(xié)議層面解讀它們的原始輸出。ngxtop等實(shí)時(shí)網(wǎng)站服務(wù)器日志分析工具提供了人類可讀的實(shí)時(shí)網(wǎng)站流量痕跡,但只有在完全訪問實(shí)時(shí)網(wǎng)站服務(wù)器日志的情況下才適用。

雖然擁有tcpdump之類的嗅探工具不錯(cuò),但只針對(duì)HTTP流量。實(shí)際上,httpry正是我們所需的一款HTTP數(shù)據(jù)包嗅探工具。httpry可捕獲網(wǎng)絡(luò)上的實(shí)時(shí)HTTP數(shù)據(jù)包,并且以一種人類可讀的格式,顯示HTTP協(xié)議層面的內(nèi)容。我們?cè)诒窘坛讨袑⒖纯慈绾问褂胔ttpry來嗅探HTTP流量。

將httpry安裝到Linux上

在基于Debian的系統(tǒng)上(Ubuntu或Linux Mint),httpry并未出現(xiàn)在基本軟件庫中。所以要使用其源代碼來構(gòu)建它:

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

在Fedora、CentOS或RHEL上,你可以使用yum來安裝httpry,如下所示。在CentOS/RHEL上,先啟用EPEL軟件庫,再運(yùn)行yum。

  1. ___FCKpd___1nbsp;sudo yum install httpry 

如果你仍想在基于RPM的系統(tǒng)上使用源代碼來構(gòu)建httpry,很容易做到這一點(diǎn),只要:

  1. ___FCKpd___2nbsp;sudo yum install gcc make git libpcap-devel  ___FCKpd___2nbsp;git clone https://github.com/jbittel/httpry.git  
  2. ___FCKpd___2nbsp;cd httpry  ___FCKpd___2nbsp;make  
  3. ___FCKpd___2nbsp;sudo make install 

httpry的基本用法

httpry的基本使用場(chǎng)合如下:

  1. ___FCKpd___3nbsp;sudo httpry -i network-interface> 

httpry隨后偵聽某個(gè)特定的網(wǎng)絡(luò)接口,并實(shí)時(shí)顯示捕獲的HTTP請(qǐng)求/回應(yīng)。

 

不過在大多數(shù)情況下,由于大量數(shù)據(jù)包進(jìn)進(jìn)出出,你會(huì)看到快速滾動(dòng)的輸出結(jié)果。所以,你應(yīng)該保存已捕獲的HTTP數(shù)據(jù)包以便離線分析。為此,使用“-b”或“-o”選項(xiàng)。“-b”選項(xiàng)讓你可以將原始的HTTP數(shù)據(jù)包保存到二進(jìn)制文件中,然后可以使用httpry回放HTTP數(shù)據(jù)包。另一方面,“-o”選項(xiàng)將httpry人類可讀的輸出結(jié)果保存到文本文件中。

想把原始的HTTP數(shù)據(jù)包保存到二進(jìn)制文件中:

  1. ___FCKpd___4nbsp;sudo httpry -i eth0 -b output.dump 

回放已保存的HTTP數(shù)據(jù)包:

  1. ___FCKpd___5nbsp;httpry -r output.dump 

請(qǐng)注意:當(dāng)你使用“-r”選項(xiàng)讀取轉(zhuǎn)儲(chǔ)文件時(shí),就不需要根權(quán)限。

想將httpry的輸出結(jié)果保存到文本文件中:

  1. ___FCKpd___6nbsp;sudo httpry -i eth0 -o output.txt 

httpry的高級(jí)用法

如果你只想監(jiān)視特定的HTTP方法(比如GET、POST、PUT、HEAD和CONNECT等),可以使用“-m”選項(xiàng):

  1. ___FCKpd___7nbsp;sudo httpry -i eth0 -m get,head 

 

如果你下載了httpry的源代碼,就會(huì)注意到源代碼隨帶一系列有助于分析httpry輸出結(jié)果的Perl腳本。這些腳本位于httpry/scripts/plugins目錄中。如果你想編寫自定義的腳本來分析httpry的輸出結(jié)果,這些腳本就是可供參考的好例子。其中一些功能如下:

•hostnames:顯示獨(dú)特主機(jī)名稱和主機(jī)數(shù)量的列表。

•find_proxies:檢測(cè)網(wǎng)站代理系統(tǒng)。

•search_terms:查找并計(jì)數(shù)搜索服務(wù)中輸入的搜索詞語。

•content_analysis:查找含有特定關(guān)鍵詞的URL。

•xml_output:將輸出結(jié)果轉(zhuǎn)換成XML格式。

•log_summary:生成日志摘要。

•db_dump:將日志文件數(shù)據(jù)轉(zhuǎn)儲(chǔ)到MySQL數(shù)據(jù)庫中。

在使用這些腳本之前,先使用“-o”選項(xiàng)運(yùn)行httpry一段時(shí)間。一旦你獲得了輸出文件,使用下面這個(gè)命令,運(yùn)行一次腳本:

  1. ___FCKpd___8nbsp;cd httpry/scripts  ___FCKpd___8nbsp;perl parse_log.pl -d ./plugins httpry-output-file> 

你可能會(huì)遇到幾個(gè)插件的警告信息。比如說,如果你沒有創(chuàng)建帶DBI接口的MySQL數(shù)據(jù)庫,db_dump插件就可能會(huì)出錯(cuò)。要是某個(gè)插件未能初始化,它會(huì)自動(dòng)被禁用。所以,你可以忽視那些警告信息。

在parse_log.pl完成之后,你會(huì)在httpry/scripts目錄下看到許多分析結(jié)果(*.txt/xml)。比如說,log_summary.txt看起來就像下面這樣:

 

總而言之,如果你碰到需要解讀實(shí)時(shí)HTTP數(shù)據(jù)包的情況,httpry就幫得上大忙。普通的Linux用戶可能不常解讀實(shí)時(shí)HTTP數(shù)據(jù)包,但防患未然總歸不是件壞事。你覺得這款工具如何?謝謝閱讀,希望能幫到大家,請(qǐng)繼續(xù)關(guān)注腳本之家,我們會(huì)努力分享更多優(yōu)秀的文章。

英文:http://xmodulo.com/2014/08/sniff-http-traffic-command-line-linux.html

標(biāo)簽:韶關(guān) 南昌 臨沂 烏蘭察布 撫州 北海 邢臺(tái) 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)中如何從命令行嗅探HTTP流量》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    迭部县| 永州市| 桦甸市| 甘南县| 湖口县| 东光县| 绵竹市| 石阡县| 板桥市| 杨浦区| 文昌市| 金门县| 阿图什市| 商洛市| 行唐县| 哈巴河县| 潞西市| 江永县| 德安县| 惠州市| 鄂州市| 神农架林区| 武义县| 郸城县| 云林县| 永和县| 蓬溪县| 荆门市| 武定县| 绍兴市| 大新县| 呼伦贝尔市| 礼泉县| 庆云县| 油尖旺区| 包头市| 英山县| 阿克| 宿迁市| 蕉岭县| 磐安县|