终端如何显示网络流量?


Answers:


432

这是Ubuntu存储库中用于命令行网络流量监视的一些不错的工具:

bmon-一次显示多个接口

在此处输入图片说明

s饮 -具有漂亮的彩色图形

在此处输入图片说明

tcptrack- 最喜欢的。告知正在使用多少带宽,以及正在传输的协议(服务/端口)和目的地。当您想确切了解耗尽带宽时非常有帮助

在此处输入图片说明


8
bmon真的很棒!有一个像饮但不丰富多彩的图表。
空灵2014年

26
sudo apt-get install bmon slurm tcptrack
Nabil Kadimi 2015年

3
nload值得一提的是可以更好地分离上载和下载(也不是彩色的)
克里斯(Chris

1
tcptrack很酷!
罗伯特

sudo apt install ethstatus
isync

146

这很容易!使用以下命令安装“ iftop”:

sudo apt-get install iftop

然后跑

sudo iftop

从任何终端!

请享用!


8
要查看任何内容,我必须运行(使用wifi的Ubuntu):$ sudo iftop -i wlan0
russian_spy 2015年

iftop还记录或从时间登录网络带宽的时间?目前,我同时使用vnstatiftop用于不同的用法,并vnstat记录带宽使用情况。如果这样做的话,那将是多余的,并且会给我的服务器增加更多的负载iftop
Oki Erie Rinaldi '18

132

有人也应该提到nethogs

与此不同的也许是更酷的一点是,它显示了每个 进程的流量,如图所示

在此处输入图片说明

看一下页面


8
要安装:sudo apt-get -y install nethogs然后sudo nethogs
bmaupin 2014年

非常有用的实用程序,请注意,如askubuntu.com/a/729560/79176所述,您可能需要执行一些额外的步骤才能使其在14.04上运行
巨大

对于那些与Debian的杰西谁碰巧来到这里,太:一个工作版本是backports中: apt-get install nethogs/jessie-backports您首先需要添加杰西-反向移植)。
蒂诺

1
“它显示了每个进程的流量”正是我所需要的,谢谢!
Paul Feakins

52

有一个名为speedometer的好工具,它可以在终端中使用Unicode块字符,颜色显示图形,甚至在图形的每个峰上添加标签。

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))

运行上一条命令后的屏幕截图

它具有多个选项,可以监视多个界面,可以在多行或多列中显示多个图形,甚至可以监视单个文件的下载速度(通过观察磁盘上的文件大小)。


2
这是迄今为止我在纯文本显示中见过的最好的可视图形。我现在将由同一位作者研究gui库:urwid.org (源代码和作者:github.com/wardi
ThorSummoner 2015年

1
@ThorSummoner:这已经不合时宜了,但是urwid是很棒的PuDB Python调试器使用的库。
DenilsonSáMaia 2015年

这只是“等待<interface>被创建”。
felwithe

@felwithe这可能意味着您传递了错误的网络接口名称。尝试wlan0将该命令更改为eth0系统中网络接口的名称。另请参阅:unix.stackexchange.com/a/125406
DenilsonSáMaia

@DenilsonSáMaia我没有;我检查了 我也尝试了其他接口。那是我一直在摆弄的时间。我遇到了网络问题,不得不找到一种能够尽快运行的工具。我使用了其中一种简单的方法,结果发现问题根本不是带宽。
felwithe'Apr

46

iptraf

IPTraf是Linux的基于控制台的网络统计实用程序。它收集了各种数据,例如TCP连接数据包和字节数,接口统计信息和活动指示器,TCP / UDP流量明细以及LAN站数据包和字节数。

特征

IP流量监视器,显示有关通过网络传递的IP流量的信息。包括TCP标志信息,数据包和字节数,ICMP详细信息,OSPF数据包类型。常规和详细的接口统计信息,显示IP,TCP,UDP,ICMP,非IP和其他IP数据包计数,IP校验和错误,接口活动,数据包大小计数。TCP和UDP服务监视器,显示常见TCP和UDP应用程序端口的传入和传出数据包计数LAN统计模块可发现活动主机并显示统计信息,以显示其上的数据活动TCP,UDP和其他协议显示过滤器,使您能够仅查看您感兴趣的流量。日志记录支持以太网,FDDI,ISDN,SLIP,PPP和回送接口类型。利用Linux内核的内置原始套接字接口,使其可以在广泛支持的网卡上使用。全屏菜单驱动操作。

公认的协议

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

非IP数据包将简单地表示为“非IP”,并且在以太网LAN上将提供适当的以太网地址。

支持的接口

本地环回所有Linux支持的以太网接口所有Linux支持的FDDI接口SLIP异步PPP通过ISDN的PPP同步ISDN带有原始IP封装的ISDN带有Cisco HDLC封装的ISDN并行线路IP

来源http://iptraf.seul.org/about.html

安装

apt

apt-get install iptraf

或下载源代码:

http://iptraf.seul.org/download.html

屏幕截图

当前连接:

TCP连接

当前端口:

在此处输入图片说明

所有接口的摘要:

在此处输入图片说明

每个接口的详细信息:

在此处输入图片说明

来源http://iptraf.seul.org/shots.html


在Ubuntu 18.04中,看起来iptraf-ng已替换iptraf
wisbucky

24
tcpdump -i eth0 

这将为您提供从该接口(您的以太网卡)流出的所有数据的流信息。类似于wireshark。

ifconfig看你的机器接口的列表。


1
这肯定会显示网络信息...这不是一个非常用户友好的界面,也没有汇总统计信息。绝对可以把它想成wireshark。
user2943160'7

22

我想ifconfig [interface]会做到的。喜欢:

gevorg @ gevorg-TravelMate-3260:〜$ ifconfig wlan0
wlan0链接encap:以太网HWaddr 00:18:de:89:52:71  
          广播多播MTU:1500公制:1
          RX数据包:0错误:0丢弃:0超限:0帧:0
          TX数据包:0错误:0掉线:0超限:0运营商:0
          碰撞:0 txqueuelen:1000 
          RX字节:0(0.0 B)TX字节:0(0.0 B)

gevorg @ gevorg-TravelMate-3260:〜$ ifconfig eth0
eth0链接encap:以太网HWaddr 00:16:36:bf:92:e3  
          inet地址:192.168.10.100广播:192.168.10.255掩码:255.255.255.0
          inet6地址:fe80 :: 216:36ff:febf:92e3 / 64范围:链接
          UP广播多播MTU:1500公制:1
          RX数据包:342765错误:0掉落:0超限:0帧:0
          TX数据包:306183错误:0掉落:0超限:0运营商:0
          碰撞:0 txqueuelen:1000 
          接收字节:373934806(373.9 MB)发送字节:39111569(39.1 MB)
          中断数:16 

它显示了RX字节:73934806(373.9 MB)TX字节:39111569(39.1 MB)


2
但这只是该会话的总体统计信息。我将查看连接是否处于活动状态。
IndexOutOfBoundsException

6
netstat -t -u -c
铰链



13

如果您正在寻找非常简单但仍然有用的东西,请尝试 ifstat

$ sudo apt-get install ifstat
$ ifstat
       eth0               wlan0       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.96      4.79
    0.00      0.00      0.04      0.14

它一次监视所有接口,每秒打印一条新行。可用于传送到另一个脚本,或者保持运行状态并观察一段时间内的带宽使用情况。虽然不像其他工具那么漂亮,但是可以完成工作。

手册页中列出了一些有用的选项:

-z  Hides interface which counters are null, eg interfaces that are up but not used.
-n  Turns off displaying the header periodically.
-t  Adds a timestamp at the beginning of each line.
-T  Reports total bandwith for all monitored interfaces.
-S  Keep stats updated on the same line if possible (no scrolling nor wrapping).
-b  Reports bandwith in kbits/sec instead of kbytes/sec.

1
我喜欢这个命令:ifstat -zntS,它只输出不为null的网络接口,带有时间戳,没有标题定期显示,并且结果仅一行(我喜欢手册页)。
Igor V.


8

Ifstat是一个很好的工具,它将为您提供有关时间的所有接口网络使用情况。

sudo apt-get install ifstat

在此处输入图片说明


7

这不是特定于网络的,但是Glances可以显示不同接口的网络流量。

在此处输入图片说明

使用以下命令之一安装它:

sudo snap install glances
sudo apt install glances

6

根据ifconfig man

该程序已过时!如需更换,请检查ip addr和ip链接。有关统计信息,请使用ip -s链接。

因此,使用ip命令:

 $ ip -s link

我们可以获得网络统计信息:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    173654497900 26078946 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    173654497900 26078946 0       0       0       0
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    3650412438854 399476618 0       2551849 0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617437624480 321390259 0       0       0       0

要么

$ ip -s -h link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    174G       26.1M    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    174G       26.1M    0       0       0       0 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    3.65T      399M     0       2.55M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617G       321M     0       0       0       0


2

我最近发现wavemon可以使用轻松安装apt-get install wavemon

该工具特别提供有关无线网络信号级别的信息。



1

还有康基

您可能在系统当前使用的存储库中列出了该软件包。尝试运行:

sudo apt-get install conky-all

一些基本的配置信息:Ubuntu社区文档:配置Conky。注意:该站点上的信息可能已过时,因此请验证此处列出的步骤是否适用于您的系统。

当然,基本的conky看起来很无聊,因此,这是一个很好的conky主题,可以帮助您入门:

哈马丹

只需按照该页面上的说明进行设置即可;要安装特定主题,请将.conkyrc文件从文件夹中主题的相应文件.harmattan-themes夹复制到主目录。

然后,根据链接页面上的说明编辑文件。

小费

将文件复制到主文件夹后进行修改,这样可以保留原始的原始文件,以防万一您需要重新复制.conkyrc主题文件。


1

nettop 是另一种选择(不在标准的Linux仓库中)。

要构建克隆存储库:

git clone https://github.com/Emanem/nettop.git

安装依赖项:

sudo apt-get install libncurses5-dev libncursesw5-dev build-essential libpcap-dev

并构建二进制文件:

make

运行:

sudo ./nettop

顺便说一句,macos有一个名为的内置实用程序nettop,它执行相同的功能,但具有更多功能。


0

对我而言,Slurm运作良好:

安装:

sudo apt install slurm

列出接口

ifconfig

监视接口(更改eth0):

slurm -i eth0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.