nmap的命令详解
nmap的介绍
Nmap(网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:
- 列举网络主机清单
- 管理服务升级调度
- 监控主机
- 服务运行状况
以上简介来源维基百科
基础知识
CIDR(无类别域间路由,Classless Inter-Domain Routing)
查看本机ip
ifconfig
ipv4地址为:10.0.0.11 子网掩码为 0xffffff00 即转换后为 255.255.255.0
得出网络地址为10.0.0.0 主机号为11
在该网络地址中,256个主机
用CIDR可表示为:10.0.0.11/24
其中/24为子网掩码的位数:
A类IP地址的默认子网掩码为255.0.0.0(由于255相当于二进制的8位1,所以也缩写成“/8”,表示网络号占了8位); 即11111111.00000000.00000000.00000000B类的为255.255.0.0(/16) 即11111111.11111111.00000000.00000000
C类的为255.255.255.0(/24) 即11111111.11111111.11111111.00000000
/30就是255.255.255.252 即11111111.11111111.11111111.11111100
/32就是255.255.255.255. 即11111111.11111111.11111111.11111111
nmap指令介绍及使用
-sL
该命令仅仅列出指定网络上的每台主机的,不会向目标主机发送任何报文。端口扫描、操作系统探测或者ping扫描,在该命令下不会被执行。扫描10.0.0.11/24
nmap -sL 10.0.0.11/24
-sP(Ping扫描)
该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。
选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。
nmap -sP 10.0.0.11/24
-P0(无ping)
用-P0选项会使Nmap对每一个指定的目标IP地址进行所要求的扫描。所以如果在命令行指定一个B类目标地址空间(/16), 所有 65,536个IP地址都会被扫描。
即扫描ip下所有端口
-PS [portlist] (TCP SYN Ping)
该选项发送一个设置了SYN标志位的空TCP报文。 默认目的端口为80 (可以通过改变nmap.h) 文件中的DEFAULT-TCP-PROBE-PORT值进行配置,但不同的端口也可以作为选项指
定。甚至可以指定一个以逗号分隔的端口列表(如 -PS22,23,25,80,113,1050,35000),在这种情况下,每个端口会被并发地扫描。可以扫描特定端口
-PA [portlist] (TCP ACK Ping)
TCP ACK ping和刚才讨论的-PS参数类似。不过选择-PA向目标发送的是ACK标志位而不是SYN。如果客户端向目标主机知识发送一个标志位为ACK的数据包,那么服务器就有理由认为这个数据包出问题,并回复一个RST的报文。
-PU [portlist] (UDP ping)
发送一个空的的 UDP报文到给定的端口(默认是31338)。如果目标主机的端口是关闭的话,UDP探测马上得到一个ICMP端口无法达到的回应报文。
这时,说明目标主机开启。而出现例如:TTL超时则表示该主机未开启。同时,这种方式可以绕过过滤以TCP方式探测的包。
可以以udp扫描特定端口或者全部端口,很快
-PE;-PP;-PM(ICMP Ping Types)
-PE:Nmap发送一个ICMP type 8 (回声请求)报文到目标IP地址, 期待从运行的主机得到一个type 0 (回声响应)报文。-PE用于打开该回声请求功能。
-PP、-PM:时间戳和地址掩码查询。
-PR(ARP Ping)
基于 RFC1918私有地址范围的网络,在一个给定的时间绝大部分 IP地址都是不使用的。当Nmap试图发送一个原始IP报文如ICMP回声请求时, 操作系统必须确定对应于目标IP的硬件 地址(ARP),这样它才能把以太帧送往正确的地址。
-n (不用域名解析)