导航:首页 > 操作系统 > linux流量分析

linux流量分析

发布时间:2022-11-28 20:34:07

‘壹’ 如何在linux下统计高速网络中的流量

在Linux中有很多的流量监控工具,它们可以监控、分类网络流量,以花哨的图形用户界面提供实时流量分析报告。大多数这些工具(例如:ntopng , iftop )都是基于libpcap 库的 ,这个函数库是用来截取流经网卡的数据包的,可在用户空间用来监视分析网络流量。尽管这些工具功能齐全,然而基于libpcap库的流量监控工具无法处理高速(Gb以上)的网络接口,原因是由于在用户空间做数据包截取的系统开销过高所致。
在本文中我们介绍一种简单的Shell 脚本,它可以监控网络流量而且不依赖于缓慢的libpcap库。这些脚本支持Gb以上规模的高速网络接口,如果你对“汇聚型”的网络流量感兴趣的话,它们可统计每个网络接口上的流量。
脚本主要是基于sysfs虚拟文件系统,这是由内核用来将设备或驱动相关的信息输出到用户空间的一种机制。网络接口的相关分析数据会通过“/sys/class/net/<ethX>/statistics”输出。
举个例子,eth0的网口上分析报告会输出到这些文件中:
/sys/class/net/eth0/statistics/rx_packets: 收到的数据包数据
/sys/class/net/eth0/statistics/tx_packets: 传输的数据包数量
/sys/class/net/eth0/statistics/rx_bytes: 接收的字节数
/sys/class/net/eth0/statistics/tx_bytes: 传输的字节数
/sys/class/net/eth0/statistics/rx_dropped: 收包时丢弃的数据包
/sys/class/net/eth0/statistics/tx_dropped: 发包时丢弃的数据包
这些数据会根据内核数据发生变更的时候自动刷新。因此,你可以编写一系列的脚本进行分析并计算流量统计。下面就是这样的脚本(感谢 joemiller 提供)。第一个脚本是统计每秒数据量,包含接收(RX)或发送(TX)。而后面的则是一个描述网络传输中的接收(RX)发送(TX)带宽。这些脚本中安装不需要任何的工具。

‘贰’ 如何在Linux下统计高速网络中的流量

在本文中我们介绍一种简单的Shell 脚本,它可以监控网络流量而且不依赖于缓慢的libpcap库。这些脚本支持Gb以上规模的高速网络接口,如果你对“汇聚型”的网络流量感兴趣的话,它们可统计每个网络接口上的流量。

脚本主要是基于sysfs虚拟文件系统,这是由内核用来将设备或驱动相关的信息输出到用户空间的一种机制。网络接口的相关分析数据会通过“/sys/class/net/<ethX>/statistics”输出。

举个例子,eth0的网口上分析报告会输出到这些文件中:

/sys/class/net/eth0/statistics/rx_packets: 收到的数据包数据
/sys/class/net/eth0/statistics/tx_packets: 传输的数据包数量
/sys/class/net/eth0/statistics/rx_bytes: 接收的字节数
/sys/class/net/eth0/statistics/tx_bytes: 传输的字节数
/sys/class/net/eth0/statistics/rx_dropped: 收包时丢弃的数据包
/sys/class/net/eth0/statistics/tx_dropped: 发包时丢弃的数据包
这些数据会根据内核数据发生变更的时候自动刷新。因此,你可以编写一系列的脚本进行分析并计算流量统计。下面就是这样的脚本(感谢 joemiller 提供)。第一个脚本是统计每秒数据量,包含接收(RX)或发送(TX)。而后面的则是一个描述网络传输中的接收(RX)发送(TX)带宽。这些脚本中安装不需要任何的工具。

测量网口每秒数据包:

下面的屏幕截图显示了上面的两个脚本的输出。

‘叁’ 怎么把Linux流量监控工具iftop内容写到日志

nohupiftop>>/tmp/iftop.log&

#追加重定向到一个日志文件。然后扔到后台,觉得这么监控效果不好。

‘肆’ Linux centos 6.5 异常进程与木马查杀

        都说Linux主机是非常安全的,但有时却不见得,第二次碰上Linux中木马了(我运气这么好?)。

废话不多说,直接进入主题。

一、状况描述:

       1、2017.06.19早上过来发现ssh连接不上,以及各个官网都访问不了;

        2、通过云主机厂商后台登录,发现nginx、tomcat、svn应用全部停止;

        3、ping www.google.com (云主机在US) 不通;

二、问题定位:

        应该是云主机被重启了,同时断开了外网(有些应用没有设置为自启动),于是重启公网的网卡后,ssh就可以登录了,手工启动了nginx、

omcat、svn等应用,因为上次也发生过几次这样的情况,据云厂商反馈,云主机对外发送大量的网络包,导致流量巨大,具体在Linux主机上的

体现就是cpu一直100%左右撑死,于是我怀疑是不是这次也是对外发送巨大的流量包,导致云主机厂商断了主机的外网呢?通过top命令查看

进程发现并没有cpu占用过高的进程,就ifconfig 查看了下网卡情况,显示网卡流量在2.4G左右(由于是事后了,没有截到先前的图),感觉很迅

速,于是我就又断开了一次,就没管了,到中午午休后,下午再次使用ifconfig,此时流量对外发送大量的流量包,累计流量竟然高达140G左右

(后面处理了,就累加了一点):

这情况显示,肯定是中木马,由于Linux主机上面没有安装一些关于流量分析的软件,只从常用的top命令开始,发现并没有cpu占用很高的进程,

但发现有两个从来没见过的进程:MuYuHang 、LTF,通过 /proc/进程id 进入对应进程文件,ls -lh,发现可执行文件竟然指向了Tomcat bin目录

跟上次又是多么的相似,只是进程和文件名不一样罢了,于是简单的操作,kill -9 pid  ,结果操作无效,很快进程起来,而且文件删除不了,报

operation not permitted(我可是用root用户执行的,难道还有root干不了的事情?具体了解可查看资料 lsattr和),删除后,过一会儿又自动恢

复。

三、ClamAV工具

       关于ClamAV工具的用途以及安装,请网络搜索相关介绍和安装资料,大概说一下,ClamAV是Linux平台的一个木马扫描工具,可以扫描哪些

文件被感染了(但不能自动清除这些病毒,没有windows上面的杀毒软件那么强大),我安装在/home/clamav目录下。

四、解决办法

      通过命令 /home/clamav/bin/clamscan -r --bell -i /,扫描这个根目录发现有不少的文件被感染了:

       发现tomcat bin目录下的2个文件果然是被感染的了,同时发现有几个命令也被感染了如ps、netstat以及lsof,于是我清除了bsd-port这个目

录,同时把pythno清理,对于命令可以通过,从同版本的linux 没有问题的linux主机上面过来,删除后进行覆盖即可(也可以删除重装),

再把tomcat的文件删除,以及异常的进程kill掉,再用clamav扫描发现没有了,最后还需要检查下/etc/init.d这个开机启动的文件,检查里面自动启

动的,我这个里面就发现先前指向 /user/bin/bsd-port/knerl 这个,文件已经删除了,我同时把对应的sh,注释掉。目前来看,一切正常了。。。

五、总结

        一次比较完整的定位问题,平时一般很少接触到查收木马的事情,碰上了就当学习,提升技能,只是不足,没有搞清木马是如何进来的,这

个需要后续不断的学习。心好累,Linux主机第二次中木马了。。。。

‘伍’ 求救,linux高手进!!!

因为你没有安装mrtg 这个实时流量分析工具 默认情况下 /var/www/html目录下是空的

‘陆’ linux中 通过监控工具发现服务器在某一时间段CPU 和流量有较大波动排查

使用dstat工具,一般Linux发行版自带,可以监控统计CPU使用最高的进程
例如
dstat --top-cpu 2
每2秒显示一次CPU使用最多的进程
把这个重定向到一个文件就能事后分析了
dstat功能很多,可以查下资料

‘柒’ 在Linux下怎么看网络流量

1. 使用 iptraf
iptraf是一个实时查看网络流量的文本屏幕界面工具。
如果系统没有安装
如果是 RHEL,那么就去找安装盘中的 iptraf*.rpm 包安装;
如果是 CentOS,那么用 yum install -y iptraf 进行安装
iptraf是一个文本全屏幕界面,操作起来比较简单明了。最好使用 putty 来看,SecureCRT可能显示乱码。
它提供了很多统计方式:
(1)IP traffic monitor
(2)General interface statistics
(3)Detailed interface statistics
如果跟上 -B 参数,还可以后台执行,把数据保存到文件中,位于 /var/log/iptraf 目录。
2. sar
如果系统没有安装,
如果是 RHEL,那么就去安装盘中找 sysstat*.rpm 包安装;
如果是 CentOS,那么用 yum install -y sysstat 安装。
sysstat是一个工具包,包含有几个很有用的系统检测程序,iostat,mpstat和sar.
Turbolinux的各个版本上,都包含这个工具包.
iostat用于输出CPU,I/O系统和磁盘分区的统计信息.可以用来分析磁盘I/O,带宽等信息.
mpstat用于输出CPU的各种统计信息. 可以用来分析程序运行时在内核态和用户态的工作情况.
sar用于定时搜集系统的各种状态信息.然后可以对系统各个时间点的状态进行监控.
sar有很多用途,如果要来监控网络流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是统计时间间隔,以秒为单位;count是总共统计几次,如果为0就不断的统计直到 Ctrl+C 打断,否则执行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数

‘捌’ Linux下监控流量一般使用什么工具

有Ntop、Mrtg、Cacti,这三个软件是Linux下常用的流量分析软件。

‘玖’ 如何在Linux上配置基于Web的网络流量监控系统

ntopng的特性
从数据流级别与协议级别对本地网络流量进行实时分析
支持域、AS(自制系统)与VLAN级别的统计分析
支持IP地址地理定位
支持基于“服务探索”(例如Google、Facebook)的深度报文检测(DPI)
历史流量分析(例如分别按照小时、日、周、月、年进行分析)
支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX
网络流量矩阵(谁正在和谁谈话?)
支持IPv6
在Linux上安装ntopng
官方网页上提供了针对Ubuntu和CentOS的二进制安装包。如果你使用的恰好是以上二者其一,并且懒得用源码安装,可以直接到官网下载二进制文件包安装,并忽略这一小节下面的内容。
如果你想通过源码安装最新的ntopng,请继续往下看。
如果你是Debian、Ubuntu或Linux Mint,执行以下命令:
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev $ tar xzf ntopng-1.0.tar.gz -C ~ $ cd ~/ntopng-1.0/ $ ./configure $ make geoip $ make

上面的几个步骤中,“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库,因此,这里最好确保你的系统能联网。
如果你是Fedora:
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget $ tar xzf ntopng-1.0.tar.gz -C ~ $ cd ~/ntopng-1.0/ $ ./configure $ make geoip $ make

如果你是CentOS或RHEL,首先设置EPEL repository,然后再执行上面和Fedora一样的命令就可以。
在Linux上配置ntopng
ntopng安装完毕之后,接下来,新建一个ntopng配置目录,然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。
$ sudo mkir /etc/ntopng -p $ sudo -e /etc/ntopng/ntopng.start

修改如下:
--local-networks "192.168.1.0/24"
--interface 1
$ sudo -e /etc/ntopng/ntopng.conf

修改如下:
-G=/var/run/ntopng.pid
在运行ntopng之前,要确认先启动redis,刚才不说了,redis为ntopng提供键值存储嘛~
在Debian、Ubuntu和Linux Mint上,这样启动:
$ sudo /etc/init.d/redis-server restart $ sudo ./ntopng

在Fedora、CentOS和RHEL上,这样启动:
$ sudo service redis restart $ sudo ./ntopng

ntopng默认监听TCP的3000端口,使用下列命令加以确认:
$ sudo netstat -nap|grep ntopng tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng

基于Web界面的网络流量监控
一旦ntopng成功运行,就可以打开浏览器,访问地址http://<你的主机IP地址>:3000
这时,你会看到ntopng的登录界面。使用默认帐密:“admin/admin”。
下面是一些截图。
top流的实时可视化图像

top主机的实时统计,包括top协议和top AS数量

基于DPI的自动程序/服务探索生成的的实时数据报告

历史流量数据分析

via: http://xmolo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html

‘拾’ linux 发送流量异常

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还有很多的参数可以实现比较多的功能,有时间的话可以研究研究,对排查网络流量攻击以及掌控流量使用很有帮助的

阅读全文

与linux流量分析相关的资料

热点内容
房本抵押银行没有解压 浏览:535
用纸做解压魔术 浏览:484
服务器中运行的脚本如何测试 浏览:373
手机主题包时钟文件夹 浏览:423
怎么在app上退订短号业务 浏览:978
解压迫及法老 浏览:58
pdf横竖 浏览:137
5800计算机程序和编程 浏览:29
网上报修php源码 浏览:897
魔兽宏命令老是语言提示 浏览:971
办公文件夹大全 浏览:471
单片机闪烁灯虚拟线路图 浏览:72
App显示别的国家怎么更改 浏览:154
幻塔官方服务器叫什么 浏览:196
android自定义进度框 浏览:506
linux自动联网 浏览:492
keil编写的程序怎么不能编译呢 浏览:562
ipadair2能编程吗 浏览:358
esxi查看内存命令行 浏览:79
u盘settings文件夹 浏览:649