阿里云服务器排查带宽流量过大的程序

在阿里云租了一台服务器,是ECS的裸装,在上面安装了tomcat和项目以后跑了一段时间,没过几天发现带宽的流量特别高,其实自己程序访问的没有几个用户,可是带宽的流量已经消耗了好几百老人头了,这是一个值得去关注的问题,如何解决当下这种状况。java

解决方案有二种:tomcat

1.重装系统,从新来一遍,说实话这确实是最快的方法,可是却不是解决问题的根本之道;服务器

2.照目前来看,确定是被人扫成肉鸡了,因此找到对应的发送数据包的程序,而后kill 掉。网络

我我的倾向于第二种解决方案,因此须要准备一些工具着手去作这些事,须要用到的工具:mvc

tcpdump、libpcap(tcpdump依赖于此)、iftoptcp

ok这些工具都是须要安装的,安装包我会提供出来,相应的安装教程也贴出来工具

1、安装tcpdumpflex

http://blog.csdn.net/maxwell_nc/article/details/45270083网站

这篇博客讲的很是好,安装步骤也比较详细,为了保证资源不丢失我就转一下内容吧阿里云

yum install flex  
yum install bison  
yum install gcc  

yum这个命令我就很少作解释了Centos用的,不会的你们能够百度一下

上面这三个是安装tcpdump必要的库

另外tcpdump是基于libpcap,这个在yum找不到,咱们到tcpdump的官网(http://www.tcpdump.org/#latest-release)能够下载libpcap和tcpdump 
我这里使用的tcpdump-4.9.0.tar.gz和libpcap-1.8.1.tar.gz 。 
首先解压libpcap,而后进入目录配置安装

./configure
make              
make install   

而后解压tcpdump,而后进入目录配置安装

./configure
make              
make install  

一切顺利的话,就可使用tcpdump进行抓包了。

具体的tcpdump命令可参考上面的引用地址

小例子:tcpdump -i eth0 port 80 -c 3 -t

(1) -i eth0 : 只抓通过接口eth0的包 
(1) port 80 : 抓取数据包只抓取80端口的 
(3) -c 3 : 只抓取3个数据包 
(4) -t : 不显示时间戳 

通常来说tcpdump 配合wireshark这个软件去使用,这个软件百度一搜就搜到了,而后将tcpdump生成的文件放到这个wireshark去分析便可。

OK 到了如今基本上就能作分析了,可是若是想要找到具体缘由这仍是远远不够滴。

2、安装iftop去分析

iftop 是相似于top的实时流量监控工具。主要用来显示本机网络流量状况及各相互通讯的流量集合,如单独同那台机器间的流量大小,很是适合于代理服务器和iptables服务器使用

官方网站:http://www.ex-parrot.com/~pdw/iftop/

在官网下载便可,后面我也会将具体的文件下载地址贴出来

tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make
make install

检测环境时提示:checking for a curses library containing mvchgat... none found

解决办法:yum -y install ncurses-devel

一、iftop界面相关说明
界面上面显示的是相似刻度尺的刻度范围,为显示流量图形的长条做标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

使用示例:

iftop -i eth1 -B -n -N -P

看下有没有异常的ip,接收或发送流量特别大的都是有问题滴,能够看看ip是哪里的。

3、配合命令

netstat -apn 

查看全部的进程和端口使用状况。

重点看这里

看看哪一个ip是不正常的用的端口也是不正常的,若是是阿里云的机器能够在控制台设置公网入方向的端口和公网出方向的端口,只打开有用的端口

这时在配合iftop去分析,很容易就发现有问题的ip和端口了,看看若是你的机器仍是一直在向外发送流量 那么就找到这个程序的pid

ps -aux|grep pid

经过上面的命令很容易看到这个程序在哪一个地址下运行着,先kill -9 892 掉而后删除对应的目录 

若是感受程序会再生的话能够经过 find -name "程序名" 找找 

重启,若是还有问题的话重复上面的操做便可。

安装程序:http://pan.baidu.com/s/1dEM9utb

相关文章
相关标签/搜索