netstat 命令:网络监控
一、命令简介
netstat
用于显示当前系统的网络连接、路由表、接口统计信息、伪装连接和组播成员等信息。这个命令对于网络管理、故障排查和网络编程都非常有用。
安装netstat:
apt install net-tools
选项:
netstat --help
用法示例:
curl cheat.sh/netstat
二、命令参数
netstat 选项
选项
-
-a
或--all
:显示所有连接和监听端口。 -
-t
:仅显示 TCP 连接。 -
-u
:仅显示 UDP 连接。 -
-n
:不解析名称,显示数字地址。 -
-p
:显示进程标识符和程序名称,需要 root 权限。 -
-l
:仅显示处于监听状态的套接字。 -
-r
:显示路由表。 -
-i
:显示网络接口表。
在Windows系统中,netstat
命令的使用略有不同,但基本参数是相似的。Windows中的 netstat
还可以与 findstr
命令配合使用来过滤输出。
常用组合tlnr
:列出所有正在监听的 TCP 端口,以及到达这些端口的路由信息。
[root@localhost soulio]# netstat -tlnrKernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
三、命令示例
显示所有 TCP 连接:
netstat -at
显示所有 UDP 连接:
netstat -au
显示所有监听端口:
netstat -l
显示所有连接并显示进程标识符和程序名称:
netstat -p
显示路由表信息:
netstat -r
显示网络接口信息:
netstat -i
显示处于监听状态的 TCP 端口:
netstat -ntl
结合选项使用
显示所有 TCP 和 UDP 端口以及对应的进程:
netstat -tunlp
显示所有连接,不解析主机名和端口名:
netstat -an
注意事项
-
由于网络和信息安全的重要性,使用
netstat
查看网络连接时,应注意保护个人隐私和公司信息安全,避免信息泄露。同时,对于系统管理员来说,定期检查网络连接状态,可以帮助发现潜在的安全问题,如未授权的连接尝试等。 -
在某些 Linux 发行版中,
netstat
命令已经被ss
命令取代,因为ss
提供了更多的功能并且执行速度更快。ss
命令的使用方式与netstat
相似。ss -t # 显示 TCP 连接 ss -u # 显示 UDP 连接 ss -pl # 显示进程和程序名称