黑客工具之——Network Mapper(Nmap)使用详解

一、 Nmap 简介

Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,用于:

  • 发现网络中的主机(主机发现)
  • 扫描开放的端口(端口扫描)
  • 检测服务及版本(服务/版本探测)
  • 识别操作系统(OS 指纹识别)
  • 执行漏洞扫描(通过 NSE 脚本)

二、如何安装 Nmap

Windows
  1. 访问 Nmap 官网 下载安装包。
  2. 安装时勾选所有组件(包括 Zenmap 图形界面)。
Linux (Debian/Ubuntu)
sudo apt update && sudo apt install nmap
Linux (RHEL/CentOS)
sudo yum install nmap      # CentOS 7 或以下
sudo dnf install nmap      # CentOS 8 或以上
macOS
brew install nmap
Kali Linux

预装 Nmap,无需额外安装。
在这里插入图片描述

三、基本用法

命令格式
nmap [扫描类型] [选项] [目标]
扫描目标
  • 扫描单个 IP:nmap 192.168.1.1
  • 扫描域名:nmap example.com
  • 扫描多个目标:nmap 192.168.1.1 192.168.1.2
  • 扫描范围:nmap 192.168.1.1-100
  • 扫描子网:nmap 192.168.1.0/24

四、常用扫描类型

1. TCP SYN 扫描(默认)

快速且隐蔽,无需完成 TCP 握手(需 root 权限):

sudo nmap -sS 192.168.1.1
2. TCP Connect 扫描

模拟完整 TCP 连接(无需 root):

nmap -sT 192.168.1.1
3. UDP 扫描

检测开放的 UDP 端口(速度较慢):

sudo nmap -sU 192.168.1.1
4. 隐蔽扫描
  • FIN 扫描:发送 FIN 包检测端口状态。
    sudo nmap -sF 192.168.1.1
    
  • NULL 扫描:发送无标志位的包。
    sudo nmap -sN 192.168.1.1
    
  • Xmas 扫描:发送 FIN、PSH、URG 标志位。
    sudo nmap -sX 192.168.1.1
    

五、高级功能

1. 服务和版本探测

检测端口对应的服务及其版本:

nmap -sV 192.168.1.1
2. 操作系统检测

识别目标主机的操作系统(需 root 权限):

sudo nmap -O 192.168.1.1
3. 输出结果
  • 普通格式:-oN result.txt
  • XML 格式:-oX result.xml
  • 所有格式:-oA result(生成 .nmap, .xml, .gnmap 文件)

示例:

nmap -sS -sV -O 192.168.1.1 -oN scan_result.txt

六、使用 Nmap 脚本引擎(NSE)

Nmap 内置了强大的脚本库(--script),用于漏洞检测、信息收集等。

常用脚本类别
  • vuln:检测已知漏洞。
  • safe:非侵入式脚本。
  • discovery:网络发现。
  • brute:暴力破解。
示例
  1. 检测 SMB 漏洞:
    nmap --script smb-vuln* 192.168.1.1
    
  2. 枚举 HTTP 目录:
    nmap --script http-enum 192.168.1.1
    
  3. 扫描常见漏洞:
    nmap --script vuln 192.168.1.1
    

七、绕过防火墙/IDS

1. 分片扫描

将数据包分片以绕过检测:

nmap -f 192.168.1.1
2. 诱饵扫描

隐藏真实 IP(混杂诱饵 IP):

nmap -D RND:10 192.168.1.1  # 随机生成 10 个诱饵
nmap -D decoy1,decoy2,real_IP 192.168.1.1  # 指定诱饵
3. 空闲扫描

利用僵尸主机进行隐蔽扫描:

nmap -sI zombie_IP 192.168.1.1
4. 随机化扫描顺序
nmap --randomize-hosts 192.168.1.1-100

八、时间优化

  • 加快扫描速度-T<0-5>(0: 最慢,5: 最快)
    nmap -T4 192.168.1.1
    
  • 跳过主机发现:假设目标在线。
    nmap -Pn 192.168.1.1
    

九、实际案例

案例 1:快速扫描本地网络
nmap -sn 192.168.1.0/24  # 仅发现在线主机
案例 2:全面扫描
sudo nmap -sS -sV -O -p- -T4 192.168.1.1 -oA full_scan
  • -p-:扫描所有端口(1-65535)。
案例 3:漏洞检测
nmap --script vuln --script-args=unsafe=1 192.168.1.1

十、注意事项

  1. 合法使用:未经授权扫描他人网络可能违法。
  2. 谨慎使用 NSE 脚本:部分脚本具有侵入性。
  3. 避免误判:扫描可能触发安全设备的警报。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值