【工作必备知识】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/linux/253
End
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qiuyl.com/linux/255
共有 2 条评论