扫描工具nmap

本文介绍了如何使用nmap工具进行网络扫描。首先通过源码安装nmap,然后利用nmap进行主机发现,包括使用ICMP Echo Request和ARP请求。接着,文章详细讲述了nmap扫描端口的几种方式,如TCP Connect、TCP SYN和UDP扫描,并演示了如何识别端口上运行的应用服务。

使用源码安装snmp

wget https://nmap.org/dist/nmap-7.70.tgz

tar xf nmap-7.70.tgz nmap-7.70/

cd nmap-7.70/

./configure --prefix=/usr/local/nmap

make && make install

 

创建软连接

ln -s /usr/local/nmap/bin/nmap /sbin/nmap

 

查看版本

[root@test bin]# nmap -V

 

1 使用snmp进行主机发现

本机IP

 

使用ICMP的Echo Request(回显请求),可以跨网段发送裸IP包(Raw IP Packet)

nmap -v -n -sn -PE 192.168.1.0/25

-v 详细输出

-n 不进行DNS解析

-sn 用ping扫描 ---禁用端口扫描

-PE 指定使用ICMP Echo Request发现主机

 

192.168.1.0/24网段 24标识子网掩码相当于255.255.255.0

子网掩码为32位二进制数。

/24 对应标识11111111.11111111.11111111.00000000

换算网段内有多少机器:32 -24=8  网段里有8位是0, 2^8=256 也就是标识网段内有256个主机位,其中0代表网段,255是广播地址,还得有以为作为网关,所以其中可以有效使用的是254

/23对应标识11111111.11111111.11111110.00000000

换算网段内有多少机器:向前借了一位 32-23=9 网段里有9位是0, 2^9=512 也就是标识网段内有512个主机位

 

使用ARP请求发现同局域网主机

nmap -v -n -sn -PR 10.125.192.0/24

-PR 使用ARP发现主机

 

2使用nmap扫描端口

1 使用TCP Connect方法扫描端口,nmap作为客户端尝试进行完整的TCP3次握手

nmap -v -n -sT --max-retries 1 -p1-65535 x.x.x.x

-v 详细输出

-n 不尽兴DNS解析

-sT 指定使用TCP Connect方法

--max-retries 指定在每个端口上最多重试的次数

-p 指定端口

 

2使用TCP SYN方法扫描端口

nmap -v -n -sS --max-retries 1 -p1-65535 x.x.x.x

-sS 指定使用TCP SYN方法扫描

 

3 使用nmap进行UDP端口扫描

nmap -v -n -sU --max-retries 1 -p1-65535 x.x.x.x

-sU 指定进行UDP端口扫描

 

4 使用nmap识别应用

nmap -v -n -sV --max-retries 1 -p12582 x.x.x.x

-sV

有时候系统管理员会在非默认端口上运行敏感程序,因此于已扫描出来对外开放的端口,我们需要进一步识别在该端口上运行的世纪应用。12589这个端口我们查出来是开放的但SERVICE 是unknown状态,这里我们使用-sV可以看到该端口运行的是mountd服务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

`Nmap`(Network Mapper)是一款功能强大的开源网络发现与安全审计工具,广泛用于端口扫描、服务识别、操作系统检测、漏洞探测等任务。在 Windows 系统上,Nmap 也可以通过命令行或图形界面工具(如 Zenmap)使用。 --- ### 🧰 Nmap 常见功能总结表(Windows 平台适用) | 功能类别 | 命令示例 | 描述 | |----------|----------|------| | **基本扫描** | `nmap 192.168.1.1` | 扫描指定 IP 的开放端口 | | **快速扫描** | `nmap -F 192.168.1.1` | 快速扫描最常用的 100 个端口 | | **全面扫描** | `nmap -p- 192.168.1.1` | 扫描所有 65535 个端口 | | **服务与版本识别** | `nmap -sV 192.168.1.1` | 识别开放端口对应的服务及版本 | | **操作系统检测** | `nmap -O 192.168.1.1` | 探测目标的操作系统类型 | | **Ping 扫描** | `nmap -sn 192.168.1.0/24` | 检查局域网中哪些主机在线(不扫描端口) | | **SYN 扫描(半开放扫描)** | `nmap -sS 192.168.1.1` | 不完成 TCP 三次握手,更隐蔽 | | **UDP 扫描** | `nmap -sU -p 53,161,162 192.168.1.1` | 扫描 UDP 端口(如 DNS、SNMP) | | **脚本扫描(NSE)** | `nmap --script=vuln 192.168.1.1` | 使用 NSE 脚本检测漏洞 | | **输出保存** | `nmap -oN output.txt 192.168.1.1` | 将结果保存为文本文件 | | **批量扫描多个目标** | `nmap -iL targets.txt` | 从文件中批量读取目标进行扫描 | | **防火墙绕过技巧** | `nmap -sS -Pn --data-length 25 192.168.1.1` | 自定义数据包长度以绕过部分防火墙检测 | --- ### 📌 Windows 下安装与使用 - **安装方式**: - 官网下载:https://nmap.org/download.html#windows - 安装后可使用命令行或图形界面 `Zenmap` - **运行权限**: - 需要管理员权限(用于原始套接字操作) - **依赖组件**: - WinPcap/Npcap(用于抓包) --- ### ✅ 示例命令 ```bash # 扫描单个主机开放端口 nmap 192.168.1.1 # 扫描并识别服务版本 nmap -sV 192.168.1.1 # 探测操作系统 nmap -O 192.168.1.1 # 扫描整个子网中的活跃主机 nmap -sn 192.168.1.0/24 # 使用漏洞检测脚本扫描 nmap --script=vuln 192.168.1.1 # 保存扫描结果到文件 nmap -oN scan_result.txt 192.168.1.1 ``` --- ### 🛡️ Nmap 在渗透测试中的典型用途 - 网络发现与资产识别 - 服务版本识别与漏洞初步检测 - 防火墙策略分析 - 自动化安全评估(结合 NSE 脚本) - 漏洞扫描(如 SMB、SSH、HTTP 等) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值