常用linux命令:netstat

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
原文链接:,转发请注明来源!