服务器流量异常分析

服务器流量分析工具常用的有两个

  1. iftop 查看某个网卡流量和对应的请求ip地址与端口
  2. nethogs 查看进程流量

分别安装两个工具:

yum install iftop
yum install nethogs

分析步骤

  1. 使用nethogs查看是否有进程产生异常流量
  2. 使用iftop检查所有网卡流量和出入流量ip地址与端口
  3. 通过netstat查看占用的端口程序和用户信息
  4. 禁用对应ip请求

大致使用到的命令如下:

#nethogs
#iftop -i eth0
#netstat -antp
#iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP

工具使用说明

iftop常用命令

默认监控第一块网卡流量,默认ip要倒过来读,如1.180.97.119应该为119.97.180.1,默认情况下通信双方都会占用一个端口,=>代表发送数据,<= 代表接收数据

  • -i 指定网卡
  • 按n切换显示本机的IP或主机名;
  • 按D切换是否显示远端目标主机的端口信息;
  • 按S切换是否显示本机的端口信息;
  • 按N切换显示端口号或端口服务名称;
  • 按o切换是否固定只显示当前的连接;

显示说明:

TX:发送流量
RX:接收流量
TOTAL:总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

netstat 查看端口信息

netstat查看哪些端口已经被开启或者正在通信

常用命令 -antp

  • -a 所有连接
  • -n 只查看ip,禁用域名解析功能
  • -t 列出TCP协议的连接
  • -p 查看进程信息

端口状态

  • LISTEN 正在监听
  • ESTABLISHED 正在通信
  • CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断
  • TIME_WAIT 我方主动调用close()断开连接

iptables 禁用请求

列出 INPUT链 所有的规则:iptables -L INPUT --line-numbers
删除某条规则,其中5代表序号(序号可用上面的命令查看):iptables -D INPUT 5
开放指定的端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
禁止指定的端口:iptables -A INPUT -p tcp --dport 80 -j DROP
禁止指定的IP: iptables -I INPUT -s 119.97.180.61 -j DROP
允许指定的IP: iptables -D INPUT -s 61.183.163.214 -j DROP

拒绝所有的端口:iptables -A INPUT -j DROP

INPUT 入网流量 (用户访问)
OUTPUT 出网流量 (Linux本身发送)

总结

使用netstat可以查看服务器是否有异常通信端口被开启

发表评论

电子邮件地址不会被公开。 必填项已用*标注