设为首页 收藏本站
查看: 761|回复: 0

[经验分享] Linux服务器大量向外发包问题排查

[复制链接]

尚未签到

发表于 2017-6-10 07:19:04 | 显示全部楼层 |阅读模式

最近Linux redhat 6.5 APP 业务系统,向外大量发送流量,不断建立tcp连接,目标地址是美国的一个IP,估计被当成肉鸡了,比较悲惨,直接飞向IDC机房,防火墙显示这个APP服务器tcp连接很多每秒10W个,


从服务器上使用命令sar -n DEV 2 10 ,确实出现大量发包的问题,(下边是正常的,异常的情况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中,或者防火墙设置下

之后安装个NetHogs
Install Howto:
     Download the latest epel-release rpm from (一个是32位、一个是64位连接)
     http://dl.fedoraproject.org/pub/epel/6/i386/
     http://dl.fedoraproject.org/pub/epel/6/x86_64/

     Install epel-release rpm:
     # rpm -Uvh epel-release*rpm(记得yum clean all和yum makecache下)

     Install nethogs rpm package:
     # yum install nethogs

执行nethogs
nethogs
或者
nethogs eth0
如果网卡绑定过nethogs bond0

-------------------------
rpm -Uvh epel-release-6-8.noarch64.rpm
yum clean all
yum makecache
yum install nethogs
nethogs
--------------------------



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


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


按“Ctrl+C”或“q”退出监控

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

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

目前问题解决了,观察一段时间,看看问题是否还会发生,防火墙将公网IP进行了访问限制,只允许办公地点访问,增加安全。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-385676-1-1.html 上篇帖子: 阿里云下,在不动生成环境的情况下搭建IPv6站点 下篇帖子: pthread 的几个结构体
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表