Linux服务器大量向外发包问题排查
最近Linux redhat 6.5 APP 业务系统,向外大量发送流量,不断建立tcp连接,目标地址是美国的一个IP,估计被当成肉鸡了,比较悲惨,直接飞向IDC机房,防火墙显示这个APP服务器tcp连接很多每秒10W个,
先进行限速或者拔掉网线:
开始之前,先要清除 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”退出监控
使用帮助:
[root@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进行了访问限制,只允许办公地点访问,增加安全。
Linux服务器大量向外发包问题排查的更多相关文章
- Linux服务器mysql,nginx等自动停止的排查,以及解决方法
最近发现自己使用的某台云服务武器只要稍微流量大一点,就会出现莫名的的数据库连接错误的情况 ,然后连上服务器查看,发现mysql进程被结束了,经常出现这种情况,这还怎么得了,然后第一时间查看mysql日 ...
- 外网ssh内网Linux服务器holer实现
外网ssh访问内网linux 内网的主机上安装了Linux系统,只能在局域网内访问,怎样从公网也能ssh访问本地Linux服务器? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安 ...
- Linux不停往外发包
一台Linux这两天不停往外发包,造成外部无法访问. [root@ct-nat ~]# watch ifconfig-------------查看数据包新增情况 Every 2.0s: ifconfi ...
- 闲置安卓设备搭建Linux服务器实现外网访问
title: 闲置安卓设备搭建Linux服务器实现外网访问 这是我搭过的第一个博客系统,写贴纪念一下 待博主整理好思路,将今天所用到的全部分享! 好吧,我就是穷.富人靠科技,穷人靠变异.我这种穷人是真 ...
- linux服务器wget无法成功解析域名及程序获取外网数据不稳定问题
1.问题描述: 1.1 最近发现通过linux服务器wget下载远程文件经常提示无法解析域名问题,要重复多次才能成功,成功率比较低. 1.2 PHP用file_get_contents()函数获取淘宝 ...
- Linux服务器被入侵后的处理过程(转发阿良)
Linux服务器被入侵后的处理过程 突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...
- Linux服务器被入侵后的处理过程
突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 SSH 登陆系统,不幸的事,由于网络堵 ...
- 记一次Linux服务器上查杀木马经历
开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...
- Linux服务器中木马(肉鸡)手工清除方法
由于自己也碰到过这种情况,刚好看到这篇文章,先转载过来.的确蛮有用的哦. 首先剧透一下后门木马如下: (当然这是事后平静下来后慢慢搜出来的,那个时候喝着咖啡感觉像个自由人) 木马名称 Linux.Ba ...
随机推荐
- 行为型设计模式之迭代器模式(Iterator)
结构 意图 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示. 适用性 访问一个聚合对象的内容而无需暴露它的内部表示. 支持对聚合对象的多种遍历. 为遍历不同的聚合结构提供一 ...
- Avoiding memory leaks in POSIX thread programming, 多线程避免内存泄漏
默认创建的线程为joinable的,必须调用pthread_join()才可以释放所占的内存 创建分离线程detach, attr 线程函数运行结束,调用pthread_exit 其它线程调用pthr ...
- C语言中的“>>”和“<<”
http://baike.1688.com/doc/view-d1750791.html C语言中的“>>”和“<<” [标签:程序设计] 浏览次数:68937提问时间:200 ...
- Linux下USB驱动框架分析【转】
转自:http://blog.csdn.net/brucexu1978/article/details/17583407 版权声明:本文为博主原创文章,未经博主允许不得转载. http://www.c ...
- (wifi)wifi移植之命令行调试driver和supplicant
前言 小弟从事android wifi framework部分开发已经有一年的时间了,虽然感觉什么都没有学习到,但是回想起刚接手android wifi时候的那份无知,其实肚子里面还是有点东西的,本着 ...
- TCP/IP、Http、Socket 简单理解
转自:http://blog.csdn.net/guyan0319 https://blog.csdn.net/guyan0319/article/details/79404216 一. 什么是TCP ...
- Android 利用 AsyncTask 异步读取网络图片
1.新建Android工程AsyncLoadPicture 新建布局文件activity_main.xml主界面为一个GridView,还有其子项布局文件gridview_item.xml 2.功能主 ...
- ios控件渐变色的处理
+(CAGradientLayer *)gradientColorWithBounds:(CGRect)bounds startColorHexString:(NSString *)startColo ...
- 写给小白看的 JavaScript 异步
某天突然写了个方法要从后台调用数据,显示在前台页面,但是输出结果总是空 undefined,得不到数据.多方找资料才发现,原来是入了 JS 异步的 “坑”. 我们常常听到单线程.多线程.同步.异步这些 ...
- 性能优化之基础资源cpu&内存(JVM)
本章主要介绍计算机的一些基础资源以及操作系统处理后的一些基础资源. 主要包括 cpu 内存 磁盘 网络 线程 本章会介绍这些资源的一些原理,介绍如何查看资源的数量,使用情况,对性能和整体计算机执行的一 ...