[LCOTW] netstat

LCOTW (Linux Commands Of The Week) Tag 下是总结 Linux 常用命令的文章。

netstat 是用来检测网络信息的工具。
当直接在终端输入 netsate,可以看到两部分输出 Active Internet connections 和 Active UNIX domain sockets,其中 Proto 栏表示所使用的协议 RefCnt 引用计数使用本连接的进程数,State 表示接口状态。

显示已经建立的端口:

netstat -n

显示所有端口:

netstat -a

显示正在监听的端口:

netstat -lnep

p 选项表示显示 PID/Program
n 选项强制表示用数字显示地址,不进行解析
e 选项表示显示扩展信息,比不加 e 多了 user 和 inode 信息

显示本机路由表:

netstat -nr

显示接口信息:

netstat -i

netstat 常和 awk 结合来统计连接数:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

[via Nginx 0.5.31 + PHP 5.2.4(FastCGI)搭建可承受3万以上并发连接数,胜过Apache 10倍的Web服务器]

netstat -an |awk '/LISTEN/{next};/^tcp/{s=split($5, N,":"); \
A[N[s-1]]++} END{ for (a in A) print a, A[a]}'

[via 用awk过滤查看netstat 连接数]