1.netstat命令(兼容性好)
1.1查看所有正在监听的端口
netstat -tunlp
命令参数详解:
s: socket 的缩写,命令主体。
-t: 显示 TCP sockets。
-u: 显示 UDP sockets。
-l: 只显示正在 Listen (监听) 状态的 sockets。
-n: Numeric,不解析服务名称,直接显示数字形式的端口号和IP地址(如显示 8080 而不是 http-alt),速度更快。
-p: Processes,显示使用该 socket 的进程信息(PID和进程名),这个参数非常非常重要!
输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=1122,fd=6))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1357,fd=3))
LISTEN 0 100 *:8080 *:* users:(("java",pid=15890,fd=50))
1.2查看指定端口是否被占用
netstat -tunlp|grep :8081
lsof -i:8081
2.ss命令(性能好,兼容性不行)
使用方法同netstat,后面参数一样,用ss替换掉netstat即可。