Linux如何查看开放的端口?

常见问题

Linux如何查看开放的端口?

2025-04-13 12:22


Linux系统中查

                                            

Linux系统中查看开放端口的5种实用方法详解

在Linux系统管理和网络安全领域,了解系统开放的端口是至关重要的基本功。本文将深入介绍5种专业的端口查看方法,帮助您全面掌握Linux端口监控技术。

1. netstat命令 - 经典网络统计工具

netstat是最传统也是最常用的网络连接查看工具:

netstat -tulnp
  • -t 显示TCP连接
  • -u 显示UDP连接
  • -l 仅显示监听端口
  • -n 以数字形式显示地址和端口
  • -p 显示进程信息

注意:在新版Linux中,netstat可能已被标记为废弃,建议使用ss命令替代。

2. ss命令 - netstat的现代替代品

ss命令是iproute2工具包的一部分,执行效率更高:

ss -tulnp

参数含义与netstat基本一致,但处理大量连接时性能更优。

3. lsof命令 - 强大的文件/端口关联工具

lsof可以查看进程打开的文件和网络连接:

lsof -i -P -n | grep LISTEN

这个命令组合可以:

  1. 显示所有网络连接(-i)
  2. 禁止端口号转换服务名称(-P)
  3. 禁止主机名解析(-n)
  4. 过滤出监听状态端口

4. nmap扫描 - 专业的端口扫描工具

nmap不仅可以扫描远程主机,也可以扫描本机:

nmap -sT -p- localhost

参数说明:

  • -sT TCP连接扫描
  • -p- 扫描所有端口(1-65535)

注意:nmap需要额外安装,不是所有系统默认包含。

5. /proc文件系统 - 直接查看内核信息

Linux的/proc目录包含了丰富的系统信息:

cat /proc/net/tcp
cat /proc/net/udp

这些文件以十六进制显示端口信息,需要转换:

printf "%d\n" 0x1F90  # 将1F90(十六进制)转换为8080(十进制)

实用技巧与注意事项

  • 结合grep过滤特定端口:ss -tulnp | grep 80
  • 查看端口对应服务:grep 80 /etc/services
  • 临时开放端口:iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
  • 永久开放端口需要修改防火墙配置

总结

掌握Linux端口查看技术对系统管理和安全审计至关重要。本文介绍的5种方法各有优势:

  1. 快速检查:使用ss或netstat
  2. 详细进程关联:使用lsof
  3. 全面扫描:使用nmap
  4. 底层分析:查看/proc文件

建议根据实际需求选择合适的工具组合使用,定期检查系统端口开放情况是良好的安全习惯。

常见问题解答

Q: 为什么有些工具显示的端口号不一致?
A: 可能是显示格式不同(十六进制/十进制),或过滤条件不一致
Q: 如何查看端口是被哪个程序占用的?
A: 使用ss -tulnplsof -i :端口号
Q: 发现可疑开放端口怎么办?
A: 首先确认端口用途,必要时使用防火墙规则阻断,并检查系统安全


label :
  • Linux端口查看
  • netstat命令
  • ss命令
  • 莱卡云