Nmap (网络映射器)是由 Gordon Lyon设计,用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。
一:安装
nmap可以到http://nmap.org/download.html下载最新版本,然后下一步下一步的安装就好了。然后进入命令提示符(cmd),输入nmap,如果可以看到nmap的帮助信息,说明安装成功。
二:使用
1、Nmap 简单扫描
Nmap 默认发送一个arp的ping数据包,来探测目标主机在1-10000范围内所开放的端口。
命令语法:
nmap
解释:Target ip address 为你目标主机的ip地址
例子:nmap 192.168.1.1
如果觉得命令行的不直观,也可以使用gui版nmap–Zenmap 看起来很直接很舒服对不对?
只要在目标的那栏,输入你想扫描的目标即可,如下图,我输入192.168.1.1-254其实也可以输入192.168.1.1/24 效果一样。
nmap常用组合
快速检测一个网段中的存活主机
nmap-sP x.x.x.x/24
从文本中读取相关IP,进行端口扫描,同时识别服务
nmap -p80,22-sV-iL ip.txt
只显示开放该端口的主机
nmap-p80–open 1.1.1.0/24
不使用反向解析,扫描80端口开放的主机,同时保存为xml文件
nmap-n-p80-iL ip.txt -sV–open-oX80.xml
识别一台主机的操作系统
nmap-O 1.1.1.1
在不检测一个存活主机的情况下,进行全端口扫描,识别服务
nmap-Pn-p1-65535-A-sV 1.1.1.1
扫描mysql的空口令:
nmap-p3306–script=mysql-empty-password.nse 192.168.5.1
暴力破解mssql的账户密码
nmap-p1433–script=ms-sql-brute –script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.5.1
按照具体分类,参数如下
tcp:
-sT TCP连续扫描
-sS SYN扫描
-sN -sF -sX
-sM TCP Maimon扫描
-sA TCP ACK扫描
-sW TCP窗口扫描
-sI TCPIdle扫描
UDP:
-sU
–host-timeout 跳过响应过慢的主机
-p:端口范围
-F 快速扫描
-r 顺序扫描
输出选项:
-oN 正常输出
-0X XML文件输出
-oG
-sV 服务版本识别
-sO 识别目标操作系统
-Pn 禁用主机检测 (用于屏蔽了PING请求的主机) //个人感觉这个参数挺有用的。
-A 强力检测
ipv6 -6
脚本引擎:
auth: 使用暴力破解等技术找出目标系统上的认证信息
default:启动–sC 或者-A选项时运行的此类脚本
discovery:该类脚本用于探索网络
dos:使目标系统拒绝服务,
exploit 利用目标系统的安全漏洞
external:该类脚本可能泄露信息给第三方
fuzzer: 对目标系统进行模糊测试
instrusive 可能导致目标系统崩溃,或者耗尽目标系统所有资源
malware : 检查目标系统上是否存在后门
safe:
version : 配合版本检测选项-sV ,这类脚本对目标系统的服务程序进行深入的版本检测
vuln 检查目标系统上的安全漏洞
-sC 启动默认类NSE脚本
–script ||
–script-args 这个选项用于给脚本指定参数
规避检测的选项:
-f 使用小数据包
–mtu 调整数据包的大小
-D 诱饵
–source-port或者 -g 模拟源端口
–data-length 改变发动书记宝的默认数据长度
–max-parallelism 限制nmap并发的最大连接数
–scan-denlay
后记:有一天去图书馆看看书,无意间就在书架上看到了一本《Nmap渗透测试指南》 没想到nmap都有人出书了,说明有人对nmap还是挺有研究的,以前只是用来做扫描端口的,感觉自己还是太浅显。文中后一部分的内容都是参考该书。 前一部分参考了乌云知识库。关注与学习安全,乌云都是一个不错的选择。
评论 (0)