如何在终端显示网络流量?

Ind*_*ion 516 networking

如何在终端中显示实际网络流量(无线)?

另外:是否可以将此信息添加到图表中top

tom*_*chi 533

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

bmon - 一次显示多个界面

在此处输入图片说明

slurm - 有漂亮的彩色图表

在此处输入图片说明

tcptrack - 最爱。告诉正在使用多少带宽以及传输正在发生的协议(服务/端口)和目的地。当您想确切地知道什么占用了您的带宽时非常有用

在此处输入图片说明

  • `sudo apt-get install bmon slurm tcptrack` (42认同)
  • bmon 真的很酷!有一个像 slurm 的图形,但不是彩色的。 (11认同)
  • 哈哈,这让我大吃一惊:tcptrack 以每秒字节数显示活动,而我设置的 40Gbit 链接溢出了 32 位整数......它在报告“LUDICROUS”和数十亿的大负值之间翻转。 (7认同)
  • `nload` 值得一提,以便更好地分离上传和下载(也不是彩色的) (3认同)

小智 191

这很容易!安装“iftop”:

sudo apt-get install iftop
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo iftop
Run Code Online (Sandbox Code Playgroud)

从任何终端!

享受!

  • 要查看任何内容,我必须运行(使用 wifi 的 Ubuntu):$ sudo iftop -i wlan0 (11认同)
  • 为了更轻松地选择流量分析程序,编辑以添加屏幕截图会很棒:) (4认同)

ars*_*sra 167

应该也有人提到过nethogs

sudo apt-get -y install nethogs
sudo nethogs

与此不同并且可能更酷的是它显示了每个 进程的流量,如图所示

在此处输入图片说明

看看页面

  • “它显示每个进程的流量”正是我所需要的,谢谢! (6认同)

Den*_*aia 62

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

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))
Run Code Online (Sandbox Code Playgroud)

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

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

  • 这是迄今为止我在纯文本显示中见过的最好的视觉图形。我现在将研究同一作者的 gui 库:http://urwid.org/(源代码和作者:https://github.com/wardi) (2认同)

jpi*_*ora 51

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 同步 PPP over ISDN ISDN 带有原始 IP 封装的 ISDN 带有 Cisco HDLC 封装的并行线路 IP

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

安装

apt

apt-get install iptraf
Run Code Online (Sandbox Code Playgroud)

或者下载源码:

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

截图

当前连接:

TCP连接

当前端口:

在此处输入图片说明

所有接口的总结:

在此处输入图片说明

每个接口的详细信息:

在此处输入图片说明

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

  • 在 Ubuntu 18.04 中,看起来 `iptraf-ng` 已经取代了 `iptraf`。 (3认同)

war*_*rdr 29

tcpdump -i eth0 
Run Code Online (Sandbox Code Playgroud)

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

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

  • 这肯定会显示网络信息...不是一个非常用户友好的界面,也没有聚合统计信息。绝对可以把它想象成wireshark。 (2认同)

hin*_*gev 26

我认为ifconfig [interface]会这样做。喜欢:

gevorg@gevorg-TravelMate-3260:~$ ifconfig wlan0
wlan0 链接封装:以太网 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 链接封装:以太网 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 范围:链接
          上行广播运行多播 MTU:1500 公制:1
          RX 数据包:342765 错误:0 丢弃:0 溢出:0 帧:0
          TX 数据包:306183 错误:0 丢弃:0 溢出:0 载波:0
          碰撞:0 txqueuelen:1000 
          RX 字节:373934806 (373.9 MB) TX 字节:39111569 (39.1 MB)
          中断:16 

它显示RX bytes:73934806 (373.9 MB)TX bytes:39111569 (39.1 MB)

  • `netstat -t -u -c` ? (6认同)
  • 但这只是本次会议的总体统计数据。我会看看连接是否处于活动状态。 (2认同)

Den*_*aia 20

如果您正在寻找非常简单但仍然有用的东西,请尝试 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
Run Code Online (Sandbox Code Playgroud)

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

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

-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.
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢这个命令:`ifstat -zntS`,它只输出不为空的网络接口,带有时间戳,没有定期显示的标题,并且结果仅在一行中(我喜欢手册页)。 (2认同)

fir*_*iro 18

另一个有用的工具是 sar。安装它,

apt install sysstat
Run Code Online (Sandbox Code Playgroud)

如何使用它:

sar -n DEV  1
Run Code Online (Sandbox Code Playgroud)

和 Brendan 惊人的图表指南: 在此处输入图片说明

参考


Nat*_*ram 14

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

在此处输入图片说明

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

sudo snap install glances
sudo apt install glances
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 18 上,安装“glances”会引入大量 X11 和字体相关的软件包,在使用远程虚拟机/容器时您可能希望避免这些软件包。 (4认同)

McN*_*sse 13

安装“vnstat”它可以显示接口的流量。你可以安装一些绘图包来获得一些漂亮的图表。

  • 这似乎是获取使用历史记录的最佳选择:https://askubuntu.com/questions/1459/how-can-you-monitor-internet-data-usage (3认同)

小智 11

你也可以使用iftop实用程序


GNK*_*GNK 8

ifstat 是一个很好的工具,它会给你所有的接口网络使用时间。

sudo apt-get install ifstat
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


小智 8

根据ifconfig man

这个程序已经过时了!如需更换,请检查 ip 地址和 ip 链接。统计使用 ip -s 链接。

所以使用ip命令:

 $ ip -s link
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

或者

$ 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
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

另一种可能的工具称为nload. http://linux.die.net/man/1/nload

类似于slurmor bmon,但更简单一些。


Asm*_*ust 5

这是一个博客,显示了监控带宽的命令列表:

http://www.binarytides.com/linux-commands-monitor-network/

更新:

我已经使用NetHogs大约两个月了。它显示了总带宽使用情况。通过以下设置,您还可以获取每个程序的带宽使用情况

sudo nethogs -v 3


Asu*_*ato 5

还有一个工具叫bandwhich

动图


小智 5

bpytop像瑞士军队一样强大的工具:

安装:

sudo apt install bpytop
Run Code Online (Sandbox Code Playgroud)

列出接口:

ip -br -c a
Run Code Online (Sandbox Code Playgroud)

监控所有资源:

bpytop
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用数字自定义输出模式:

{1,2,3,4}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 另请参阅“btop”,这是另一个似乎更新更快的重写。似乎也可以在默认的 Ubuntu 存储库中使用:`sudo apt install btop` (2认同)