1、Nmap简介
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,它是网络管理员必用的软件之一,以及用以评估网络系统安全,正如大多数被用于网络安全的工具,nmap也是不少黑客以及骇客(又称脚本小子)爱用的工具,系统管理员可以利用nmap来探测工作环境中未经批准的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法,nmap常被跟评估系统漏洞软件nessus,混为一淡,nmap以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。
2、具体的功能
端口扫描,协议扫描,漏洞扫描,绕过防护,漏洞利用等等,漏洞扫描不是很重要,我们主要是信息收集和端口扫描。
喜欢我们文章的朋友请加圈子关注我们,在公众号上输入安界网,就可以关注到我们,领取学习资料,也可以加入我们的qq群251573549
3、nmap的安装
Windows:去官网下载安装包
安装的时候,这个打钩就是图形化的,也可以不安装,想用图形化就是用,不想用就不打钩
Linux:kali自带
1) nmap更新
第一种是自动更新,也就是nmap-update.exe这个文件
如果要自动更新,要先到/mailan/listinfo/svn申请一个账号,申请完之后,登录账号密码进行一方面的更新
还有一种就是手动更新
4、nmap基本的参数讲解
-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sP ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
-sU UDP扫描,但UDP扫描是不可靠的
-sA 这项高级的扫描方法通常用来穿过防火墙的规则集
-sV 探测端口服务版本
-Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-v 显示扫描过程,推荐使用
-h 帮助选项,是最清楚的帮助文档
-p 指定端口,如“1-65535、1433、135、22、80”等
-O 启用远程操作系统检测,存在误报
-A 全面系统检测、启用脚本检测、扫描等
-oN/-oX/-oG 将报告写入文件,分别是正常、XML、grepable 三种格式
-T4 针对TCP端口禁止动态扫描延迟超过10ms
-iL 读取主机列表,例如,“-iL C:\ip.txt”
目标说明
-iL 从已有的ip列表文件中读取并扫描
-iR+扫描数量 随机选择目标进行扫描
--exclude+ip 不扫描此ip
主机发现
-sL 列出要扫描的ip
-sn 不进行端口扫描
-Pn 将所有主机都默认为在线,跳过主机发现
-PS/PA/PU/PY 使用TCP、SYN/ACK、UDP或SCTP协议去发现端口
-PE/PP/PM:使用ICMP响应(echo)、时间戳或子网掩码请求来发现探测
-PO 使用IP协议的ping
-n 不做DNS解析
-R 总是做DNS反向解析
--dns-servers指定自定义的DNS服务器
--system-dns 使用操作系统的DNS
--traceroute 追踪每台主机的跳转路径
扫描技术
-sS/sT/sA/sW/sM:使用SYN、TCP、全连接Connect()、ACK、Window、Maimon来进行扫描
-sU UDP扫描
-sN/sF/sX 使用TCP Null(无flag)、FIN、Xmas(FIN+Push+Urgent)扫描
--scanflags +flags 自定义TCP扫描的flags
-sI 僵尸机扫描
-sY/sZ 使用SCTP协议的INIT/COOKIE-ECHO扫描
-sO 进行IP协议扫描
-b <FTP relay host>:指定FTP中继主机进行FTP反弹扫描
端口说明和扫描规则
-p 只扫描指定的端口
--exclude-ports 不对此端口进行扫描
-F 快速模式,扫描比默认端口数量更少的端口
-r 有序地扫描端口而不是随机地扫描
--top-ports <number> 扫描排名指定的数字前几位的最常用的端口
--port-ratio <ratio> 扫描比输入的比例更常用的端口
服务、版本探测
-sV:探测开启的端口来获取服务、版本信息
--version-intensity <level>:设置探测服务、版本信息的强度
--version-light:强度为2的探测强度
--version-all:强度为9的探测强度
--version-trace:将扫描的具体过程显示出来
5、nmap的脚本扫描
1)、nmap获取主机地理位置
在工作生活当中会得到一些站点域名。比如说ip地址,拿到这些之后,想获取到该服务器和主机在哪里,还有对应地址的一些信息,nmap通过对google地图api调用,利用谷歌进行ip地址获取对应的地理信息的操作,注意:对于陌生的nse脚本,可以使用nmap --script-help脚本来查看对应的帮助信息
我们的话,就可以这样去对这个脚本进行去查看这个脚本的相关信息和作用
然后可以看见它这里给出了对应的ip地址,但是并没有发现物理地址
2) 、nmap获取whois信息
使用nmap中获取whois-ip脚本信息
nmap --script-help whois-ip
3)、nmap获取robots信息
使用-sV和-sC参数也是可以的
4)、nmap获取主机端口banner信息。
在对开放端口发送某些数据时,开放的端口就会返回到发送端一些banner信息。其中有可能会包含一些欢迎信息以及一些端口信息
利用nc来偶去指定端口的banner信息
比如说链接192.168.1.100的21端口,那么21端口就会返回一个220以及对应端口所运行ftp服务版本的一个banner信息
利用nmap获取主机所有开放端口banner信息命令
nmap -sV --script banner 目标
nmap获取目标主机指定端口的banner信息。
命令:nmap -sn --script banner --script-args banner.ports=端口 目标
5) 、nmap主机防护措施waf探测
获取waf的指纹
6)、Nmap获取主机的DNS记录
首先可以用dnsenum获取dns记录
7)、nmap破解dns子域名的命令
nmap --script dns-brute 目标
8)、Nmap获取主机操作系统信息
nmap通过发送对应数据包到目标机器,目标机器会返回特定数据响应包,然后nmap会根据自身的指纹库对返回的数据包进行比对,然后得出对应的结论。
命令:nmap -O 目标
Nmap -O -v 目标
9) 、Nmap获取同一个IP下的所有主机
nmap通过调用hostmap-ip2hosts脚本来获取同一ip下的所有主机
最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。
就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。