nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定 哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 的基本扫描方式
Nmap , 也就是Network Mapper , 最早是Linux 下的网络扫描和嗅探工具包。
扫描192.168.1.0这个网段:
-sn 参数说明:表示只 Ping 扫描,不进行端口扫描
指定扫描一个网段:
扫描部分网段(逗号隔开):
扫描指定IP所开放的端口:
扫描C段存活主机:
指定端口扫描:
探测主机系统:
全面的系统探测:
穿透防火墙进行扫描:
使用脚本扫描web敏感目录:
使用 nmap 进行半连接扫描
-sS 表示使用SYN进行半连接扫描
-p 指定端口,如 “1~65536 、14433、135、22、80” 等
常用参数
参 数 说 明
-v 显示扫描过程,推荐使用
-sV 探测端口服务版本
-h 帮助选项,是最清楚的帮助文档
-p 指定端口,如 “1~65536 、14433、135、22、80” 等
-O 启用远程操作系统检测,存在误报(-osscan-guess猜测认为最接近目标的匹配操作类型
-A 全面系统检测、启用脚本检测、扫描等
-iL 读取主机列表,列如,“ -iL C:ip.txt”
-sT TCP connect()扫描, 这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF -sN 秘密FIN数据、Xmas Tree 、Null扫描模式
-sU UDP扫描,但UDP扫描是不可靠的
-sA 这项高级的扫描方法通常用来穿过防火墙的规划集
-Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项扫描
-oN/-oX/-oG 将报告写入文件,分别是正常、XML、grepable 三种格式
-T4 针对TCP端口禁止动态扫描延迟超过10ms
主机发现
参 数 说 明
-sP ping 扫描
-P0 无 ping 扫描
-PS TCP SYM ping 扫描
-PA TCP ACK ping 扫描
-PU UDP ping 扫描
-PE;-PP;-PM ICMP ping Types 扫描
-PR ARP 扫描
-n 禁止 DNS 反向解析
-R 反向域名解析
–system-dns 使用系统域名解析器
-sL 列表扫描
-6 扫描 lPv6 地址
–traceroute 路由跟踪
-PY SCTP INIT ping 扫描
Ping 扫描
Ping扫描只进行ping,然后显示出在线的主机。使用该选项扫描可以轻易获取目标信息而不会被轻易发现。
在默认情况下,Nmap会发送一个ICMP回声请求和一个TCP报文到目标端口。Ping扫描的优点是不会返回太多的信息影响对结果的分析,并且扫描方式高效。
无 ping 扫描
无ping扫描通常用于防火墙禁止ping的情况下,它能确定正在运行的机器。
默认情况下,nmap只对正在运行的主机进行高强度的探测,如端口扫描,版本探测或者操作系统探测。
用-P0禁止主机发现会使nmap对每一个特定的目标IP地址进行所要求的扫描,这可以穿透防火墙,也可以避免被防火墙发现。
TCP SYM ping 扫描
通常情况下,nmap默认是使用TCP ACK 和 ICMP Echo 请求对目标进行是否存活的响应,当目标主机的防火墙阻止这些请求时,可以使用TCP SYN Ping扫描来判断主机是否存活。
-PS 选项发送一个设置了SYN标志位的空TCP报文。默认端口为80。
但不同的端口也可以作为选项指定,甚至可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80,115,3306,3389),在这种情况下,每个端口会被并发地扫描
上面结果可得知Nmap是通过SYN/ACK和RST响应来对目标主机是否存活进行判断,但在特定情况下防火墙会丢弃RST包。
TCP ACK ping 扫描
使用-PA选项可以进行TCP ACK Ping扫描,它与TCP SYN Ping扫描非常类似,区别在于设置的TCP标志位是ACK而不是SYN,使用这种方式扫描可以探测阻止SYN包或ICMP Echo请求的主机。
同时使用-SP与-PA选项命令如下:
UDP ping 扫描
使用UDP Ping扫描时Nmap会发送一个空UDP包到目标之间,如果目标主机相应则返回一个ICMP端口不可达错误,如果目标主机不是存活状态则会返回各自ICMP错误信息。
ICMP ping Types 扫描
ICMP是控制报文协议。nmap发送一个ICMP type8(回声请求)报文到目标ip地址,从运行的主机得到一个type0(回声相应)报文。
-PE选项简单的来说是通过向目标发送ICMP Echo数据包来探测目标主机是否在线,使用-PE选项打开该回声请求功能。
-PP选项是ICMP时间戳ping扫描,-PM选项可以进行icmp地址掩码ping扫描
ARP ping 扫描
-PR 通常在扫描局域网时使用,在内网的情况下,使用ARP ping扫描方式是最有效的,在本地局域网中防火墙不会禁止ARP请求,这就使得它比其他ping扫描都更加高效。
列表扫描
列表扫描时主机发现的退化形式,它仅仅列出指定网络上的每台主机,不发送任何报文到目标主机。
默认情况下,Nmap仍然对主机进行反向域名解析以获取它们的名字。
禁止 DNS 反向解析
如果单纯扫描一段IP,使用该选项可以大幅度减少目标主机的相应时间,从而更快的得到结果。
反向域名解析
使用系统域名解析器
扫描 IPv6 地址
路由跟踪
通过此选项可以轻松地查找出本地计算机到目标之间所经过的网络节点,并可以看到通过各个节点的时间。
SCTP可以看作是TCP协议的改进,它改进了TCP的一些不足,SCTP INIT Ping扫描通过向目标发送INIT包,根据目标主机的相应判断目标主机是否存活。
未完,跟新中。
raceroute -v www.baibu.com`