Linux TCP/UDP connection nums.

在 Linux 系统中,可以通过以下方法查看 TCP/UDP 网络连接数,并统计不同网卡的总连接数:

1. 使用 ss 命令

ss 是现代 Linux 系统中用于查看套接字统计信息的工具。

# 查看所有 TCP 连接

ss -t | wc -l

# 查看所有 UDP 连接

ss -u | wc -l

说明:

-t:显示 TCP 连接。

-u:显示 UDP 连接。

wc -l:统计行数,表示连接数。

2. 使用 netstat 命令

虽然 netstat 已被弃用,但仍然可以用来统计连接数。

# 查看所有 TCP 连接数

netstat -ant | wc -l

# 查看所有 UDP 连接数

netstat -anu | wc -l

说明:

-a:显示所有连接。

-n:数字格式显示地址和端口。

-t:显示 TCP 连接。

-u:显示 UDP 连接。

3. 按网卡统计连接数

如果需要统计每个网卡的连接数,可以结合 ss 命令和 awk 或其他工具进行筛选。例如:

# 按网卡统计 TCP 连接数

ss -t -i | grep -E “eth0|wlan0” | wc -l

# 替换网卡名称为实际名称 (如 `eth0`, `wlan0`)

4. 使用 /proc 文件系统

/proc/net/tcp/proc/net/udp 文件提供了当前 TCP 和 UDP 连接的详细信息。

# 查看 TCP 连接数

cat /proc/net/tcp | wc -l

# 查看 UDP 连接数

cat /proc/net/udp | wc -l

说明:

•减去标题行可以获得实际连接数(通常为第一行)。

5. 结合网卡信息统计

可以使用 iftopnload 等工具实时监控特定网卡的网络流量和连接数,或者结合以下命令筛选。

# 结合 IP 信息筛选网卡数据 (以 eth0 为例)

ss -t -n | grep -E “eth0” | wc -l

6. 使用 lsof 命令

lsof 也可以列出与网卡相关的连接。

# 查看 TCP 连接

lsof -iTCP | wc -l

# 查看 UDP 连接

lsof -iUDP | wc -l

如果有更复杂的需求,比如持续监控或按状态分类统计,可以使用脚本或监控工具(如 Prometheus + Grafana)实现。需要进一步深入分析吗?

Leave a Reply

Your email address will not be published. Required fields are marked *