介绍
netstat
命令是网络统计的CLI工具。它给出了网络活动的概述,并显示哪些端口是打开的或已建立连接的。netstat工具对于发现网络问题是必不可少的。
Linux如何使用Netstat命令 ?
本文展示了netstat
用于在 Linux 上显示端口和 Internet 统计数据的28 个命令。
先决条件
注意: 虽然仍被广泛使用,但 netstat 命令已被认为已过时。相反,建议使用 ss 命令作为更快、更简单的工具。了解有关Linux ss 命令的更多信息。
如何在 Linux 中使用 netstat 命令
的主要用途
netstat
是不带任何参数:
netstat
输出中的第一个列表显示计算机上已建立的活动互联网连接。以下详细信息在列中:
Proto – 连接协议(TCP 、UDP )。
Recv-Q – 接收或准备接收字节的接收队列。
Send-Q – 准备发送的字节发送队列。
本地地址 - 本地连接的地址详细信息和端口。主机中的星号 (*) 表示服务器正在侦听并且端口尚未建立。
外部地址 - 连接远程端的地址详细信息和端口。如果尚未建立端口,则会出现星号 (*)。
State – 本地套接字的状态,最常见的是ESTABLISHED、 LISTENING、CLOSED 或空白。
第二个列表显示了所有活动的“
Unix 域 ”打开套接字,其中包含以下详细信息:
Proto – 套接字使用的协议(始终是unix )。
RefCnt – 附加到此套接字的进程数的引用计数。
标志 – 通常为ACC 或空白。
类型 – 套接字类型。
状态 – 插座的状态,最常见的是已 连接、正在侦听 或空白。
I-Node – 与此套接字关联的文件系统 inode(索引节点)。
Path – 套接字的系统路径。
Linux Netstat用法示例 :对于高级用法,请
netstat
使用选项扩展命令:
netstat [options]
或者一一列出选项:
netstat [option 1] [option 2] [option 3]
这些
netstat
选项启用网络信息过滤。下面详细介绍
Linux Netstat命令用法示例 :
注意: 如果网络较慢,请测试网络速度。
列出所有端口和连接
如何使用Linux Netstat命令 ?要列出所有端口和连接而不管它们的状态或协议,请使用:
netstat -a
输出列出了已建立的连接以及打开或侦听的服务器。
列出所有 TCP 端口
Linux如何使用Netstat命令?通过运行列出所有 TCP 端口:
netstat -at
列出所有 UDP 端口
列出所有 UDP 端口:
netstat -au
仅列出侦听端口
Linux Netstat命令用法示例:要返回所有协议的仅侦听端口列表,请使用:
netstat -l
列出 TCP 侦听端口
列出所有侦听 TCP 端口:
netstat -lt
列出 UDP 侦听端口
通过运行仅返回侦听 UDP 端口:
netstat -lu
列出 UNIX 侦听端口
要列出 UNIX 侦听端口,请使用:
netstat -lx
注意: 使用 nmap作为替代扫描开放端口。
按协议显示统计信息
Linux Netstat用法示例:无论协议如何,显示所有端口的统计信息:
netstat -s
统计数据也可以按协议过滤。
列出 TCP 端口的统计信息
仅列出 TCP 端口的统计信息:
netstat -st
列出 UDP 端口的统计信息
Linux Netstat命令用法示例:要仅列出 UDP 端口的统计信息,请使用:
netstat -su
列出网络接口事务
如何使用Linux Netstat命令 ?要在内核接口表中查看 MTU、接收和传输数据包的事务,请使用:
netstat -i
显示扩展内核接口表
添加选项
-e
以
netstat -i
扩展内核接口表的详细信息:
netstat -ie
显示伪装连接
要显示伪装的连接,请使用:
netstat -M
显示PID
Linux如何使用Netstat命令?通过将
-p
选项添加到 ,显示与特定连接相关的 PID/程序名称
netstat
。例如,要查看列出的 PID/程序名称的 TCP 连接,请使用:
netstat -tp
查找听力程序
Linux Netstat用法示例:查找所有收听程序:
netstat -lp
显示内核 IP 路由表
Linux Netstat命令用法示例:显示内核 IP 路由表:
netstat -r
显示 IPv4 和 IPv6 组成员身份
显示IPv6/IPv4 的组成员身份:
netstat -g
连续打印 netstat 信息
-c
在
netstat
命令中添加选项以每秒打印信息:
netstat -c
例如,要连续打印内核接口表,请运行:
netstat -ic
查找未配置的地址族
列出系统上不支持的地址:
netstat --verbose
信息位于输出的末尾:
显示数字地址、主机地址、端口号和用户 ID
Linux如何使用Netstat命令?默认情况下,地址、端口号和用户 ID 会尽可能解析为人类可读的名称。了解未解析的端口号对于SSH 端口转发等任务很重要。
显示数字地址
显示数字地址:
netstat -n
显示数字主机地址
要仅将主机地址显示为数字,请运行:
netstat --numeric-hosts
显示数字端口号
仅将端口显示为数字:
netstat --numeric-ports
显示数字用户 ID
要显示数字用户 ID,请使用:
netstat --numeric-users
查找使用特定端口的进程
Linux Netstat命令用法示例:使用grep 命令过滤来自
netstat
. 要查找使用特定端口号的进程,请运行:
netstat -an | grep ':[port number]'
例如:
netstat -an | grep ':80'
列出所有 netstat 命令
Linux如何使用Netstat命令?有很多
netstat
选择。使用以下命令访问所有可用命令的列表和简短说明:
netstat -h
Linux Netstat用法示例
注意: 查看Linux 命令备忘单,其中包含 netstat 命令。
结论
如何使用Linux Netstat命令?Netstat 是网络工程师、系统管理员和开发人员必不可少的工具。对网络问题进行故障排除以及对所有网络活动和端口可用性进行概述只是此工具的一些用例。
如需进一步阅读,请了解最佳网络安全工具。