在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。
1、netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
2、netstat配合蚕食即可显示当前服务器上所有端口及进程服务,与grep结合可查看某个具体端口及服务情况:
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
3、例如要查看当前Mysql默认端口3306是否启动可以做如下操作
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 68591/java tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 68591/java tcp 0 0 10.183.118.121:80 0.0.0.0:* LISTEN 68591/java tcp 0 0 0.0.0.0:10001 0.0.0.0:* LISTEN 25566/sshd tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 4380/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 25566/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1749/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2509/master tcp 0 0 0.0.0.0:49537 0.0.0.0:* LISTEN 879/spesservice tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 68591/java tcp6 0 0 :::3306 :::* LISTEN 103762/mysqld tcp6 0 0 :::10001 :::* LISTEN 25566/sshd tcp6 0 0 :::22 :::* LISTEN 25566/sshd tcp6 0 0 ::1:631 :::* LISTEN 1749/cupsd tcp6 0 0 ::1:25 :::* LISTEN 2509/master