開場就直接幹,不多說了
命令格式
解析說明
系統連接狀態
SS命令:
ss -nat |awk '{print $1}' |sort |uniq -c|sort -rn
查看TCP連接的TIME-WAIT數量 解決TIME-WAIT連接過高參考方案
ss -n |awk '/^tcp/ {print $5,$6}'|sort |uniq -c |sort -rn
查詢本地IP:端口對應客戶連接數
ss -anp|grep tcp|grep 80|awk '{print $6}' |awk -F: '{print $1}'|sort |uniq -c|sort -rn
ss -anp|grep tcp|grep 443|awk '{print $6}' |awk -F: '{print $1}'|sort |uniq -c|sort -rn
查找請求IP個數(常用與查找攻擊ip來源)
netstat命令:
netstat -nat|awk '{print $6}'|sort|uniq -c|sort -rn
查看TCP連接的TIME-WAIT數量 解決TIME-WAIT連接過高參考方案
netstat -n |awk '/^tcp/ {print $5}'|sort |uniq -c|sort -rn
以IP:端口方式由多到少顯示連接數
netstat -nalp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort |uniq -c|sort -rn
netstat -nalp|grep 443|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort |uniq -c|sort -rn
查找請求IP個數(常用與查找攻擊ip來源)
用tcpdump嗅探80,443端口的訪問,由高到低排序
tcpdump -nn -i eth0 dst port 80 -c 1000|awk -F . '{print $1"."$2"."$3"."$4"."$5}'|sort|uniq -c|sort -rn|head -20
tcpdump -nn -i eth0 dst port 443 -c 1000|awk -F . '{print $1"."$2"."$3"."$4"."$5}'|sort|uniq -c|sort -rn|head -20
nginx日誌分析
1,查看訪問前10位的IP地址
cat access.log |awk '{print $1}'|sort |uniq -c|sort -rn|head -10
2,查看訪問次數最多的文件或頁面,取前20
cat access.log |awk '{print $11}'|sort|uniq -c|sort -rn|head -20
3,列出傳輸最大的幾個exe文件(分析下載站常用)
cat access.log |awk '($7~/.exe/){print $10 " " $1 " " $4 " " " " $7}'|sort -rn|head -20
4,列出客戶端最耗時的頁面
cat access.log |awk '($7~/.php/) {print $NF " " $1 " " $4 " " $7}'|sort -rn|head -100
5,列出最耗時的頁面,超過60秒的,以及對於的發生次數
cat access.log |awk '($NF > 60 && $7~/.php/) {print $7}'|sort |uniq -c|sort -rn|head -100
6,列出傳輸時間超過30秒的文件
cat access.log |awk '($NF > 30) {print $7}'|sort |uniq -c|sort -rn |head -20
7,統計網站流量(G)
cat access.log |awk '{sum +=$10} END {print sum/1024/1024/1024}'
8,統計404的連接
awk '($9 ~/404/)' access.log |awk '{print $9,$7}'|sort """其後面加上 |wc -l 統計個數"""
9,統計http status
cat access.log |awk '{print $9}'|sort |uniq -c|sort -rn