Nmap的基本使用
Nmap的基本使用
背景介绍
在日常的运维/开发环境中,难以避免对网络环境中服务器及终端的联通性进行测试。随着日益复杂的网络环境与测试环境,使用更强大的工具也难以避免。
原有替代方案
Windows及Linux中也有着很基本的网络命令用于测试网络环境的状况:
# 基于ICMP协议用于测试网络是否互通
ping ipv4
# 路由追踪 win
tracert ipv4
# 路由追踪 linux
traceroute ipv4
# 端口联通性
telnet ipv4 port
对于基本网络环境,以上三条命令足以。但在复杂网络环境中,以上命令不免会存在致命的缺陷,如:
- 基于安全策略,在一些场景下 ping 无回响,此时不能100%认为网络不通;
- telnet一次只能测试一个端口,而且相当耗时,也容易被拦截
Nmap介绍
Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,被广泛用于网络发现、端口扫描、服务版本检测、操作系统识别和漏洞检测等任务。Nmap通过发送定制化的数据包到目标主机,并分析响应结果来获取网络和主机的详细信息。
- 主机发现:检测网络中的活动主机,即使目标禁用了ICMP响应,Nmap也能通过TCP、UDP或ARP请求发现主机。
- 端口扫描:支持多种扫描技术(如TCP SYN扫描、TCP Connect扫描、UDP扫描等),快速识别目标主机开放的端口及对应的服务。
- 服务与版本检测:识别端口上运行的服务类型及其具体版本信息,帮助评估潜在的安全风险。
- 操作系统检测:通过分析TCP/IP协议栈的响应特征,推测目标主机的操作系统类型和版本。
- 脚本化扫描:内置强大的NSE(Nmap Scripting Engine)脚本引擎,可用于漏洞检测、后门检测、服务枚举等高级任务。
- 网络拓扑与可视化:支持生成网络拓扑图,并提供可视化工具(如Zenmap)便于分析和报告。
注:这部分介绍内容为AI(DeepSeek)生成,咱不会写,咱是个废物
总之,Nmap因为支持更多的协议,可以针对不同的场景展示不同的信息,更好的判断网络中的故障问题。
Nmap使用
主机发现
# 扫描整个子网
nmap -sn 192.168.1.0/24
# 扫描多个目标
nmap -sn 192.168.1.1 192.168.1.100
端口扫描
Nmap的端口扫描相对于Telnet来说,可以提供更多的详细信息,如通过STATE为filtered来判断端口号是否被防火墙所过滤
# 快速扫描常用端口
nmap -F 192.168.1.1
# 扫描所有端口
nmap -p- 192.168.1.1
# 扫描指定端口范围
nmap -p 80,443,8080-8090 192.168.1.1
# 扫描指定IP范围+端口范围 192.168.1.0-192.168.200.0
nmap -p 80,443,8080-8090 192.168.1-200.0-255
服务版本检测
# 识别服务版本
nmap -sV 192.168.1.1
操作系统检测
# 操作系统识别
nmap -O 192.168.1.1
综合扫描
# 综合扫描(主机发现、端口扫描、服务版本检测、操作系统识别)
nmap -A 192.168.1.1
使用脚本引擎
# 使用漏洞检测脚本
nmap --script vuln 192.168.1.1
# 使用特定脚本
nmap --script http-title 192.168.1.1

浙公网安备 33010602011771号