Linux 网络流量相关工具

本文聚焦于网络流量的查看、端口占用查看。至于网络设备的管理和配置,因为太过复杂且不同发行版有较大差异,这里就不赘述,后面看情况再写。

需要注意的是,这里列出的每一个工具都有丰富的功能,流量/端口信息查看只是其能力的一部分。可以根据需要深入学习了解,补充自己的工具链。

流量

瞬间流量

ip

这个命令来自 iproute2util 包。具有完整的网络设备、路由等功能。如果要查看当前时刻的网络速度,可以通过以下命令

# 查看所有网卡的当前时刻网速
ip -s -h link

Linux 网络流量相关工具_第1张图片

实时流量

dstat

dstat 是一个用来替换 vmstatiostatnetstatnfsstatifstat 的全能系统信息统计工具。可以通过 apt install -y dstat 安装。

dstat -tnf 1 10 用来输出接下来 10 秒内每秒的网络数据。

sar

sar 是 System Activity Report 的缩写,是一款全面的 Linux 系统运行状态统计和性能分析工具。可以从 IO、CPU 负载、内存使用等多个维度对系统活动报告。

sar 来自 sysstat 包。

sar -n TCP 1 10 可以查看接下来 10 秒内的 TCP 流量。

进程和端口

nc/netcat

nc 是网络工具中的瑞士军刀。用于 TCP、UDP 或 unix 域套接字(uds)的数据流操作,它可以打开 TCP 连接,发送 UDP 数据包,监听任意 TCP 和 UDP 端口,同时也可用作做端口扫描,支持 IPv4 和 IPv6,与 telnet 的不同在于 nc 可以编写脚本。

nc -vz 202.118.69.40 1-81 可以扫描 202.118.69.40 这台服务器 1-81 哪些端口开放。

ss/netstat

可以查看活动链接/监听端口, netstatnet-tools 包的一部分;ssiproute2util 包的一部分。可以根据自己需要选择。

netstat -nlp 可以查看所有进程及其使用的端口信息。

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。因为在 Linux 中一切皆文件,所以也可以通过这个工具查看 TCP、UDP、SOCKET 等网络相关的信息。

lsof -i 可以查看符合指定条件的进程。参数是网络协议和地址。

# 监听 80 端口的进程
lsof -i :80

# 使用 tcp 协议的进程
lsof -i tcp

lsof -i tcp:80
lsof -i udp:80

# 所有使用 IPv4 协议的进程
lsof -i 4

# 列出被进程号为 1234 的进程所打开的所有 IPv4 网络文档
lsof -i 4 -a -p 1234

# 列出所有网络相关文档
lsof -N

你可能感兴趣的:(Linux,linux,运维,服务器,网络,流量,网速)