安装工具:yum install ifstat nload iptraf sysstat

大多数是因为PHP-ddos木马原因导致发包

watch ifconfig

watch ifconfig 查看数据包新增情况

ifstat

ifstat 查看网卡流量

eth0eth1
KB/s inKB/s outKB/s inKB/s out
407.34154.99134.96324.29
274.08191.48210.72248.32
240.20192.91257.22179.06
136.48236.72203.89179.84

nload

nload 以流量图显示

iptraf

iptraf 很直观的工具

#sar
sar -n DEV 1 4  查看4次数据

netstat

netstat -tu -c 查看发包的端口

lsof

lsof -i :39733 查看端口的进程,Kill就可以了


NetHogs

NetHogs查看网络使用情况

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
yum clean all
yum makecache
yum install nethogs -y
nethogs

下图显示各进程当前网络使用情况:

按“m”键可以切换到统计视图,显示各进程总的网络使用情况

使用帮助:
nethogs --help

usage: nethogs [-V] [-b] [-d seconds] [-t] [-p] [device [device [device ...]]]  
	-V : 显示版本信息,注意是大写字母V.  
	-d : 延迟更新刷新速率,以秒为单位。默认值为 1.  
	-t : 跟踪模式.  
	-b : bug 狩猎模式 — — 意味着跟踪模式.  
	-p : 混合模式(不推荐).  
	设备 : 要监视的设备名称. 默认为 eth0  
当 nethogs 运行时, 按:  
	q: 退出  
	m: 总数和当前使用情况模式之间切换  

找到大量发包的进程,之后kill掉,再排查下这个进程是什么程序,文件路径在哪里,删除掉异常的文件。


一篇博客的解决办法

从服务器上使用命令sar -n DEV 1 4,确实出现大量发包的问题,(下边是正常的,异常的情况eth0txpck/s 10000左右了)

先进行限速或者拔掉网线:
开始之前,先要清除 eth0所有队列规则
tc qdisc del dev eth0 root 2> /dev/null > /dev/null

  1. 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev eth0 root handle 1: htb default 20
tc class add dev eth0 parent 1: classid 1:20 htb rate 2000kbit

(1KB/s = 8KBit/s)

TC命令格式:

tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ]

tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ]

tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id

显示

tc [-s | -d ] qdisc show [ dev DEV ]
tc [-s | -d ] class show dev DEV tc filter show dev DEV

查看TC的状态

tc -s -d qdisc show dev eth0
tc -s -d class show dev eth0

删除tc规则

tc qdisc del dev eth0 root

查看状态:
top CPU和MEM都正常,看不出异常的进程。

yum install -y tcpdump
tcpdump -nn

找到大量的IP地址

本机(192.168.35.145)和主机114.114.110.110之间的数据
tcpdump -n -i eth0 host 192.168.35.145 and 114.114.110.110

还有截取全部进入服务器的数据可以使用以下的格式
tcpdump -n -i eth0 dst 192.168.35.145

或者服务器有多个IP 可以使用参数
tcpdump -n -i eth0 dst 192.168.35.145 or 192.168.35.155

我们抓取全部进入服务器的TCP数据包使用以下的格式,大家可以参考下
tcpdump -n -i eth0 dst 192.168.35.145 or 192.168.35.155 and tcp

从本机出去的数据包

tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155
tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155 and port ! 22 and tcp

或者可以条件可以是or 和 and 配合使用即可筛选出更好的结果。

可以将异常IP加入到**/etc/hosts.deny**中,或者防火墙设置下


文章作者: Leo
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeoLan的小站
系统管理 服务器入侵肉鸡发包
喜欢就支持一下吧