当前位置:首页 » 操作系统 » linux监控流量

linux监控流量

发布时间: 2022-04-20 18:58:15

linux 系统是如何对流量的进行监控和过滤的

iptables里面有系统默认的设置,流量过滤在这个里面设置,你可以自己添加
top 这个命令式监控进程和流量的

㈡ Linux流量监控的几个方法

看你用哪个linux系统啊,建议你用专业的linux系统,比如WFilter NGF系统,基于Linux,专门做上网行为管理和流控技术。流量监控只是其中的小功能。

㈢ 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

㈣ kali linux怎么嗅探路由器下所有设备的流量

必须要在
路由器
上配置“
端口镜像
”或者“端口监控”才可以。linux下只能用tcpmp
抓包
,还是要拷贝到windows下来用
wireshark
查看。
我建议你不如直接在windows下安装“WFilter
上网行为管理软件
”,可以监控所有设备的流量,还可以配置封堵策略。

㈤ suse linux系统怎样监控流量

如果采用编译安装可以到iftop官网下载最新的源码包。
安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。
CentOS上安装所需依赖包:
yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel
Debian上安装所需依赖包:
apt-get install flex byacc libpcap0.8 libncurses5
下载iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17

㈥ 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

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

在Linux上安装ntopng

如果你是Debian、Ubuntu或Linux Mint,执行以下命令:

㈧ 听说用Linux系统可以控制流量

用ulimit 这个命令。
ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
-a 列出所有当前资源极限
-c 设置core文件的最大值.单位:blocks
-d 设置一个进程的数据段的最大值.单位:kbytes
-f Shell 创建文件的文件大小的最大值,单位:blocks
-h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限
-l 可以锁住的物理内存的最大值
-m 可以使用的常驻内存的最大值,单位:kbytes
-n 每个进程可以同时打开的最大文件数
-p 设置管道的最大值,单位为block,1block=512bytes
-s 指定堆栈的最大值:单位:kbytes
-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者
-t 指定每个进程所使用的秒数,单位:seconds
-u 可以运行的最大并发进程数
-v Shell可使用的最大的虚拟内存,单位:kbytes
eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)

㈨ 如何在Linux下统计高速网络中的流量

一般的linux下可以通过

/proc/net/dev

文件对某个或多个网络接口进行流量监控

通过定时读取该文件中的数据然后通过计算就可以算是当前是否有数据流通

并且流通的速度

该文件内部也记录了该网络接口所有流通的流量数量和数据包的数量

包括上传与下载的数量


下面是一个利用该文件的简单代码

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<ncurses.h>
#include<pthread.h>
#include<locale.h>

typedefstruct
{
unsignedlonglongintup_bytes;
unsignedlonglongintdn_bytes;
unsignedlonglongintup_packs;
unsignedlonglongintdn_packs;
}SP;

intget_traffic(SP*sp,char*interface)
{
char*buf=NULL;
size_tlen;
FILE*fp;

if((fp=fopen("/proc/net/dev","rb"))==NULL)
{
perror("Read/proc/net/devError!");
return-1;
}

while(!feof(fp))
{
getline(&buf,&len,fp);
if(buf==NULL)
return-1;

if(strstr(buf,interface))
break;

free(buf);
buf=NULL;
}

if(feof(fp))
{
printf("CanNotFind%sInterface! ",interface);
fclose(fp);

return-1;
}

sscanf(buf,"%*[^:]:%lld%lld%*s%*s%*s%*s%*s%*s%lld%lld",
&sp->dn_bytes,&sp->dn_packs,
&sp->up_bytes,&sp->up_packs);

free(buf);
fclose(fp);
return0;
}

void_quit(WINDOW*win)
{
while(getchar()!='q')
continue;

delwin(win);
echo();
endwin();

exit(0);
}

voidhelp(void)
{
printf("Use: ");
printf("netsp[interface] ");

exit(-1);
}

intmain(intargc,char**argv)
{
unsignedlongup_times=0;
unsignedlongdn_times=0;
doubleup_bytes;
doubledn_bytes;
doubleup_sp;
doubledn_sp;
SPstart,end,temp;
WINDOW*win;
intx,y;
pthread_tthread;

if(argc!=2)
help();

setlocale(LC_ALL,"");
if(get_traffic(&start,argv[1])==-1)
return-1;

initscr();
curs_set(0);
noecho();
if(has_colors())
{
start_color();
use_default_colors();
init_pair(1,COLOR_CYAN,-1);
init_pair(2,COLOR_GREEN,-1);
}

getmaxyx(stdscr,y,x);
win=newwin(12,30,y/2-10/2,x/2-30/2);
refresh();
wattron(win,COLOR_PAIR(1));
box(win,0,0);
wattroff(win,COLOR_PAIR(1));
wrefresh(win);
pthread_create(&thread,NULL,(void*)_quit,win);

while(1)
{
get_traffic(&temp,argv[1]);
usleep(500000);
//sleep(1);
++up_times;
++dn_times;
get_traffic(&end,argv[1]);

if(up_times%10==0)
{
up_times=1;
start.up_bytes=temp.up_bytes;
}

if(dn_times%10==0)
{
dn_times=1;
start.dn_bytes=temp.dn_bytes;
}

if(end.up_bytes-temp.up_bytes==0)
{
up_times=1;
temp.dn_bytes=start.dn_bytes;
get_traffic(&start,argv[1]);
start.dn_bytes=temp.dn_bytes;
}

if(end.dn_bytes-temp.dn_bytes==0)
{
dn_times=1;
temp.up_bytes=start.up_bytes;
get_traffic(&start,argv[1]);
start.up_bytes=temp.up_bytes;
}

wattron(win,COLOR_PAIR(2));
up_bytes=(double)end.up_bytes/1024/1024;
dn_bytes=(double)end.dn_bytes/1024/1024;

if(up_bytes<1024)
mvwprintw(win,2,6,"已上传%.2fMB",up_bytes);
else
mvwprintw(win,2,6,"已上传%.2fGB",up_bytes/1024);
if(dn_bytes<1024)
mvwprintw(win,3,6,"已下载%.2fMB",dn_bytes);
else
mvwprintw(win,3,6,"已下载%.2fGB",dn_bytes/1024);

mvwprintw(win,5,6,"已上传包数量%ld",end.up_packs);
mvwprintw(win,6,6,"已下载包数量%ld",end.dn_packs);

up_sp=(double)(end.up_bytes-start.up_bytes)/up_times/1024*2;
dn_sp=(double)(end.dn_bytes-start.dn_bytes)/up_times/1024*2;

if(up_sp<1024)
mvwprintw(win,8,6,"上传速度%.2fkb/s",up_sp);
else
mvwprintw(win,8,6,"上传速度%.2fmb/s",up_sp/1024);
if(dn_sp<1024)
mvwprintw(win,9,6,"下载速度%.2fkb/s",dn_sp);
else
mvwprintw(win,9,6,"下载速度%.2fmb/s",dn_sp/1024);

wattroff(win,COLOR_PAIR(2));
wrefresh(win);
wclear(win);
wattron(win,COLOR_PAIR(1));
box(win,0,0);
wattroff(win,COLOR_PAIR(1));
}

return0;
}
热点内容
ade云存储平台 发布:2024-10-01 07:18:57 浏览:267
雨脚本 发布:2024-10-01 07:06:54 浏览:189
220v怎么检查配置连接线 发布:2024-10-01 07:04:35 浏览:997
通快激光编程 发布:2024-10-01 06:41:46 浏览:348
linux中ftp 发布:2024-10-01 06:28:07 浏览:211
我的世界170版本服务器 发布:2024-10-01 05:32:49 浏览:262
kalilinux配置网络 发布:2024-10-01 05:08:22 浏览:302
JAVA数据本地化存储 发布:2024-10-01 04:31:10 浏览:516
存储过程返回多个值 发布:2024-10-01 04:19:44 浏览:980
怎样用自己的ip搭建服务器 发布:2024-10-01 04:18:09 浏览:743