工作中實用shell指令碼與語句

2021-07-08 19:44:01 字數 1903 閱讀 8845

工作中常見shell,結合awk

統連線狀態篇:

1.檢視tcp連線狀態

netstat-n|awk'/^tcp/end'

2.查詢請求數請20個ip(常用於查詢攻**):

netstat-anlp|grep80|greptcp|awk''|awk-f:''|sort|uniq-c|sort-nr|head-n20

netstat-ant|awk'/:80/end'|sort-rn|head-n20

3.用tcpdump嗅探80埠的訪問看看誰最高

tcpdump-ieth0-****stport80-c1000|awk-f"."''|sort|uniq-c|sort-nr|head-20

4.查詢較多time_wait連線

netstat-n|greptime_wait|awk''|sort|uniq-c|sort-rn|head-n20

5.找查較多的syn連線

netstat-an|grepsyn|awk''|awk-f:''|sort|uniq-c|sort-nr|more

6.根據埠列程序

netstat-ntlp|grep80|awk''|cut-d/-f1

**日誌分析篇1(apache):

1.獲得訪問前10位的ip位址

cataccess.log|awk''|sort|uniq-c|sort-nr|head-10

cataccess.log|awk';end'

2.訪問次數最多的檔案或頁面,取前20

cataccess.log|awk''|sort|uniq-c|sort-nr|head-20

cataccess.log|awk'($7~/\.exe/)'|sort-nr|head-20

4.列出輸出大於200000byte(約200kb)的exe檔案以及對應檔案發生次數

cataccess.log|awk'($10>200000&&$7~/\.exe/)'|sort-n|uniq-c|sort-nr|head-100

5.如果日誌最後一列記錄的是頁面檔案傳輸時間,則有列出到客戶端最耗時的頁面

cataccess.log|awk'($7~/\.php/)'|sort-nr|head-100

6.列出最最耗時的頁面(超過60秒的)的以及對應頁面發生次數

cataccess.log|awk'($nf>60&&$7~/\.php/)'|sort-n|uniq-c|sort-nr|head-100

7.列出傳輸時間超過30秒的檔案

cataccess.log|awk'($nf>30)'|sort-n|uniq-c|sort-nr|head-20

8.統計**流量(g)

cataccess.log|awk'end'

9.統計404的連線

awk'($9~/404/)'access.log|awk''|sort

10.統計httpstatus.

cataccess.log|awk';end'

cataccess.log|awk''|sort|uniq-c|sort-rn

10.蜘蛛分析

檢視是哪些蜘蛛在抓取內容。

/usr/sbin/tcpdump-ieth0-l-s0-w-dstport80|strings|grep-iuser-agent|grep-i-e'bot|crawler|slurp|spider'

資料庫篇

1.檢視資料庫執行的sql

/usr/sbin/tcpdump-ieth0-s0-l-w-dstport3306|strings|egrep-i'select|update|delete|insert|set|commit|rollback|create|drop|alter|call'

工作中的shell指令碼

新的工作大部分是後端測試的內容,這次的測試任務需要使用shell指令碼幫助,記錄一下,bin bash file 1 cat file while read line for line in cat file doecho line exec hbase shell line done確實很簡單 1...

日常工作中的shell指令碼

由於nginx開啟了ssl證書,從http公升級到https,所以要把 的html檔案中的http替換成https,寫了個小指令碼,如下 bin bash shell宣告 dir num find test name html 獲取test目錄下所有的html檔案 time date 定義時間變數 ...

shell指令碼中的if語句與case語句

一 if語句 if語句從上至下按照順序依次判定執行 格式如下 if 判定條件 如果 then 那麼 elif 重新的一次判定 又如果 then 那麼 else 否則 可以新增也可以不加 fi 結尾 倒寫 注意 其中的elif不限個數,可以多次判定 步驟如下 編寫指令碼讓輸入指定內容時輸出不同,否則報...