2021-04-15 06:19:10
在Linux系统中,查看已开放端口的方法如下:
1. 使用netstat命令
netstat是经典的端口查看工具,需结合参数实现精准查询:
TCP端口:netstat -ntpl
UDP端口:netstat -nupl
参数说明:-t仅显示TCP连接,-u仅显示UDP连接,-l仅显示监听中的端口。
示例:netstat -ntpl | grep 3306 可查找MySQL默认端口3306的监听情况。
2. 使用ss命令(推荐替代netstat)
ss是更高效的替代工具,语法与netstat类似:
TCP端口:ss -ntpl
UDP端口:ss -nupl
示例:ss -ntpl | grep nginx 可检查Nginx服务的TCP端口占用。
3. 使用lsof命令
通过端口号反向查询关联进程:
4. 通过/etc/services文件查询
该文件记录了端口与服务的默认映射关系:
5. 使用nmap扫描本地端口(需root权限)
nmap可检测开放端口及服务版本:
补充说明
通过iptables禁用:iptables -A INPUT -p tcp --dport $PORT -j DROP
终止关联进程:kill -9 $PID(PID可通过netstat -anp获取)。
以上方法可根据需求组合使用,推荐优先使用ss或netstat快速定位端口,再通过lsof或nmap进一步分析。