linux netstat 命令用于显示网络状态,可用于列出系统上所有的网络套接字连接情况
#显示所有的连接
$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:https 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:https-wmap 0.0.0.0:* LISTEN
tcp 0 0 localhost:scanstat-1 0.0.0.0:* LISTEN
...
#列出TCP或UDP协议的连接
$ netstat -at
-t TCP协议的连接
-u UDP协议的连接
#禁用反向域名解析(加快查询速度)
默认情况下 netstat 会通过反向域名解析查找每个 IP 地址对应的主机名,这会降低查找速度。如果觉得没有必要知道主机名,可以使用 -n 选项禁用域名解析功能
$ netstat -ant
#列出监听中的连接
网络服务的进程会打开一个端口,用于监听接入的请求,这些正在监听的套接字也和连接的套接字一样,能被 netstat 列出来。
-l 列出正在监听的套接字
$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8991 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:1215 0.0.0.0:* LISTEN
tcp6 0 0 :::10086 :::* LISTEN
tcp6 0 0 :::4040 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::11800 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
tcp6 0 0 :::8091 :::* LISTEN
tcp6 0 0 :::12800 :::* LISTEN
tcp6 0 0 :::2912 :::* LISTEN
#查看所有监听端口
$ netstat -nl
#查看udp端口
$ netstat -unl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp6 0 0 ::1:323 :::*
#获取进程名、进程号以及用户ID(-p 查看进程信息)
$ netstat -tnlp(过滤端口:netstat -tnlp | grep ':9001')
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 4383/python
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 47074/nginx: worker
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1514/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1405/master
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 47074/nginx: worker
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 47074/nginx: worker
tcp 0 0 0.0.0.0:8991 0.0.0.0:* LISTEN 47147/php
tcp 0 0 127.0.0.1:1215 0.0.0.0:* LISTEN 46832/swoole_http_s
tcp6 0 0 :::22 :::* LISTEN 1514/sshd
tcp6 0 0 :::11800 :::* LISTEN 49925/java
tcp6 0 0 ::1:25 :::* LISTEN 1405/master
tcp6 0 0 :::8091 :::* LISTEN 49949/java
tcp6 0 0 :::12800 :::* LISTEN 49925/java
tcp6 0 0 :::2912 :::* LISTEN 49925/java
#持续输出 netstat 信息(每隔一秒输出网络信息)
$ netstat -c