linux 查看使用网络的程序,linux下nethogs查看各程序的网络占用量

一、概述

inux下的流量查看工具很多,如:iptraf、nload、ifstat、sar等。当然每个工具都有各自的优势。不过以上所有工具有没一款都针对服务进程所占用的流量的具体情况给出结果。(我是不知道,如果有以上工具有这方面的功能,麻烦一定相告)因为工作方面的需要,又需要一款这样的工具。后来从网上就找到了nethogs 。

nethogs可以显示每个进程的带宽占用情况,能够更直观获取网络使用情况。nethogs支持 IPv4 和 IPv6 协议,支持本地网卡及 PPP 链接。不过该程序运行的必须具有root权限。

二、安装

我这里以centos 5.X 64位为例:wget ftp://ftp.muug.mb.ca/mirror/fedora/epel/5/x86_64/nethogs-0.7-3.20080627cvs.el5.x86_64.rpm

rpm -ivh nethogs-0.7-3.20080627cvs.el5.x86_64.rpm

如果想用源码包安装的可以使用源码包下载安装。源码包安装不需要编译,直接make ;make install就行,不过需要libpcap环境。下面是其源码包安装提示:make ; make install

you need the 'libpcap-dev' and 'libpcap' packages.

三、用法

终端输入nethogs即可。

常用参数: [-d seconds] [device(s)]

-d seconds 是数据刷新时间 如nethogs -d 1 就是每秒刷新一次

device(s) 是指定监控的网卡,如nethogs eth1 就是监控eth1网卡。默认是监控 eth0 网卡,如果要监控多网卡的话则必须进行指定。

例:

监控eth0,eth1两块网卡,数据刷新时间为3秒nethogs -d 3 eth0 eth1

nethogs运行时的控制键:

q 退出。

m 切换显示总流量或即时流量,总流量可切换三种显示模式B,KB,MB。

c5f2033dd7411b12eba26d1a165a336b.png

注:对于未使的服务程序会显示unknow ,对于一些网络连结程序还会在program里显示出连接端口和IP及本机连接的端口。sent是发送流量,received为接收流量。

2017-04-02后记

该工具在redhat下一直比较容易安装,之前由于在SuSE下没有试过,发现安装过程中会有包依赖的问题,提示找不到libpcap.h 文件,从其他主机上拷贝一个编译好的执行,报错如下:

# ./nethogs

./nethogs: error while loading shared libraries: libpcap.so.1: cannot open shared object file:

解决方法如下:

zypper in flex bison libpcap0 ncurses-devel

cp /usr/lib64/libpcap.so.0 /usr/lib64/libpcap.so.1

再次执行,一切正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值