1、使用命令行工具查看
(图片来源网络,侵删)在Windows系统中,可以使用netstat命令查看当前系统占用的端口,在Linux系统中,可以使用lsof或netstat命令查看。
Windows系统:
netstat ano
Linux系统:
sudo lsof i P n | grep LISTEN
2、使用图形界面工具查看
在Windows系统中,可以使用任务管理器查看占用端口,在Linux系统中,可以使用gnomesystemmonitor或htop等工具查看。
Windows系统:
右键点击任务栏,选择“任务管理器”,切换到“性能”选项卡,点击“打开资源监视器”,在“网络”选项卡中查看。
(图片来源网络,侵删)Linux系统:
安装并运行gnomesystemmonitor或htop等工具,查看网络相关的进程和端口占用情况。
1、常见风险端口列表
以下是一些常见的风险端口,可以作为参考:
| 端口号 | 协议 | 描述 |
| 21 | FTP | 文件传输协议 |
| 22 | SSH | 安全外壳协议 |
| 23 | Telnet | 远程登录协议 |
| 25 | SMTP | 简单邮件传输协议 |
| 53 | DNS | 域名解析服务 |
| 80 | HTTP | 超文本传输协议 |
| 110 | POP3 | 邮局协议3 |
| 143 | IMAP | Internet邮件访问协议 |
| 443 | HTTPS | 超文本传输安全协议 |
| 3306 | MySQL | 数据库服务器 |
| 3389 | RDP | 远程桌面协议 |
| 5432 | PostgreSQL | 数据库服务器 |
| 6379 | Redis | 内存数据结构存储系统 |
| 6389 | Memcached | 分布式内存对象缓存系统 |
| 8080 | HTTP/HTTPS/WebSocket/其他 | Web服务器或代理服务器 |
| 11211 | Memcached/Redis/其他 | Memcached或Redis服务器 |
| 1433 | SQL Server | Microsoft SQL Server数据库服务器 |
| 3306033069 | Mysql/MariaDB/PostgreSQL/其他 | Mysql/MariaDB/PostgreSQL数据库服务器(非默认端口) |
| 5000050010 | VNC/RDP/其他 | VNC远程桌面或RDP远程桌面(非默认端口) |
| 5480054810 | VNC/RDP/其他 | VNC远程桌面或RDP远程桌面(非默认端口) |
| 6500065535 | VNC/RDP/其他 | VNC远程桌面或RDP远程桌面(非默认端口) |
2、检查风险端口的方法
可以通过以下方法检查风险端口:
使用防火墙规则检查:检查防火墙规则中是否允许了上述风险端口的通信,如果允许了这些端口的通信,可能存在安全风险。
(图片来源网络,侵删)使用网络安全扫描工具检查:使用网络安全扫描工具(如Nmap、OpenVAS等)对目标主机进行扫描,查看是否存在开放的上述风险端口,如果存在开放的这些端口,可能存在安全风险。
下面是一个简单的介绍,用于展示在不同操作系统下如何查看端口被占用的情况,以及如何识别潜在的风险端口。
| 操作系统 | 查看占用端口命令 | 风险端口识别 | ||
| Windows | 1. 打开命令提示符(CMD) 2. 输入命令: netstat ano3. 通过 findstr找到特定端口,netstat aon | findstr "端口号" 4. 使用 tasklist | findstr "PID"找到占用端口的进程 | 查看是否为已知的服务或应用程序所使用 对于未知或陌生的PID,可以在网络搜索该进程名称,了解是否存在风险 |
| Linux | 1. 打开终端 2. 输入命令: lsof i:端口号 或netstat tulpn | grep 端口号 3. 查看输出结果中的进程ID(PID) | 检查进程的所有者及其权限 对于不熟悉的进程,使用 man命令或搜索引擎查询进程的可靠性检查进程的网络连接和监听的端口,确认是否与已知服务一致 |
请注意,介绍中的"端口号"和"PID"需要根据实际情况替换成具体的端口号和进程ID。
在处理端口占用问题时,除了识别端口占用的进程外,还应该注意以下风险:
确认端口对应的服务或应用是否为系统所需。
对于开放在公网上的端口,确认是否已经采取了适当的安全措施,例如防火墙规则。
如果端口被不明进程占用,应进一步调查该进程的来源和目的,以防潜在的安全威胁。