国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux中tcpdump統計http請求應用示例

2024-08-27 23:55:27
字體:
來源:轉載
供稿:網友
  這里所說的統計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 '{print $2}'`  
  此命令表示監控網卡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=$2;getline;host=$2;printf ("%s\n",host""url)}' > 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:
  grep -v -i -E "\.(gif|png|jpg|jpeg|ico|js|swf|css)" /tmp/url.txt | sort | uniq -c | sort -nr | head -n 10  --phpfensi.com。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉木乃县| 孝感市| 县级市| 资源县| 台前县| 隆尧县| 抚顺县| 新乐市| 全南县| 大连市| 毕节市| 黑龙江省| 左权县| 孟村| 稷山县| 昌吉市| 祁东县| 应城市| 常宁市| 潮安县| 海兴县| 平安县| 财经| 榆社县| 宿州市| 南乐县| 元朗区| 邵阳县| 合山市| 邓州市| 满洲里市| 建平县| 抚顺县| 班戈县| 石台县| 小金县| 贞丰县| 浦县| 淮安市| 石柱| 扶余县|