Nmap入门教程

Nmap的功能

  1. 扫描远程服务开放的端口
  2. 识别目标服务器上的服务
  3. 发现局域网中存活的主机

官方网站

Nmap官网:https://nmap.org

扫描远程服务器开放端口

使用命令:nmap 域名/IP

提示:探测中可以使用回车查看探测进度。

端口状态

  • Open 表示端口处于开放状态
  • Closed 表示端口处于关闭状态
  • Filterd 表示端口处于过滤无法收到返回的probe状态
  • UnFilterd 表示端口收到反悔的probe,但是无法确认
  • Open/Filterd 表示端口处于开放或者是过滤状态
  • Closed/UnFilterd 表示端口处于关闭或者过滤状态

原理

扫描原理:nmap根据输入的命令判断是否包含域名,若包含域名则需要利用DNS服务器对域名进行解析,让后发送ICMP数据包来探测主机是否存活。对存活主机发送探测包判读对应端口是否开放。

指定DNS服务器

如果使用的是域名,则探测前需要把域名通过DNS服务器解析为IP地址,可以通过参数–dns-servers指定DNS服务器.

nmap --dns-servers 8.8.8.8 smallstore.top

跳过机器存活探测

对于已经知道存活或者防火墙开启的机器,可以使用-Pn参数来跳过探测前的ICMP请求,从而达到不触发防火墙的安全机制

使用命令:nmap -Pn 域名/IP

指定探测范围内的端口

使用-p m-n参数可以指定探测一定范围内的端口

使用命令:nmap -p m-n 域名/IP

识别目标服务器上的服务指纹

服务指纹信息包括服务端口、服务名和版本信息。

使用命令:nmap -sV IP

原理

通过分析目标机器返回的的数据包中的协议标记、选项和数据,可以推断出发送数据的服务信息。

侵略性探测

探测目标机器的操作系统、服务信息等。

使用命令:nmap -A -v -T4 IP

-A 侵略性探测;-v 持续输出; -T4 加速探测

探测局域网中存活的主机

使用命令:nmap -sP CIDR 或者 nmap -sn CIDR

CIDR(无类别域间路由)是一种网络表达方式,例如:192.168.88.1/24

结果输出为xml文件:`nmap -sn CIDR -oX test.xml

端口探测技巧

对单个端口进行探测

使用参数-p可以指定探测端口

# 探测指定IP的80端口
nmap -p80 192.168.88.107`

对多个端口进行探测

# 探测指定IP的80,22,443端口
nmap -p80,22,443 192.168.88.107`

对范围内端口进行探测

# 探测指定IP的1-5000内端口
nmap -p 1-5000 192.168.88.107

对所有端口进行探测

# 探测指定IP的所有端口
nmap -p- 192.168.88.107

对指定协议端口探测

# 探测指定IP的TCP协议25端口,UDP协议53号端口
nmap -p T:25,U:53 192.168.88.107

对指定协议端口探测

# 探测指定IP的smtp协议端口
nmap -p smtp 192.168.88.107

对模糊协议名称端口探测

# 探测指定IP中名称以s开头的协议端口
nmap -p s* 192.168.88.107

NSE脚本的使用

NSE(Nmap Script Engine) Nmap脚本引擎,内置很多可以用来扫描,针对特定任务的脚本。通过脚本拓展Nmap的扫描策略,加强Nmap的功能。

# 使用参数--script来指定使用的脚本,脚本储存在/usr/share/nmap/script下。
nmap --script http-title 192.168.88.101

NSE特定情况使用举例

漏洞探测

# 探测目标机器漏洞,利用方法,漏洞参考。
nmap -sV --script vuln 192.168.88.101

分类探测

# 通过版本信息分类
nmap -sV --script version,discovery 192.168.88.101

通过模糊匹配使用多个脚本并排除指定脚本

# 使用Nmap中的http开头的脚本,但是除了(http-slowlors and http-brute)。
nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 192.168.88.101

调试功能的使用

# 使用Nmap中的exploit脚本,同时开启调试模式。-d表示调试等级 有(0-9)10个等级
nmap -sV --script exploit -d 3 --script-trace 192.168.88.101

脚本参数的使用

# 使用Nmap中的http-title脚本,同时指定user_Agent的参数
nmap -sV --script http-title --script-args http.useragent="Mozilla 999" 192.168.88.101

脚本的更新

# 更新NSE脚本
nmap --script-updatedb

脚本功能查询

具体脚本功能可以登录官方网站查看:https://nmap.org/nsedoc/scripts/

指定网卡探测

针对多网卡网络,可以指定网卡探测。

使用nmap -iflist命令查看本机网卡信息

# 指定使用eth0进行探测
nmap -e eth0 192.168.88.1/24

对比扫描结果

使用ndiff工具进行对比

# 对比两次探测结果
ndiff output1.xml output2.xml

Nmap可视化使用

在windows安装Nmap是会自动安装Zenmap,找打安装位置打开即用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值