聚合统计的价值
对现存连接按状态、对端 IP、远端端口分别排序计数,异常外联与爆破源会从数字里直接跳出来:例如某个陌生地址的已建立连接数量畸高,或大量 SYN_SENT 全部指向同一目标。
时间窗意识
ss 反映的是当下瞬间,之前发生过的连接早已消失。需要跨时间对照时,只能依靠处置前后留存的快照、抓包文件或日志,因此统计结果要落到证据目录里而不是只停留在屏幕。
基本信息
| 状态分布 | ss -ant 首列聚合计数 |
|---|---|
| 对端聚合 | 第五列去掉端口后计数排序 |
| 端口聚合 | 远端端口计数排序,找出扫描与爆破特征 |
| 过滤 | 排除 127.0.0.1 与已知内网服务 |
| 快照 | 处置前后各存一份用于对比 |
| 权限要求 | 加 -p 需 root 才能看到全部进程归属 |
典型使用场景
- 找出异常外联的目标地址
- 定位爆破来源(大量短连接或半开连接)
- 评估主机是否被扫描或被当作跳板
- 与防火墙日志对照确认阻断是否生效
- 处置前后对比验证隔离效果
三组聚合命令
三组聚合命令
ss -ant | awk 'NR>1{print $1}' | sort | uniq -c | sort -rn
ss -ant | awk 'NR>1{print $5}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -rn | head -n 20
ss -ant | awk 'NR>1{print $5}' | awk -F: '{print $NF}' | sort | uniq -c | sort -rn | head -n 20
ss -ant state established | wc -l
ss -antp | grep -v '127.0.0.1' | head -n 20 # 排除本机回环输出逐列读法
| 统计项 | 含义 | 正常/异常 |
|---|---|---|
| 状态计数 | ESTAB、SYN-SENT、TIME-WAIT 等 | 大量 SYN-SENT 表示外连失败或被阻断 |
| 对端 IP 计数 | 会话集中度 | 单一外网地址多条连接需核对业务用途 |
| 远端端口计数 | 目标服务分布 | 集中访问 22、3389、6379 等端口属攻击特征 |
| TIME-WAIT 数量 | 短连接回收状态 | 数量巨大意味着连接风暴 |
TIME-WAIT 数量巨大通常意味着短连接风暴:扫描、回连重试或压测都会造成这种形态,需结合进程归属与业务日志定性。
聚合结果要重定向到证据目录并计算哈希:只停留在屏幕上的统计无法在事后复现,也缺少可追溯性。
留存快照供前后对比
留存快照供前后对比
ss -antp > /evidence/conn_$(date +%F_%H%M).txt # 带进程归属的快照
sha256sum /evidence/conn_*.txt > /evidence/conn.sha256
wc -l /evidence/conn_$(date +%F_%H%M).txt统计之后的动作
- 把高频对端地址与端口单独导出,作为封禁依据
- 用进程归属确认发起方是哪个程序
- 与防火墙、DNS 日志对照确认外连是否成功
- 把结论连同时间点写入事件时间线