常用命令2-netstat
netstat
netstat
命令是一个强大的网络统计工具,用于显示网络连接、路由表、接口统计、伪装连接和多播成员等网络相关信息。它可以帮助用户了解系统的网络状态和性能,诊断网络问题。以下是 netstat
命令的一些主要功能和用法:
主要功能
- 显示网络连接:列出系统上所有活动的网络连接,包括 TCP 和 UDP 连接。可以查看哪些端口正在被使用,以及连接的状态(如监听、已建立、等待关闭等).
- 显示路由表:显示系统的 IP 路由表,包括目的地、网关、子网掩码等信息。这有助于了解数据包在网络中的传输路径.
- 显示接口统计:显示网络接口的统计信息,如发送和接收的数据包数量、错误数量等。这有助于评估网络接口的性能和稳定性.
- 显示伪装连接:显示网络地址转换(NAT)表中的伪装连接信息。这在使用防火墙或路由器进行网络地址转换时非常有用.
- 显示多播成员:显示系统加入的多播组信息。多播是一种将数据包发送给多个接收者的网络通信方式.
常用选项
-a
:显示所有网络连接和监听端口,包括 TCP 和 UDP 连接.-t
:仅显示 TCP 连接.-u
:仅显示 UDP 连接.-n
:以数字形式显示地址和端口号,不进行域名解析.-l
:仅显示监听状态的端口.-p
:显示进程标识符和程序名称,需要有足够的权限(如 root 权限).-r
:显示 IP 路由表.-i
:显示网络接口的统计信息.-s
:显示每个协议的统计信息,如 TCP、UDP、IP 等.
示例用法
- 显示所有网络连接和监听端口:
netstat -an
- 显示 TCP 连接和监听端口:
netstat -tln
- 显示 UDP 连接:
netstat -un
- 显示 IP 路由表:
netstat -r
- 显示网络接口的统计信息:
netstat -i
- 显示每个协议的统计信息:
netstat -s
- 显示网络连接和对应的进程信息:
netstat -tunp
输出示例
以下是一个显示 TCP 连接的输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1234/mysqld
tcp 0 0 192.168.1.10:56789 192.168.1.1:80 ESTABLISHED 5678/chrome
tcp 0 0 192.168.1.10:56790 192.168.1.2:22 TIME_WAIT -
- Proto:协议类型,如 TCP 或 UDP.
- Recv-Q 和 Send-Q:接收和发送队列中的数据包数量.
- Local Address 和 Foreign Address:本地和远程地址及端口号.
- State:连接状态,如 LISTEN(监听)、ESTABLISHED(已建立)、TIME_WAIT(等待关闭)等.
- PID/Program name:进程标识符和程序名称(如果使用了
-p
选项)