nmap使用方法详解(一)

 

  Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap以新
颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤
器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息, 管理服务升级计划,以及
监视主机和服务的运行。

0x01 基础知识

1.CIDR(无类别域间路由,Classless Inter-Domain Routing)

查看本机的IP地址

ip地址:192.168.43.200  子网掩码:255.255.255.0

由以上信息可知,网络地址为:192.168.43.0 主机号为:200

在该网络地址中,256个主机

用CIDR可表示为:192.168.43.200/24

其中网络前缀为前24位,主机号仍然是200,表示该网络前缀下的第200个主机

0x02 主机发现

主机发现:发现主机是否可以连通!

实验环境:

局域网内,本机ip为:192.168.43.211;win10:192.168.43.200;xp:192.168.43.166;

1.-sL(列表扫描)

该命令仅仅列出指定网络上的每台主机的,不会向目标主机发送任何报文。端口扫描、操作系统探测或者ping扫描,在该命令下不会被执行。

扫描一下在192.168.43.200/24

在上图中,当主机存活时

会将其标识出来。

2.-sP(Ping扫描)

该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。

选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。

3.-P0(无ping)

用-P0选项会使Nmap对每一个指定的目标IP地址进行所要求的扫描。所以如果在命令行指定一个B类目标地址空间(/16), 所有 65,536个IP地址都会被扫描。

4.-PS [portlist] (TCP SYN Ping)

该选项发送一个设置了SYN标志位的空TCP报文。 默认目的端口为80 (可以通过改变nmap.h) 文件中的DEFAULT-TCP-PROBE-PORT值进行配置,但不同的端口也可以作为选项指
定。甚至可以指定一个以逗号分隔的端口列表(如 -PS22,23,25,80,113,1050,35000),在这种情况下,每个端口会被并发地扫描。

5.-PA [portlist] (TCP ACK Ping)

TCP ACK ping和刚才讨论的-PS参数类似。不过选择-PA向目标发送的是ACK标志位而不是SYN。如果客户端向目标主机知识发送一个标志位为ACK的数据包,那么服务器就有理由认为这个数据包出问题,并回复一个RST的报文。

 

6.-PU[portlist](UDP ping)

发送一个空的的 UDP报文到给定的端口(默认是31338)。如果目标主机的端口是关闭的话,UDP探测马上得到一个ICMP端口无法达到的回应报文。

这时,说明目标主机开启。而出现例如:TTL超时则表示该主机未开启。同时,这种方式可以绕过过滤以TCP方式探测的包。

7.-PE;-PP;-PM(ICMP Ping Types)

-PE:Nmap发送一个ICMP type 8 (回声请求)报文到目标IP地址, 期待从运行的主机得到一个type 0 (回声响应)报文。-PE用于打开该回声请求功能。

-PP、-PM:时间戳和地址掩码查询。

 

在本次扫描中,三个命令几乎没有任何区别。

 8.-PR(ARP Ping)

基于 RFC1918私有地址范围的网络,在一个给定的时间绝大部分 IP地址都是不使用的。当Nmap试图发送一个原始IP报文如ICMP回声请求时, 操作系统必须确定对应于目标IP的硬件 地址(ARP),这样它才能把以太帧送往正确的地址。

9.-n (不用域名解析)

10.-R (为所有目标解析域名)

11.--system-dns (使用系统域名解析器)

 

 

 

 

 

 

 

 

posted @ 2019-01-01 23:10  justn0w  阅读(20027)  评论(0编辑  收藏  举报