概念

Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
功能
主机发现:向目标计算机发送信息,然后根据目标的反应来确定它是否处于开机并连网状态。端口扫描:目标计算机的指定端口发出信息,然后根据目标端口的反应来判断它手否开放服务及版本检测:向目标计算机发出特制的信息,根据目标信息的反应来检测它运行服务的服务类型及版本。操作系统检测。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
nmap -sP x.x.x.x/24
仅列出指定网络上的每台主机,不发送任何报文到目标主机:
nmap -sL x.x.x.x/24
探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):
nmap -PU x.x.x.x/24
使用UDP ping探测主机:
nmap -PU x.x.x.x/24
使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:
nmap -sS x.x.x.x/24
端口state解析说明: –open 端口属于开放状态 –closed 端口属于关闭状态 –filtered 端口处于过滤状态,无法收到数据包,返回probe状态 –open/unfiltered 端口属于开放状态或者是未过滤状态 –closed/unfiLtered 端口属于关闭/1状态或者是未过滤状态
基本参数
-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 追踪每台主机的跳转路径
简单使用案例
获取主机地理位置
想获取到该服务器和主机在哪里,还有对应地址的一些信息,nmap通过对google地图api调用,利用谷歌进行ip地址获取对应的地理信息的操作
nmap获取whois信息
使用nmap中获取whois-ip脚本信息
nmap获取robots信息
nmap主机防护措施waf探测
获取waf的指纹
nmap破解dns子域名的命令
Nmap识别服务指纹
局域网中的主机
nmap -sP CIDR
-sP 仅仅ping扫描
-sL 列表扫描
-sS TCP SYN扫描 执行快 不完成TCP连接 很少被记录日志 但需要ROOT权限
-sA TCP ACK扫描
-sT 完成TCP连接
-sU UDP扫描
-sV 探测版本
namp -sn CIDR (-oX test.xml输出到文件)
-sn 只进行主机发现,不进行端口扫描
端口探测技巧
指定端口 nmap -p80,135 ip / nmap -p 1-100 ip / nmap -p- ip(全端口)
NSE脚本使用
更新 nmap --script-updatedb
nmap --script
存储在/usr/share/nmap/script
nmap --script http-title ip
nmap --script http-headers ip
漏洞分类脚本 nmap -sV --script vuln ip
路由跟踪


还没有评论,来说两句吧...