Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字
常见参数
-a, --all
列出所有连接,netstat 默认不显示 LISTEN 相关-t, --tcp
只列出 TCP 的连接-u, --udp
只列出 UDP 的连接-n, --numeric
禁用对域名、主机名、端口名的反向解析,能显示数字的全部转化成数字-l, --listening
仅列出有在 Listen (监听) 的服务状态,不要使用 -a 选项,否则会列出所有连接,而不仅仅是监听端口-p, --program
获取进程名、进程ID-r, --route
, 显示路由信息,路由表-e, --extend
显示扩展信息,例如 uid 等-s, --statistics
按各个协议进行统计 (重要)-c, --continuous
每隔一个固定时间,执行该netstat命令
常用示例
列出所有端口,不显示域名、主机名、端口名
1 | netstat -ant # 列出所有 tcp 端口 |
列出所有处于监听状态的 Sockets
1 | netstat -l # 只显示监听端口 |
显示每个协议的统计信息
1 | netstat -s # 显示所有协议的统计信息 |
显示 PID 和进程名称
1 | [root@study ~]$ netstat -tunlp |
不显示域名、主机名、端口名
1 | netstat -an |
持续输出 netstat 信息
1 | netstat -antp -c 2 # netstat 将每隔一秒输出网络信息 |
显示核心路由信息
1 | netstat -rn |
显示网络接口列表
1 | [user1@study ~]$ netstat -i |