1. 百兆网卡跑多少流量,网卡就算满了,在linux下怎么查看网卡是否跑满了
网卡计量用的是b\bit,和我们通常计量的B\byte换算关系是8:1,所以100M的网卡跑12M左右达到最大值。查看linux下网络流量可以使用iftop ,可以精确的看到每个IP的流量。
2. 查看linux网络流量及带宽
在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。
iftop类似于top的实时流量监控工具,可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。
查看流量是从哪些端口发送出去的:
# iftop -P
-P 选项会在iftop 的输出结果中开启端口显示
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
要找到运行在该端口的进程,那么可以用netstat 或者lsof 来找到相应的进程。
使用netstat 命令来找到运行在10910这个端口上的进程:
# netstat -tunp | grep 10910
可以使用lsof 命令来找到运行在10909这个端口上的进程:
# lsof -i:10909
查看进程PID为51919的应用程序:
# ps -ef |grep 51919
3. linux查看网络流量命令
方法一、nload工具
查看参数帮助命令:
nload –help
-a :这个好像是全部数据的刷新时间周期,单位是秒,默认是300.
-i :进入网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-m :不显示流量图,只显示统计数据。
-o :出去网卡的流量图的显示比例最大值设置,默认10240 kBit/s.
-t :显示数据的刷新时间间隔,单位是毫秒,默认500。
-u :设置右边Curr、Avg、Min、Max的数据单位,默认是自动变的.注意大小写单位不同!
h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:设置右边Ttl的数据单位,默认是自动变的.注意大小写单位不同(与-u相同)!
Devices:自定义监控的网卡,默认是全部监控的,使用左右键切换。
如只监控eth0命令: nload eth0
方法二、iftop工具
1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX: 发送流量
RX: 接收流量
TOTAL:总流量
Cumm: 运行iftop到目前时间的总流量
peak: 流量峰值
rates: 分别表示过去 2s 10s 40s 的平均流量
2、iftop相关参数
常用的参数 《Linux就该这么学》
-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退出监控。
方法三、 ifstat
参数:
-a 监测能检测到的所有网络接口的状态信息
-z 隐藏流量是无的接口,例如那些接口虽然启动了但是未用的
-i 指定要监测的接口,后面跟网络接口名
时间:
-T 报告所有监测接口的全部带宽
-w 用指定的列宽,而不是为了适应接口名称的长度而去自动放大列宽
-W 如果内容比终端窗口的宽度还要宽就自动换行
-b 用kbits/s显示带宽而不是kbytes/s
4. Linux 下用什么命令查看流量
• nethogs: 按进程查看流量占用
• iptraf: 按连接/端口查看流量
• ifstat: 按设备查看流量
• ethtool: 诊断工具
• tcpmp: 抓包工具希赛里有很多这方面资料的。
5. linux如何查看都有那些程序在访问网络,并能看到程序的流量。求大家帮忙。。。
netstat -ano 可以看弊毕出端口所运行的服务 以及这个 端口对外的连接
在安装一个iftop 可以精确的看到每个IP的流量
如果你机器上是跑磨卜搭WEB 你就用iftop看下 访问进来的IP 然后去apache里面的日志分析下是访问的哪个瞎拿文件
6. linux防火墙设置,某个ip接收流量
你设置的应该是在input链上设置的,这个是出的清洞流罩庆量。应该在output链上设置
iptables -A output -d 目标ip -j DROP
另外如果这个ip没有访问你的服务器而出的流量这么大的话可能是服务器被入侵了,物正握往外发包。
7. 如何查看Linux服务器中,异常流量来自哪个IP
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还有很多的参数可以实现比较多的功能,有时间的话可以研究研究,对排查网络流量攻击以及掌控流量使用很有帮助的
8. 在linux下怎么获得 局域网各个ip,端口的流量速率和流量
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的对应关系,也就知道了数据包和进程之返野间的对应关系了。
9. linux下面有什么工具可以查看每个进程的网络流量
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
10. linux下面有什么工具可以查看每个进程的网络流量
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