Nmap (网络映射器)

namp是一款开放源代码和安全审核工具。它被设计用来快速扫描大型网络,包括主机探测与发现,开放的端口情况,操作系统与应用服务的指纹识别,WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架为DNmap。

Nmap的特点:

主机探测:探测网络上的主机,如列出响应Tcp和ICMP请求,开放特别端口的主机

端口扫描:探测目标主机所开放的端口

版本检测:探测目标主机的网络服务,判断其服务名称及版本号。

系统监测:探测目标主机的操作系统及网络设备的硬件特性。

支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和Lua 编程语言

Namp的下载地址为https://nmap.org/download.html

Nmap入门

Nmap --help 显示Nmap用法及其功能

首先介绍设置扫描目标时用到的相关参数,如下所示。

-il:从文件中导入目标主机或目标网段。

-iR:随机选择目标主机。

--exclude: 后面跟的主机或网段将不在扫描范围内。

--excludefile:导入文件中的主机或网段将不在扫描范围中。

与主机发现方法相关的参数如下。

-sL: List Scan(列表扫描),仅列举指定目标的卫,不进行主机发现

-sD:Ping Scan,只进行主机发现,不进行端口扫描。

-Pn:将所有指定的主机视作已开启,跳过主机发现的过程。

-PS/A/PU/PYportlist]: 使用TCP SYN/ACK或SCTP INIT/ECHO方式来发现。

-PE/PP/PM:使用ICMP echo、timestamp、netmask请求包发现主机。

-PO[protocollist]:使用IP协议包探测对方主机是否开启。

-n/-R:口表示不进行DNS解析;-R表示总是进行DNS解析。

-dns-servers <serv1,[serv2],...>:指定DNS服务器。

--system-dns:指定使用系统的DNS服务器。

--traceroute:追踪每个路由节点。

与常见的端口扫描方法相关的参数如下。

-SS/ST/SA/'sW/SM:指定使用TCP SYN/Connect()/ACK/Window/Maimon scans

的方式对目标主机进行扫描。

-sU:指定使用UDP扫描的方式确定目标主机的UDP端口状况。

-SN/SF/SX:指定使用TCP Nul/FIN/Xmas scans秘密扫描的方式协助探测对方的TCP端口状态。

--scanflags <flags-:足制TCP包的flags

-SI ≤zombie host[:probepor]>:指定使用Idle scan的方式扫描目标主机(前提是需要找到合适的zombie host)。

-SY/sZ:使用SCTP INIT/COOKIE-ECHO扫描SCTP 协议端口的开放情况。

-sO:使用IP protocol扫描确定目标机支持的协议类型。

-b <FTP relay host:使用FTP bounce scan扫描方式。

跟端口参数与扫描顺序的设置相关的参数如下。

-D <port ranges-:扫描指定的端口。

-F:Fast mode(快速模式),仅扫描TOP 100的端口。

-r:不进行端口随机打乱的操作 (如无该参数,Nmap会将要扫描的端口以随机顺序的方式进行扫描,让Nmap的扫描不易被对方防火墙检测到)。

-top-ports <number>:扫描开放概率最高的number个端口 (Nmap的作者曾做过大规模的互联网扫描,以此统计网络上各种端口可能开放的概率,并排列出最有可能开放端口的列表,具体可以参见nmap-services文件。默认情况下,Namp会扫描最有可能的1000个TCP端口

--port-ratio <ratio>-:扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数,概率大于--port ratio的端口才被扫描。显然参数必须在0-1之间,想了解具体的概率范围可以 查看nmap-services文件。与版本侦测相关的参数如下

-sV:指定让Nmap逛行放本侦测。

--version-internsity slevel:指定版本侦测的强度 (0~9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。

--version-ight:指定使用轻量致侦测方式 (intensity 2)。

--versionall: 尝试使用所有的probes进行侦测 (intensity 9)。

--version-trace: 显示出详细的版本侦测过程信息。

在了解以上参数及其含义后,再看来用法会更好理解,扫描命令格式:Namp+扫描参数+目标地址或者网段,比如:

namp -T4 -A -V ip

其中-A表示使用进攻性 (Aggressive)方式扫描;-T4表示指定扫描过程使用的时序(Timing),共有6个级别 (0~5),级别越高,扫描速度越快,但也容易被防火墙或DS检测并屏蔽掉,在网络通信状况良好的情况 下推荐使用T4。-V表示显示冗余(rerbosity)信息,在扫描过程中;显示扫描的细节,有助于让用户了解当前的扫描状态。

1,扫描单个目标地址

在Nmap后面直接添加目标地址即可扫描

nmap 192.168.0.111

2,扫描多个目标地址

如果目标地址不在同一个网段,或在同一个网段但不连续且数量不多,可以使用该方法扫描

nmap 192.168.0.100 192.168.0.105

3. 扫描一个范围内的目标地址

可以指定扫描一个连续的网段,中问使用“-”连接,例如,下列命令表示扫描范围为192.168.0.100~ 192.168.0.110

nmap 192.168.0.100-110

4. 扫描目标地址所在的某个网段

以c段为例,如果目标是一个网路,则可以通过添加子网掩码的方式扫描,下列命令表示扫描范围为192.163.01-192168.0233

map 192.168.0.100/24

5.扫描主机列表 targets.txt 中的所有自栎地址

扫描targets.txt中的地址或者网段,此处导入的是绝对路径,如果trgets.txt文件与

nmap.exe在同一个目录下,则直接引用文件名即可,如图3-52所示。

nmap -iL C:\Users \Aerfa \Desktop \targets •txt

6. 扫描除某一个目标地址之外的所有目标地址

下列命令表示扫描除192.168.0.105之外的其他192.168.0.x 地址,从扫描结果来看

确实没有对192.168.0.105进行扫描

map 192.168.0.100/24 -exclude 192.168.0.105

7.扫描除某一文件中的目标地址之外的目标地址

下列命令表示扫描除了target.txt文件夹中涉及的地址或网段之外的目标地址。还是以扫描192.168.0.x网段为例,在targets.txt甲添加192.168.0.100和192.168.0.105,从扫描结果来看己经证实该方法有效可用

nmap 192.168 .0 .100/24 -excLudefile C:\Users \Aerfa \Desktop\targets.txt

8.扫描某一目标地址的 21、22、23、80端口

如果不需要对目标主机进行全端口扫描,只想探测它是否开放了某一端口,那么使用-p参数指定端口号,将大大提升扫描速度

nmap 192.168.0.100 -P 21,22,23,80

9.对目标地址进行路由跟踪

下列命令表示对目标地址进行路由跟踪

map - -traceroute 192.168.0.105

10.扫描目标地址所在C段的在线状况

下列命令表示扫描目标地址所在C段的在线状况

smap-sP 192.168.0.100/24

11. 目标地址的操作系统指纹识别

下列命令表示通过指纹识别技术识别目标地址的操作系统的版本

nmap -0 192.168.0.105

11. 目标地址的操作系统指纹识别

下列命令表示通过指纹识别技术识别目标地址的操作系统的版本,如图3-58所示。

nmap -0 192.168.0.105

12.目标地址提供的服务版本检测

下列命令表示检测目标地址开放的端口对应的服务版本信息,

Namp -sV 192.168.0.105

13.探测防火墙状态

在实战中,可以利用FIN扫描的方式探测防火墙的状态。FIN扫描用于谢

是否关闭,收到RST回复说明该端口关闭,否则就是open或filtered状态,奴器不。

map - st - 14 192.168.0.105

状态识别

Nmap输出的是扫描列表,包括端口号,端口状态,服务名称,服务版本及协议

常见6种端口状态及其含义

状态

含义

open

开放的,表示应用程序正在监听该端口的连接,外部可以访问

filtered

被过滤的,表示端口被防火墙或其他网络设备阻止,不能访问

closed

关闭的,表示该主机未开启端口

unfiltered

未被过滤的,表示Namp无法确定端口所处状态,需要进一步探测

Open/filtered

开放的或被过滤的,Namp不能识别

Closed/filtered

开放的或被过滤的,Namp不能识别

Nmap脚本

Namp的脚本默认存在/xx/nmap/scripts文件夹下

Nnap的脚本主要分为以下几类:

•Auth: 负责处理鉴权证书(绕过监权)的脚本。

•Broadcast: 在局域网内探查更多服务的开启情况,如DHCP/DNS/SQLServe等。

•Brute:针对常见的应用提供暴力破解方式,如HTTP/SMTP等。

•Detault使用-sC或-A选项扫描时默认的脚本,提供基本的剧本扫描能力。

•Discovery:对网络进行更多信息的搜集,如SMB枚举、SNIMP查询等。

•Dos:用于进行拒绝服务攻击。

•Exploit:利用己知的漏洞入侵系统。

•Extermal: 利用第三方的数据库或资源。例如,进行 Whois解析。

•Fuzzer:模糊测试脚本,发送异常的包到目标机,探测出潜在漏洞。

•Intrusive:人侵性的脚本,此类脚本可能引发对方的IDS/PS的记录或屏蔽。

•Malware:探测目标机是否感染了病毒、开启后门等信息。

•Sate:此类与intrusive相反,属于安全性脚本。

•Version:负责增强服务 与版本扫描功能的脚本。

•Vuln:负责检查日标机是杏有常见漏洞,如MS08-067。

常用脚本

用户还可根据需要设置-script=类别进行扫描,常用参数如下

•-sC/-script-defaalt:使用默认的脚本进行扫描。

•-script--Lua scripts>:使用某个脚本进行扫描。

•--scrpt-args=key1=value1,key2=value2.....:该参数用于传递脚本里的参数

key1是参数名,该参数对应value1这个值。如有更多的参数,使用逗号连接

•-script-args-file-tlename: 使用文件为脚本提供参数。

•--script-trace:如果设置该参数,则显示脚本执行过程中发送与接收的数据

•--script-updatedb:在Nmap的soripts目录里有一个script db文件,该文件保存了当前Nmap可用的脚本,类似于一个小型数据库,如果我们开后Nmap调用了此参数,则Nmap会自动扫描scripts目录中的扩展脚本,进行数据库更新

•--sctipt-help:调用该参数后,Nmap会输出该脚本对应的脚本使用参数,以及详细的介绍信息。

实例

1.鉴权扫描

使用-script-auth可以对目标主机或目标主机所在的网段进行应用弱口令检测

nmap --script=auth 192.168.0.105

  1. 暴力破解攻击

Namp具有暴力破解的功能,可对数据库,SMB,SNMP等进行简单的暴力猜解

nmap --script=brute 192.168.0.105

3. 扫描常见的漏洞

Nmap具备漏洞扫描的功能,可以检查目标主机或网段是沓仔在常见的漏洞

nmap --script=vuln 192.168.0.105

cobaitsa

级鈣、菜

КАТА

第3草 常用的渗透測法工具

87

4. 应用服务扫描

Nmap具备很多常见应用服务的扫描脚本,例如VNC服务、MysQL服务、Telnet

服务、Rsync服务等,此处以VNC服务为例

nmap - -script=realvnc-auth-bypass 192.168.0. 105

5.探测局域网内更多服务开启的情况

输人以下命令即可探测局域网内更多服务开启的情况

nmap -n -P 445 -- Script=broadcast 192.168.0.105

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值