命令所在路径:/bin/netstat
netstat -tunlp | grep 端口号
netstat -ntlp 查看当前所有tcp端口
netstat -ntulp | grep 80 查看所有80端口使用情况
netstat -ntulp | grep 3306 查看所有3306端口使用情况
netstat 查看端口占用语法格式:
效果 | 语法 | 权限 | 解释 |
---|---|---|---|
-a (all) | 显示所有选项,默认不显示LISTEN相关 | ||
增加 | -p | root更多 | 进程信息,显示建立相关链接的程序名 |
增加 | -e | 显示扩展信息,例如 I-node进程名和 User用户名 | |
过滤 | -t (tcp) | 仅显示tcp相关选项 | |
过滤 | -u (udp) | 仅显示udp相关选项 | |
过滤 | -l | 仅列出在Listen(监听)的服务状态 | |
转换 | -n | 拒绝显示别名,能显示数字的全部转化为数字 | |
刷新 | -c | 每隔一个固定时间,执行该 netstat 命令 | |
统计 | -s | 按各个协议进行统计 | |
路由信息 | -r | 显示路由信息,路由表 |
LISTEN 和 LISTENING 的状态只有用 -a 或者 -l 才能看到
例如查看 8000 端口的情况,使用以下命令:
netstat -anep
后面自己加筛选 | grep 8000
第一部分: | Active Internet connections | (w/o servers) | 外网通讯 | ||||||
---|---|---|---|---|---|---|---|---|---|
-xxx | n别名转换 | 有e扩展信息 | 有e扩展信息 | 有p进程信息 | |||||
Proto | Recv-Q | Send-Q | Local Address | Foreign Address | State | User | Inode | PID/Program name | |
通讯类型 | 正在接收队列数 | 正在发送队列数 | 本地地址 | 外网地址 | 状态 | 用户 | 进程号/程序名 | ||
tcp | 0 | 0 | 无n显示:0.0.0.0:mysql | 0.0.0.0:* | LISTEN监听 | root | 26993/nodejs | ||
tcp6 | 有n显示:0.0.0.0:3306 | ESTABLISHED正在数据交互 | |||||||
udp | TIME_WAIT | ||||||||
udp6 | SYN_SENT:客户端 -SYN->应用程序 | ||||||||
SYN_RECV:客户端 <-ACK、SYN-服务端应 | |||||||||
ESTABLISHED | |||||||||
FIN_WAIT1 | |||||||||
CLOSE_WAIT | |||||||||
FIN_WAIT2 | |||||||||
LAST_ACK | |||||||||
TIME_WAIT | |||||||||
CLOSING | |||||||||
CLOSED | |||||||||
UNKNOWN:未知的Socket状态。 | |||||||||
第二部分: | Active UNIX domain sockets | (w/o servers) | 本机通讯 | 速度快一倍 | |||||
Proto | RefCnt | Flags | Type | State | I-Node | Path | |||
连接协议 | 套接口进程号 | 套接口类型 | 套接口状态 | 其它进程路径名 | |||||
unix | 2 | [ ] | DGRAM | 空 | 38932 | /xxx/xxx/xxx | |||
[ ACC ] | SEQPACKET | LISTENING | |||||||
STREAM | CONNECTED | ||||||||
建议3个命令一起看
ps aux | grep 你要看的进程
ps -ef | grep 你要看的进程
netstat -anep
netstat -s
打印出网络统计数据,包括某个协议下的收发包数量
分类 | |
---|---|
IP | / |
Icmp | / |
IcmpMsg | / |
Tcp | / |
Udp | / |
UdpLite | / |
TcpExt | / |
IpExt | / |
MPTcpExt | / |
netstat -r
显示内核路由信息