在linux下怎么获得 局域网各个ip,端口的流量速率和流量

在linux下怎么获得 局域网各个ip,端口的流量速率和流量,第1张

Linux下是没有文件直接给你按进程记录流量信息的。你想要编程实现的话,办法是有的,只是比较麻烦。首先,你需要能截取流经网卡的数据包,这个可以通过libpcap来完成,其次你要完成的最重要的一步就是怎么根据端口号找到进程的pid。端口号通过截取的数据包可以获得,这个时候你要按行来解析/proc/net/tcp (如果要支持ipv6的话还要解析/proc/net/tcp6),这个文件记录了当前活跃的TCP连接情况,每一行代表一条连接,我们感兴趣的是其中的inode这一项,你得把inode的值解析出来保存。然后蛋疼的时候来了,接下来你得遍历所有的/proc/pid/fd文件,察看其中每一个文件描述符,如果发现内容为socket[xxxx]的,把xxxx截取出来,这个xxxx也是inode号,如果和你之前解析/proc/net/tcp的inode号吻合,恭喜你,这说明这个pid和那个tcp连接有关系,进而也就确定了端口号和pid的对应关系,也就知道了数据包和进程之间的对应关系了。

linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。

1 命令行直接输入:iptraf(如果没有,使用yum install iptraf安装

2.打开进入选择ip镜像。

3. 选择监听测试的接口,所有接口。

4.开启监听状态日志,系统默认日志路径。/var/log/iptraf/ip_traffic.log

4. 运行之后,开启进行监听网卡流量

5.iptraf参考用法:

man iptraf 查看

此外还有很多工具命令可以查看:

watch命令:

watch -n 1 "/sbin/ifconfig eth0 | grep bytes"。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7684831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存