linux服务器使用iftop查看带宽流量IP
20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
Linux下使用iftop工具结合iptables服务来解决带宽资源被恶意请求满的问题,主要通过2个步骤来实现;
1.  使用iftop工具查出来是哪些个IP地址在请求主机的带宽资源,找出耗带宽的元凶
2.  找出耗带宽的IP地址或者段,分析是out方向还是in方向,使用iptables规则来进行控制
具体的详细操作方法如下;
一但出现带宽被恶意请求,在带宽被请满的情况下基本上很难通过网络登入到服务器上进行操作跟维护,这时我们需要通过阿里云提供的“连接管理终端”服务来登入系统
一般建议在主机正常的时候直接在服务器内部安装好iftop工具,这样出现恶意请求的时候直接可以使用该工具来进行排查,下面介绍下iftop的2中安装方法
1.使用yum 安装iftop工具
使用yum安装的话比较简单,只要直接执行 yum install iftop –y命令即可,如果没问题的话系统就会自动执行安装,但是有使用yum可能安装不了,这时就需要使用编译安装了
2.编译安装iftop工具
(1)下载iftop工具的源码包;
http://oss.aliyuncs.com/aliyunecs/iftop-0.17.tar.gz
(2)CentOS下安装所需的依赖包
yum install flex byacc  libpcap ncursesncurses-devel libpcap-devel
(3 解压缩下载的iftop文件
tarzxvf iftop-0.17.tar.gz
(4 进入到解压的的iftop目录中
cdiftop-0.17
配置并制定安装目录为/usr/local/iftop目录下
(5./configure –prefix=/usr/local/iftop
(6)编译并安装
make && make install
安装完成以后直接使用/usr/local/iftop/sbin/iftop 启动iftop程序查看流量使用情况,如果想使用iftop的方式直接开启程序,需要将iftop的程序添加到环境变量中即可
结合使用iptables服务来限制恶意请求的流量;
iftop –i eth1 查看eth1这块外网网卡的流量使用情况

通过上面这张信息很清楚的看到,121.199这台服务器一直往192.230.123.101 这个地址发送流量,而且出去产生的流量相当大,几乎把整个出网带宽都给耗尽了
查到了恶意请求的原因跟目标主机以后,我们就可以使用iptables服务来对这种恶意行为进行限制了,因为从查看到的数据看主要的流量是从out方向出去的,那就直接在OUT方向设置策略
Iptables -A OUTPUT -d 192.230.123.101 –j REJECT
这里可能还会发现一个情况就是禁用了这个1个IP以后可能这个段的其它IP地址都有可能马上就接上继续请求,那就可以针对一个段来进行限制
iptables-A OUTPUT -d 192.230.0.0/16 -j REJECT
策略加上以后可以再使用iftop –i eth1 来查看流量的请求情况;

可以查看到流量已经恢复了正常,之前的恶意请求的地址都已经被防火墙给屏蔽了,效果比较好
另外iftop还有很多的参数可以实现比较多的功能,有时间的话可以研究研究,对排查网络流量攻击以及掌控流量使用很有帮助的
相关参数及说明
1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
2、iftop相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
进入iftop画面后的一些操作命令(注意大小写)
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。
linux服务器使用iftop查看带宽流量IP的更多相关文章
- Linux系统使用iftop查看带宽占用情况
		
Linux系统下如果服务器带宽跑满了,查看跟哪个ip通信占用带宽比较多,可以通过iftop命令进行查询,使用方法如下: 1 安装方法[软件官网地址:http://www.ex-parrot.com/~ ...
 - Linux 系统管理命令 - iftop - 动态显示网络接口流量信息
		
命令详解 重要星级: ★★★★☆ 功能说明: iftop 是一款实时流量监控工具,可用于监控 TCP/IP 连接等,必须以 root 用户的身份运行.一般最小化安装系统是没有这个命令的,需要使用 yu ...
 - linux服务器性能状态查看
		
vmstat结果内容的解释 Vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu---- ...
 - Openwrt中用iftop查看网络流量情况
		
iftop可以查看指定网卡上的流量情况, 命令说明 iftop: display bandwidth usage on an interface by host Synopsis: iftop -h ...
 - linux服务器cpu信息查看详解
		
在linux系统中,提供了/proc目录下文件,显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以查/proc/cpuinfo.但是此文件输出项较多,不易理解.例如我们想获取, ...
 - linux服务器进程信息查看命令
		
#lsof 列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用 [root@bogon ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE ...
 - [Linux] - 服务器/VPS一键检测带宽、CPU、内存、负载、IO读写
		
一.SuperBench.sh VPS/服务器一键检测带宽.CPU.内存.负载.IO读写等的脚本: wget -qO- https://raw.githubusercontent.com/oooldk ...
 - 如何将linux服务器作为文件服务器
		
在开发过程中想要使用linux服务器作为文件服务器,可以通过 IP+文件名来获取文件信息,比如http://localhost/banner/a.jpg.设置过程如下 1.安装apache2 sudo ...
 - mac通过自带的ssh连接Linux服务器并上传解压文件
		
需求: 1:mac连接linux服务器 2:将mac上的文件上传到linux服务器指定位置 3:解压文件 mac上使用命令,推荐使用 iterm2 .当然,也可以使用mac自带的终端工具. 操作过程: ...
 
随机推荐
- 使用java如何操作elasticsearch?简单示例。
			
在线API:https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.4/transport-client.html教程:http ...
 - node.js开发web
			
1.安装express框架 使用npm install -g express安装express后,在命令行中执行express,提示没有此命令 原因是在新版的express中命令行需要单独安装 npm ...
 - LeetCode(11):盛最多水的容器
			
Medium! 题目描述: 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, ...
 - C++ 矩阵库 eigen
			
找了好久才发现了一个这么方便的C++矩阵库. 官网 http://eigen.tuxfamily.org/index.php?title=Main_Page 参考文章 http://blog.csdn ...
 - linux通过wget直接下载jdk
			
下载语句: tar包下载 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-se ...
 - 使用IDEA搭建spring
			
从前使用eclipse开发,集成jar包,现在使用maven来管理 一: 1.框架 2.pom 需要spring core与spring context. <?xml version=" ...
 - ZooKeeper与Eureka对比
			
简介 Eureka [ jʊ'rikə ]本身是Netflix开源的一款提供服务注册和发现的产品,并且提供了相应的Java封装.在它的实现中,节点之间相互平等,部分注册中心的节点挂掉也不会对集群造成影 ...
 - MySQL 中国省市区SQL表数据
			
MySQL 中国省市区SQL表数据 1.查省SELECT * FROM china WHERE china.Pid=02.查市SELECT * FROM chinaWHERE china.Pid= ...
 - codevs 1795 金字塔 2
			
codevs 1795 金字塔 2这个题比完全背包多了一个总数的限制,即一定要选(m+n)个,题中说总重量不超过n,所以至少选择m个重量为0的,然后初始化的时候,都填成重量为0的,然后再一个个地把它们 ...
 - cookie之困
			
参见http://yun.baidu.com/share/link?shareid=1575530779&uk=1795493794 cookie三元组(name,domain,path),它 ...