濮阳杆衣贸易有限公司

主頁 > 知識庫 > Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計HTTP請求

Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計HTTP請求

熱門標(biāo)簽:慧營銷外呼系統(tǒng)下載 預(yù)覽式外呼系統(tǒng)有什么用 i電銷機(jī)器人 硅基智能電話外呼系統(tǒng) 去電tm智能電話機(jī)器人 玉林防封電銷卡 鶴壁點撥外呼系統(tǒng)好用嗎 湖北防封外呼系統(tǒng)運營商 地圖標(biāo)注百度百科

安裝
tcpdump的安裝還是比較討厭的...
1.網(wǎng)上下載獲得libpcap和tcpdump
http://www.tcpdump.org/
2.安裝c編譯所需包:

復(fù)制代碼
代碼如下:
apt-get install build-essential

3.安裝 libpcap的前置:
復(fù)制代碼
代碼如下:
apt-get install flex,apt-get install bison

4.安裝libpcap。
tcpdump的使用必須有這庫。

復(fù)制代碼
代碼如下:

tar xvfz libpcap-1.2.1.tar.gz //解壓

進(jìn)入解壓之后的文件目錄   運行

復(fù)制代碼
代碼如下:

./configure //生成makefile文件
make //進(jìn)行編譯
make install //安裝

庫文件默認(rèn)安裝在目錄  /usr/lib,頭文件默認(rèn)安裝在  /usr/include
5.安裝tcpdump

復(fù)制代碼
代碼如下:

tar xvfz tcpdump.4.2.1.tar.gz //解壓

進(jìn)入解壓之后的文件目錄   運行

復(fù)制代碼
代碼如下:

./configure //生成makefile文件
make //進(jìn)行編譯
make install //安裝 庫文件默認(rèn)安裝在目錄 /usr/lib,頭文件默認(rèn)安裝在 /usr/include

測試是否成功安裝:命令行輸入 tcpdump有網(wǎng)絡(luò)信息顯示?。?br />6.可能遇到的問題:

復(fù)制代碼
代碼如下:

#tcpdump
#tcpdump: no suitable device found

原因:網(wǎng)絡(luò)監(jiān)聽需要root權(quán)限,切換到root用戶下就可以正常使用了。

借助tcpdump統(tǒng)計http請求
這里所說的統(tǒng)計http請求,是指統(tǒng)計QPS(每秒請求數(shù)),統(tǒng)計前十條被訪問最多的url。一般做這樣的統(tǒng)計時,我們經(jīng)常會使用網(wǎng)站訪問日志來統(tǒng)計。當(dāng)我們來到一個陌生的服務(wù)器環(huán)境,需要立即統(tǒng)計當(dāng)前前十條被訪問最多的url,來初步確定是否存在攻擊行為,使用tcpdump則簡單得多,因為我們不需要關(guān)心網(wǎng)站日志在哪,不需要考慮網(wǎng)站日志有沒有開啟之類的問題,直接用tcpdump捕捉當(dāng)前的http包,再進(jìn)一步過濾,就會得出我們想要的統(tǒng)計。此功能已集成到EZHTTP,下面是效果圖:

下面介紹其統(tǒng)計方法。
1、捕捉10秒的數(shù)據(jù)包。

復(fù)制代碼
代碼如下:

tcpdump -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x504f -w /tmp/tcp.cap -s 512 2>1
sleep 10
kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`

此命令表示監(jiān)控網(wǎng)卡eth0,捕捉tcp,且21-22字節(jié)字符為GE或者PO,表示匹配GET或者POST請求的數(shù)據(jù)包,并寫到/tmp/tcp.cap文件。
2、這時候我們得到最新10秒的二進(jìn)制數(shù)據(jù)包文件,我們下一步就是通過strings命令來找出GET/POST的url以及Host。

復(fù)制代碼
代碼如下:

strings /tmp/tcp.cap | grep -E "GET /|POST /|Host:" | grep --no-group-separator -B 1 "Host:" | grep --no-group-separator -A 1 -E "GET /|POST /" | awk '{url=$2;getline;host=$2;printf ("%s\n",host""url)}' > url.txt

此命令是本文的關(guān)鍵,通過strings顯示二進(jìn)制文件tcp.cap所有可打印字符,然后通過grep和awk過濾出http請求,并把拼接得到的url(包括域名+uri)寫進(jìn)一個文件url.txt。
3、這時我們拿到了近10秒鐘所有的訪問url,接下來的統(tǒng)計就容易得出,比如:
統(tǒng)計QPS:

復(fù)制代碼
代碼如下:

(( qps=$(wc -l /tmp/url.txt | cut -d' ' -f 1) / 10 ))

排除靜態(tài)文件統(tǒng)計前10訪問url:

復(fù)制代碼
代碼如下:

grep -v -i -E "\.(gif|png|jpg|jpeg|ico|js|swf|css)" /tmp/url.txt | sort | uniq -c | sort -nr | head -n 10

標(biāo)簽:達(dá)州 臨沂 廈門 期貨 吳忠 安陽 商丘 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計HTTP請求》,本文關(guān)鍵詞  Ubuntu,系統(tǒng),中,安裝,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計HTTP請求》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計HTTP請求的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    平塘县| 周至县| 宝清县| 淅川县| 石家庄市| 麻城市| 柳江县| 谷城县| 诸暨市| 江口县| 闵行区| 清苑县| 湖南省| 沙湾县| 景德镇市| 屏南县| 屯昌县| 晋城| 菏泽市| 库伦旗| 兴城市| 静乐县| 定边县| 建昌县| 龙口市| 柯坪县| 车致| 瑞丽市| 轮台县| 金阳县| 文登市| 宣威市| 安溪县| 水城县| 赤壁市| 池州市| 左贡县| 元谋县| 景泰县| 阿拉尔市| 清徐县|