开场就直接干,不多说了
命令格式
解析说明
系统连接状态
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