Linux 统计主机网络连接数

94 篇文章 9 订阅
31 篇文章 3 订阅

文章目录


netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

[root@master ~]#netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
42334                1
6443                 1
192.168.10.1         1
192.168.10.65        16
192.168.10.66        3
192.168.10.67        3
127.0.0.1            161
10.96.0.1            1
10.244.0.10          1
10.244.0.8           1
TOTAL_IP             10
ESTABLISHED          183
TIME_WAIT            6
TOTAL_LINK           189

观察主机系统日志

[root@master ~]#dmesg -T  | tail -n 10
[Tue Jul 12 15:04:05 2022] device vetha2622729 entered promiscuous mode
[Tue Jul 12 15:04:05 2022] cni0: port 2(vetha2622729) entered blocking state
[Tue Jul 12 15:04:05 2022] cni0: port 2(vetha2622729) entered forwarding state
[Tue Jul 12 15:04:05 2022] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[Tue Jul 12 15:04:05 2022] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[Tue Jul 12 15:04:05 2022] cni0: port 3(veth9515c149) entered blocking state
[Tue Jul 12 15:04:05 2022] cni0: port 3(veth9515c149) entered disabled state
[Tue Jul 12 15:04:05 2022] device veth9515c149 entered promiscuous mode
[Tue Jul 12 15:04:05 2022] cni0: port 3(veth9515c149) entered blocking state
[Tue Jul 12 15:04:05 2022] cni0: port 3(veth9515c149) entered forwarding state

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用 "netstat" 命令来查看 Linux 系统中的 TCP 连接。例如,要查看所有当前打开的 TCP 连接,您可以使用以下命令: ``` netstat -atn ``` 您也可以使用 "-u" 参来查看所有当前打开的 UDP 连接,例如: ``` netstat -aun ``` 您还可以使用 "-l" 参来查看所有正在监听的连接,例如: ``` netstat -aln ``` 您还可以使用其他参来调整输出的内容。例如,使用 "-p" 参可以显示每个连接使用的程序的名称,使用 "-n" 参可以显示 IP 地址而不是主机名,使用 "-c" 参可以使命令持续运行,并定期显示更新的统计信息。 例如,要查看所有当前打开的 TCP 连接,并显示使用的程序的名称,您可以使用以下命令: ``` netstat -atnp ``` 有关 "netstat" 命令的更多信息,您可以使用 "man netstat" 命令来查看 Linux 系统上的手册页。 ### 回答2: Linux系统下,可以使用以下命令来查看TCP连接: 1. netstat命令:netstat命令用于显示网络状态和连接信息。使用netstat命令时,常用的选项有: - -a:显示所有连接和监听的端口; - -t:只显示TCP连接; - -u:只显示UDP连接; - -n:以字形式显示地址和端口号; - -p:显示与连接相关的程序名称。 使用示例: ``` netstat -atn ``` 该命令可以列出所有TCP连接的IP地址、端口号、TCP状态等信息。 2. ss命令:ss命令是netstat命令的替代品,功能更强大,执行效率更高。ss命令的常用选项有: - -a:显示所有连接和监听的端口; - -t:只显示TCP连接; - -u:只显示UDP连接; - -n:以字形式显示地址和端口号; - -p:显示与连接相关的程序名称。 使用示例: ``` ss -atn ``` 该命令可以列出所有TCP连接的IP地址、端口号、TCP状态等信息。 以上就是Linux下查看TCP连接的方法,通过这些命令可以方便地获取系统的网络连接信息。 ### 回答3: 要查看Linux系统上的TCP连接,可以使用以下命令: 1. netstat命令:netstat命令可以显示当前系统的网络连接、路由表和网络接口等相关信息。可以使用以下命令来查看TCP连接: ``` netstat -nt ``` 这个命令将显示所有TCP连接的详细信息,包括本地地址、外部地址、连接状态等。 2. ss命令:ss命令是netstat的一种替代方案,具有更快的执行速度和更多的选项。可以使用以下命令来查看TCP连接: ``` ss -t ``` 这个命令将显示所有TCP连接的摘要信息,包括本地地址、外部地址、连接状态等。 3. lsof命令:lsof命令用于显示当前打开的文件和网络连接。可以使用以下命令来查看TCP连接: ``` lsof -i tcp ``` 这个命令将显示所有TCP连接的详细信息,包括进程ID、本地地址、外部地址、连接状态等。 以上三个命令可以根据需要选择使用,可以根据实际情况选择最适合的命令来查看Linux系统上的TCP连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值