引用于
nmap功能介绍
1.主机存活检测
2.端口探测
3.服务识别
4.操作系统识别
5.硬件地址检测
6.服务版本识别
7.漏洞扫描,使用nmap自带脚本
简单示例
使用ping检测10.0.0.0/24这个网段
操作系统扫描
使用SYN的方法对全端口进行扫描,在aggressive(4)的时间模板下,同时对开放的端口进行端口识别
| 1
 | nmap -p1-65535 -sV -sS -T4 target 
 | 
targeto为目标ip
-T代表的是扫描的时候,一些控制选项(TCP的延迟时间,探测报文之间的间隔等)的集合,具体的man nmap一下就知道了
使用SYN扫描,在aggressive(4)的时间模板下,探测操作系统的类型和版本,还有显示traceroute的结果,结果输出较为详细
| 1
 | nmap -v -sS -A -T4 target 
 | 
使用SYN扫描,在insane(5)的时间模板下,探测操作系统的类型和版本,还有显示traceroute的结果,结果输出较为详细
| 1
 | nmap -v -sS -A -T5 target 
 | 
使用SYN扫描,在insane(5)的时间模板下,探测操作系统的类型,还有显示traceroute的结果,操作系统的类型,结果输出较为详细
| 1
 | nmap -v -sV -O -sS -T5 target 
 | 
使用SYN的方法对全端口进行扫描,同时对开放的端口进行端口识别,在aggressive(4)的时间模板下,探测操作系统的类型还有显示traceroute的结果,结果输出较为详细
| 1
 | nmap -v -p 1-65535 -sV -O -sS -T4 target 
 | 
用SYN的方法对全端口进行扫描,同时对开放的端口进行端口识别,在insane(5)的时间模板下,探测操作系统的类型,还有显示traceroute的结果,结果输出较为详细
| 1
 | nmap -v -p 1-65535 -sV -O -sS -T5 target
 | 
从文件中读取需要扫描的IP列表
Nmap输出格式
扫描的结果输出到屏幕,同时会存储一份到grep-output.txt
| 1
 | nmap -sV -p 139,445 -oG grep-output.txt 10.0.1.0/24 
 | 
扫描结果输出为html
-oN	标准保存
-oX	XML保存
-oG	Grep保存
-oA	保存到所有格式
-append-output	补充保存文件
Nmap扫描Netbios
在子网中发现开放netbios的IP
| 1
 | nmap -sV -v -p139,445 10.0.0.1/24 
 | 
扫描指定netbios的名称
| 1
 | nmap -sU --script nbstat.nse -p 137 target 
 | 
Nmap参数详解
Nmap支持主机名,ip,网段的表示方式
| 12
 3
 4
 
 | -iL filename                    从文件中读取待检测的目标,文件中的表示方法支持机名,ip,网段-iR hostnum                     随机选取,进行扫描.如果-iR指定为0,则是无休止的扫描
 --exclude host1[, host2]        从扫描任务中需要排除的主机
 --exculdefile exclude_file      排除文件中的IP,格式和-iL指定扫描文件的格式相同
 
 | 
主机发现
| 12
 3
 4
 5
 6
 7
 
 | -sL                     仅仅是显示,扫描的IP数目,不会进行任何扫描-sn                     ping扫描,即主机发现
 -Pn                     不检测主机存活
 -PS/PA/PU/PY[portlist]  TCP SYN Ping/TCP ACK Ping/UDP Ping发现
 -PE/PP/PM               使用ICMP echo, timestamp and netmask 请求包发现主机
 -PO[prococol list]      使用IP协议包探测对方主机是否开启
 -n/-R                   不对IP进行域名反向解析/为所有的IP都进行域名的反响解析
 
 | 
指定端口和扫描顺序
| 12
 3
 4
 5
 6
 
 | -p                      特定的端口 -p80,443 或者 -p1-65535-p U:PORT               扫描udp的某个端口, -p U:53
 -F                      快速扫描模式,比默认的扫描端口还少
 -r                      不随机扫描端口,默认是随机扫描的
 --top-ports "number"    扫描开放概率最高的number个端口,出现的概率需要参考nmap-services文件,ubuntu中该文件位于/usr/share/nmap.nmap默认扫前1000个
 --port-ratio "ratio"    扫描指定频率以上的端口
 
 | 
服务版本识别
| 12
 3
 4
 5
 
 | -sV                             开放版本探测,可以直接使用-A同时打开操作系统探测和版本探测--version-intensity "level"     设置版本扫描强度,强度水平说明了应该使用哪些探测报文。数值越高,服务越有可能被正确识别。默认是7
 --version-light                 打开轻量级模式,为--version-intensity 2的别名
 --version-all                   尝试所有探测,为--version-intensity 9的别名
 --version-trace                 显示出详细的版本侦测过程信息
 
 | 
Nmap 输出
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | -oN                     将标准输出直接写入指定的文件-oX                     输出xml文件
 -oS                     将所有的输出都改为大写
 -oG                     输出便于通过bash或者perl处理的格式,非xml
 -oA BASENAME            可将扫描结果以标准格式、XML格式和Grep格式一次性输出
 -v                      提高输出信息的详细度
 -d level                设置debug级别,最高是9
 --reason                显示端口处于带确认状态的原因
 --open                  只输出端口状态为open的端口
 --packet-trace          显示所有发送或者接收到的数据包
 --iflist                显示路由信息和接口,便于调试
 --log-errors            把日志等级为errors/warings的日志输出
 --append-output         追加到指定的文件
 --resume FILENAME       恢复已停止的扫描
 --stylesheet PATH/URL   设置XSL样式表,转换XML输出
 --webxml                从namp.org得到XML的样式
 --no-sytlesheet         忽略XML声明的XSL样式表
 
 |