iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。
虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。
# yum install -y flex byacc libpcap ncurses-devel libpcap-devel #先要安装必需的软件 # mkdir iftop # cd iftop/ # wget http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz #下载 # tar zxvf iftop-1.0pre4.tar.gz #解压 # cd iftop-1.0pre4 # ./configure #配置 # make && make install #编译安装
语法:
iftop -h | [-npblNBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6] -h 显示本帮助(Help)信息 -n 不进行主机名(hostName)查找 -N 不将端口号(port Number)转换成对应的服务 to services -p 混合(Promiscuous)模式(显示网络相关的其他主机信息) -b 不显示流量图形条(Bar) -B 以字节(Byte)为单位,显示带宽(Bandwidth);默认以比特(bit)显示的 -i interface 监控的网卡接口(interface) -f filter code 包统计时,使用过滤码;默认:无,只统计IP包 -F net/mask 显示特定IPv4网段的进出流量(Flow);如# iftop -F 10.10.1.0/24 -G net6/mask6 显示特定IPv6网段的进出流量(Flow) -l 显示并统计IPv6本地(Local)链接的流量(默认:关) -P 显示端口(Port) -m limit 设置显示界面上侧的带宽刻度(liMit) -c config file 指定配置(Config)文件 -t 使用不带窗口菜单的文本(text)接口 排序: -o 2s Sort by first column (2s traffic average) -o 10s Sort by second column (10s traffic average) [default] -o 40s Sort by third column (40s traffic average) -o source Sort by source address -o destination Sort by destination address The following options are only available in combination with -t -s num print one single text output afer num seconds, then quit -L num number of lines to print
右侧的三列数值:
第一列是:在此次刷新之前2s或10s或40s的平均流量(按B设置秒数);
第二列是:在此次刷新之前10秒钟的总流量的一半;
第三列是:在此次刷新之前40秒钟的总流量的1/5;
TX:发送(Transmit)流量;RX:接收(Receive)流量;TOTAL:总流量;
cum:运行iftop到目前时间的总和(Cum);peak:流量峰(Peak)值;
rates:分别表示过去 2s 10s 40s 的平均流量;
ifconfig不仅查看的是ip还可以查看总流量
n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。
运行一下top命令,查看占用资源情况,PID为1022的明显有问题,应该就是那个发送数据包的程序了。
kill -9 1022
OK了,进程关掉了。
ifconfig -a
iftop -i ens33 -n -P
iftop、nethogs, vnstat三款优秀的Linux 网络监视工具