Nmap学习笔记

Nmap

简介

Nmap(网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:

  • 列举网络主机清单
  • 管理服务升级调度
  • 监控主机
  • 服务运行状况

Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 它是网络管理员必用的软件之一,用以评估网络系统安全。(选自维基百科)

在进行渗透测试中,Nmap在信息收集这块方面做得还是很不错的

基础知识

端口状态:
open(开放的)
应用程序正在该端口接收TCP 连接或者UDP报文。
closed(关闭的)
关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。
filtered(被过滤的)
由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。
unfiltered(未被过滤的)
未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭,只有ACK扫描才会出现这种状态。
open|filtered(开放或者被过滤的)
当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。
closed|filtered(关闭或者被过滤的)
该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中

基本用法:

nmap的命令众多,在此就不一样列举,只列举一些常用的

常见的命令和参数

-vv                 对扫描结果进行详细输出
-p  对特定端口进行扫描
-p     对范围内的端口进行扫描
-sP                 采用ping扫描
-O                  探测操作系统类型
-sV                 版本扫描,指纹识别
-sL                 列表扫描
-sn                 不进行端口扫描,仅用来寻找存活的主机,采用的是Ping扫描
-Pn                 不进行ping扫描,跳过主机发现阶段
-sS                 采用TCP半开放扫描(root和administrator默认方式),因为未完成三次握手,所以不会留下痕迹
-sT                 TCP connect连接,会完成三次握手,留下痕迹
-F                  快速扫描        
--top-ports         扫描常见端口
-f                  分片扫描,不建议对较旧系统使用
-oX                 xml输出
-oN             标准输出

脚本扫描:

nmap在扫描的时候可以使用很多脚本
在kali下,我们可以用命令 locate *.nse 来查找当前主机所有的NSE脚本

比如对目标进行ms08-07扫描
Nmap学习笔记_第1张图片
可以看到,目标主机存在该漏洞。

当然,前期收集的时候,也可以使用-去进行扫描,
或者

-A  次选项设置包含了1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
-Sc 默认脚本扫描

信息收集类脚本:

http-methods

通过这个脚本,可以获取Web服务器支持的HTTP方法
--script http-methods
如:nmap -p 80,445 --script http-methods www.baidu.com
Nmap学习笔记_第2张图片
可以看到『www.baidu.com』支持的http和https方式有GET,HEAD,POST,OPTIONS
这个扫描一般可以用来前期的信息收集,如果发现了DELETE这种有趣的方法的话,将会变得很有趣。如果目标主机支持TRACE方法的话,那目标主机可能会遭受到一种很古老的XST(Cross Site Tracing)攻击。

修改http头:

如:nmap -p 80,443 --script http-methods --script-args http.useragent="Mozilla 42" www.baidu.com
Nmap学习笔记_第3张图片

高级主机发现类脚本

broadcast-ping.nse

作用:发现本地网络中的活跃主机
使用:nmap --script broadcast-ping

targets-sniffer

作用:发现本地网络中的所有主机,需要特权模式,也可以使用-e来执行网络监听

使用:nmap -sL --script=targets-sniffer -e

tips

在使用Nmap进行扫描中,尽量不要使用Ping扫描,这是因为Ping扫描的原理是向目标机器发送ICMP报文,而通常情况下,ICMP报文是会被大多数防火墙给过滤掉的。

总结

Nmap作为一款十分流行的扫描器,功能还是很强大的,本文也只是对常用的命令做下总结,仅做参考。

参考资料
Nmap使用手册

你可能感兴趣的:(基础)