亚洲天堂中文字幕一区二区|亚洲精品无播放器在线播放网站|亚洲精品熟女国产国产老熟女|亚洲欧美在线人成最新按摩

        
        
      • <form id="etzky"></form>
          <td id="etzky"><tr id="etzky"></tr></td>

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

          時間:2022-10-04 03:48:49 網(wǎng)絡(luò)知識 我要投稿
          • 相關(guān)推薦

          關(guān)于Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計(jì)HTTP請求

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

            安裝

            tcpdump的安裝還是比較討厭的...

            1.網(wǎng)上下載獲得libpcap和tcpdump

            http://www.tcpdump.org/

            2.安裝c編譯所需包:

            代碼如下:

            apt-get install build-essential

            3.安裝 libpcap的前置:

            代碼如下:

            apt-get install flex,apt-get install bison

            4.安裝libpcap。

            tcpdump的使用必須有這庫。

            代碼如下:

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

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

            代碼如下:

            ./configure //生成makefile文件

            make //進(jìn)行編譯

            make install //安裝

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

            5.安裝tcpdump

            代碼如下:

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

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

            代碼如下:

            ./configure //生成makefile文件

            make //進(jìn)行編譯

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

            測試是否成功安裝:命令行輸入 tcpdump有網(wǎng)絡(luò)信息顯示!!

            6.可能遇到的問題:

            代碼如下:

            #tcpdump

            #tcpdump: no suitable device found

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

            借助tcpdump統(tǒng)計(jì)http請求

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

            下面介紹其統(tǒng)計(jì)方法。

            1、捕捉10秒的數(shù)據(jù)包。

            代碼如下:

            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。

            代碼如下:

            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 ("%sn",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)計(jì)就容易得出,比如:

            統(tǒng)計(jì)QPS:

            代碼如下:

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

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

            代碼如下:

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

          【Ubuntu系統(tǒng)中安裝使用tcpdump來統(tǒng)計(jì)HTTP請求】相關(guān)文章:

          U盤安裝系統(tǒng)的方法12-08

          關(guān)于HTTP 錯誤 403.1禁止訪問11-26

          如何安裝win8系統(tǒng)?win8如何安裝11-27

          電腦系統(tǒng)安裝日期的查看方法11-07

          請求的近義詞10-21

          道閘系統(tǒng)安裝施工合同03-24

          64位win7系統(tǒng)如何安裝11-26

          硬盤多大才能安裝win7系統(tǒng)11-27

          顯卡驅(qū)動安裝后系統(tǒng)啟動黑屏11-26

          安裝電腦操作系統(tǒng)的步驟有哪些09-07