借助tcpdump統計http請求

2022-09-15 10:30:14 字數 1186 閱讀 5764

這裡所說的統計http請求,是指統計qps(每秒請求數),統計前十條被訪問最多的url。一般做這樣的統計時,我們經常會使用**訪問日誌來統計。當我們來到乙個陌生的伺服器環境,需要立即統計當前前十條被訪問最多的url,來初步確定是否存在攻擊行為,使用tcpdump則簡單得多,因為我們不需要關心**日誌在哪,不需要考慮**日誌有沒有開啟之類的問題,直接用tcpdump捕捉當前的http包,再進一步過濾,就會得出我們想要的統計。此功能已整合到ezhttp,下面是效果圖:

下面介紹其統計方法。

1、捕捉10秒的資料報。

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 ''`

此命令表示監控網絡卡eth0,捕捉tcp,且21-22位元組字元為ge或者po,表示匹配get或者post請求的資料報,並寫到/tmp/tcp.cap檔案。

2、這時候我們得到最新10秒的二進位制資料報檔案,我們下一步就是通過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.txt

此命令是本文的關鍵,通過strings顯示二進位制檔案tcp.cap所有可列印字元,然後通過grep和awk過濾出http請求,並把拼接得到的url(包括網域名稱+uri)寫進乙個檔案url.txt。

3、這時我們拿到了近10秒鐘所有的訪問url,接下來的統計就容易得出,比如:

統計qps:

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

排除靜態檔案統計前10訪問url:

借助tcpdump統計http請求

這裡所說的統計http請求,是指統計qps 每秒請求數 統計前十條被訪問最多的url。一般做這樣的統計時,我們經常會使用 訪問日誌來統計。當我們來到乙個陌生的伺服器環境,需要立即統計當前前十條被訪問最多的url,來初步確定是否存在攻擊行為,使用tcpdump則簡單得多,因為我們不需要關心 日誌在哪,...

tcpdump 效能測試統計log

tcpdump 攔截包 tcpdump i any port 8082 s0 w fwx.cap strings fwx.cap aa.txt sar d 5 zuhe.txt iostat d m 3 iostat ct 10 root station45 tcpdump i any port 2...

繼承IHttpModule攔截http請求

1,原理 瀏覽器請求 伺服器 httpmodule httphandler處理 瀏覽器 通過繼承ihttpmodule可以實現攔截http的請求,方面我們記錄一些日誌,過濾一些非法的請求,甚至實現 的流量分流等等。小老弟們,在web應用程式中可以直接繼承此介面 but,在類庫需要引用system.w...