Nmap详解--如何运用到实际工作中及如何灵活使用

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

Nmap特点如下

  1. 主机探测:探测网络上的主机,如列出TCP和ICMP请求,ICMP请求,开放特别端口的主机
  2. 端口扫描:探测目标主机所开放的所有端口
  3. 版本检测:探测目标主机的网络服务,判断其服务名称及版本号
  4. 系统检测:探测目标主机的操作系统及网络设备的硬件特性
  5. 支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和lua语言

Nmap的优点: 

灵活:支持数十种不同的扫描方式,支持多种目标对象的扫描
强大:Nmap可以用于扫描互联网上大规模的计算机
可移植:支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
简单:提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip
自由:Nmap作为开源软件,在GPL License的范围内可以自由的使用
文档丰富:Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍
社区支持:Nmap背后有强大的社区团队支持

Nmap入门

设置扫描目标时用到的相关参数:

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

-iR:随机选择目标主机

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

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

主机发现方法相关的参数:

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

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

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

-PS/PA/PU/PY[portlist]:使用TCP SYN/ACK或SCTP INTE/ECHO方式来发现

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

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

-n/-R:-n表示不进行DNS解析,-R表示总是进行DNS解析

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

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

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

常见的端口扫描方法及相关参数

-sS/sT/sA/sW/sM:指定使用TCP SYN/Connetc()/ACK/Window/Maimon scans的方式对目标机器进行扫描

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

-sN/-sF/-sX:指定使用TCP Null/FIN/Xmas scans秘密扫描的方式协助探测对方的TCP端口状态

-scanflags<flags>:定制TCP包的flags

-sI<zombie host[:probeport]>:指定使用Idle scan的方式扫描目标主机(前提是需要找到核实的zombie host)

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

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

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

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

-p<port rangs>:扫描指定的端口

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

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

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

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

-sV:指定让Nmap进行版本侦测

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

--version-light:指定使用轻量级侦测方式(intensity2)

--version-all:尝试使用所有的probes进行侦测(intensity9)

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

基本的扫描命令格式为:

nmap+扫描参数+目标地址或网段

例如:nmap -T4 -A -v IP

-A:表示使用进攻性方式扫描(Aggressive)

-T4:表示指定扫描过程使用的时序(Timing),共有6个级别,级别越高扫描速度越快,但越容易被防火墙或者IDS检测并屏蔽掉,在网络通信状况良好的情况下推荐使用T4

-v表示显示冗余(version)信息,显示扫描的细节

常用方法:

扫描单个目标:nmap192.168.0.100

扫描多个目标:nmap 192.168.0.100 192.168.0.200

扫描一个范围内的目标:nmap 192.168.0.100-192.168.0.110

扫描目标地址所在的某个网段:nmap 192.168.0.100/24(以c段为例,如果目标是一个网段,则可以通过添加子网掩码的方式扫描,该例子表示扫描的范围是192.168.0.1~192.168.0.255)

扫描文本内的所有目标地址:nmap  -iL 文本名或路径

扫描除某一个目标地址之外的所有目标地址:nmap 192.168.0.100/24 -exclude 192.168.0.105

扫描除某一文件中的目标地址之外的目标地址:nmap 192.168.0.100/24 -excludefile 文件名或路径

扫描某一目标地址21,22,23,80端口:nmap 192.168.0.100 -p 21,22,23,80

对目标地址进行路由跟踪:nmap --traceroute 192.168.0.100

扫描目标地址所在C段的在线状况:nmap -sP 192.168.0.100

目标地址操作系统的指纹识别:nmap -O 192.168.0.100

目标地址提供的服务版本检测:nmap -sV 192.168.0.100

探测防火墙状态:nmap -sF -T4 192.168.0.100

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

open:端口是开放的。
closed:端口是关闭的。
filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
open|filtered:端口是开放的或被屏蔽。
closed|filtered :端口是关闭的或被屏蔽

推荐博客:

Nmap详解

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值