【工作必备知识】Linux系统netstat命令详解

【工作必备知识】Linux系统netstat命令详解

一天在K8S环境部署项目是,部署之后项目始终访问不了。检查了是否开放端口、ingress配置、内部是否能访问等

最后万没想到,端口只能本地访问。一般来说项目端口开放了都是0.0.0.0,惯性思维导致了没去检查。。正好来说说 netstat 吧

如果 Local Address 下面的值是 0.0.0.0:5000表示所有IP都能和5000端口通信,如果是 127.0.0.1:5000只有本地网卡 IP 是 127.0.0.1 的才能与 5000 端口通信

PS:0.0.0.0:5000和 :::5000表示在所有 IPv4 和 IPv6 地址上监听的端口 5000

netstat 命令介绍

netstat 网络连接状态查看命令,可以查看的网络中的传输层(TCP、UDP)信息

命令参数:

  • -a--all:显示所有网络连接(包括监听和非监听的)和监听端口
  • -t--tcp:仅显示TCP连接
  • -u--udp:仅显示UDP连接
  • -n--numeric:显示IP地址和端口号,而不是进行域名解析和端口服务名称解析
  • -r--route:显示路由表
  • -l--listening:显示监听中的套接字(等待连接的端口)
  • -p(在某些系统中需要):显示与每个连接或监听端口相关的进程ID和进程名称
  • -s--statistics:显示每个协议的统计信息
  • -i--interfaces:显示网络接口的信息,包括收发数据包的统计
  • -c--continuous:持续列出网络状态,可以配合 -w(刷新时间间隔)使用
  • -b(在Windows中):显示正在创建网络连接或监听端口的可执行文件的路径

参数解析

netstat 命令默认输出分三个区域(见下),目前我只关注Active Internet connections这块信息,其它区域目前作为了解吧

下面介绍两种情况,带参数运行和不带参数运行。不带参数运行netstat命令,服务器的监听端口连接的信息不展示。所以一般使用带参数,展示监听信息

运行 netstat 命令不带任何参数

1)Active Internet connections (w/o servers) :活动Internet连接(不带服务器)

这部分显示了当前活跃的互联网连接,但不包括作为服务器监听的连接

  • Proto: 协议类型,如 TCP 或 UDP
  • Recv-Q: 接收队列的长度,即等待进程读取的数据量
  • Send-Q: 发送队列的长度,即等待网络传输的数据量
  • Local Address: 本地IP地址和端口号
  • Foreign Address: 连接的远程IP地址和端口号
  • State: 连接的状态,如 ESTABLISHED、TIME_WAIT 等(包含TCP三次和四次挥手过程中的状态)

2)Active UNIX domain sockets (w/o servers):活动UNIX域套接字(不带服务器)

这部分列出了活跃的UNIX域套接字连接(也称为本地套接字),同样不包括监听中的套接字。UNIX域套接字用于同一台机器上进程间的通信。信息包括:

  • Proto: 协议,对于UNIX域套接字通常是 unix
  • RefCnt: 引用计数,表示有多少进程引用这个套接字
  • Flags: 套接字标志
  • Type: 套接字类型,如 SOCK_STREAM 或 SOCK_DGRAM
  • State: 套接字状态
  • I-Node: 使用该套接字的文件系统的索引节点
  • Path: 套接字在文件系统中的路径

3)Active Bluetooth connections (w/o servers):活动蓝牙连接(不带服务器)

这一段展示的是当前活跃的蓝牙连接信息,如果没有显示具体内容,意味着没有活跃的蓝牙连接或者信息被省略了

  • Proto: 蓝牙协议类型
  • Destination/Source: 目标和源地址
  • State: 连接状态
  • PSM: 服务发现协议 (Service Discovery Protocol) 端口
  • DCID/SCID: 数据通道标识符
  • IMTU/OMTU: 输入/输出最大传输单元
  • Security: 安全设置或级别

运行 netstat -a 命令

1)Active Internet connections (servers and established):活动的Internet连接(服务器和已建立的)

正在展示当前系统中所有活跃的互联网连接信息,这既包括了正在监听(server,即等待客户端连接的)的套接字,也包括已经建立的客户端与服务器之间的连接

2)Active UNIX domain sockets (servers and established):活动UNIX域套接字(服务器和已建立)

这里会列出所有的UNIX域套接字连接,包括那些作为服务器监听的套接字。内容类似于之前无服务器输出的解释,但会包括处于监听状态的本地套接字,例如数据库连接、进程间通信等

3)Active Bluetooth connections (servers and established):活动蓝牙连接(服务器和已建立)

如果有蓝牙相关的网络活动,这部分会列出所有活跃的蓝牙连接以及监听中的蓝牙服务器。内容将包括连接的协议信息、状态、参与的设备地址、安全设置等,类似于网络连接和UNIX域套接字的信息展示

更多netstat应用信息(重要,建议查看)

点击跳转:【工作必备知识】Linux系统网络诊断与netstat命令_秋意零 (qiuyl.com)

链接:https://www.qiuyl.com/2024/06/09/%e3%80%90%e5%b7%a5%e4%bd%9c%e5%bf%85%e5%a4%87%e7%9f%a5%e8%af%86%e3%80%91linux%e7%b3%bb%e7%bb%9f%e7%bd%91%e7%bb%9c%e8%af%8a%e6%96%ad%e4%b8%8enetstat%e5%91%bd%e4%bb%a4/

End

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋意零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值