上一篇
Linux如何快速扫描端口?
- Linux
- 2025-07-01
- 7
Linux扫描端口常用nmap命令: nmap [目标IP或域名],其他方法包括 nc -zv [IP] [端口]测试TCP端口, telnet [IP] [端口]连接测试,或 nmap -sU [IP]扫描UDP端口。
常用端口扫描工具
- Nmap(功能最全面)
官网:https://nmap.org
支持多种扫描类型,可识别服务版本和操作系统。
- Netcat(简易网络工具)
别名 nc,适合基础TCP/UDP连接测试。
- Telnet(传统连接工具)
适用于快速检查单个端口的连通性。
使用 Nmap 扫描端口
安装 Nmap
# Debian/Ubuntu sudo apt install nmap # CentOS/RHEL sudo yum install nmap
基础扫描命令
-
扫描单个主机
nmap 192.168.1.100 # 扫描目标IP的常用端口输出示例:
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https -
扫描特定端口范围
nmap -p 1-1000 192.168.1.100 # 扫描1~1000端口 nmap -p 80,443,8080 192.168.1.100 # 扫描指定端口 -
扫描整个子网
nmap 192.168.1.0/24 # 扫描C类子网所有主机
高级扫描选项
| 参数 | 作用 | 示例命令 |
|---|---|---|
| -sS | TCP SYN扫描(隐蔽) | nmap -sS 192.168.1.100 |
| -sU | UDP端口扫描 | nmap -sU 192.168.1.100 |
| -O | 探测操作系统类型 | nmap -O 192.168.1.100 |
| -sV | 识别服务版本 | nmap -sV 192.168.1.100 |
| -A | 全面扫描(OS+版本+脚本) | nmap -A 192.168.1.100 |
| --script | 使用NSE脚本(如漏洞检测) | nmap --script vuln 192.168.1.100 |
其他工具扫描方法
Netcat (nc)
# 检查TCP端口是否开放 nc -zv 192.168.1.100 22 # 扫描SSH端口 # 扫描UDP端口(需root权限) nc -zvu 192.168.1.100 53 # DNS端口 # 扫描端口范围 nc -zv 192.168.1.100 20-30
Telnet
telnet 192.168.1.100 80 # 测试Web端口 # 若返回"Connected",则端口开放;若拒绝连接,则关闭。
注意事项
- 合法授权
扫描前需获得目标系统所有者书面授权,未授权扫描可能违反《网络安全法》。
- 避免误判
使用 -T4 参数加速扫描(如 nmap -T4 192.168.1.100),但过快可能触发防火墙警报。
- 结果解读
- open:端口开放且可访问
- filtered:防火墙阻断探测
- closed:端口未运行服务
- 安全建议
定期扫描自身服务器关闭无用端口(如 nmap localhost),减少攻破面。
- 快速单端口检查 → 用 telnet 或 nc
- 全面网络扫描 → 用 nmap -A
- 隐蔽探测 → nmap -sS(SYN扫描)
- UDP服务 → nmap -sU 或 nc -zvu
引用说明:
- Nmap官方文档:https://nmap.org/book/man.html
- Netcat指南:https://linux.die.net/man/1/nc
- Linux telnet手册页:man telnet
- 网络安全法解读:https://www.cac.gov.cn/
作者资质:本文由网络工程专家撰写,内容基于10年Linux系统运维及安全审计经验,遵循合法合规标准。