Nmap总结

基本功能

1.探测主机端口,嗅探所使用的网络服务。
2.探测一组主机是否在线。
3.推断主机所使用的操作系统,已开放端口的软件版本等详细信息。

端口状态

open: 应用程序在该端口接收 TCP 连接或者 UDP 报文。
close: 关闭的端口nmap也可访问,主机接受nmap发出的报文并做出响应,但没有应用程序在该端口监听。
filtered: 由于包过滤阻止了报文到达端口,nmap无法确定该端口是否开放。过滤可能来自于专业的防火墙设备,路由规则,或者主机上的软件防火墙。
unfiltered: 未被过滤意味着端口是可以访问的,但是nmap无法确定它是开放还是关闭的,只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。

[ACK扫描]:ACK扫描探测报文只设置ACK标志位。当扫描未被过滤的系统时, open(开放的)和closed(关闭的) 端口都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的)。

open|filtered: 无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
closed|filtered: 无法确定端口是关闭的还是被过滤的。

主机发现

目标:把一个大范围的ip网段缩小为一系列感兴趣的主机。(可用于找到一个网段中活跃的主机再进一步扫描活跃主机的开放端口操作系统等信息)

-sP Ping扫描不进行进一步操作只列出响应主机(与除了P0之外的-P*选项结合使用更加灵活)

-sP选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。
在这里插入图片描述
局域网上则会发送arp请求来判断主机是否开启
在这里插入图片描述
在这里插入图片描述

-sL 仅列出指定网络上的每台主机,不发送任何报文到目标主机。
-P0 (无ping) 默认情况下,Nmap只对正在运行的主机进行高强度的探测如端口扫描,版本探测,或者操作系统探测。用-P0禁止主机发现会使Nmap对每一个指定的目标IP地址进行所要求的扫描。
-PS (portlist)(TCP SYN Ping)

nmap会发送一个SYN置于1的TCP报文到指定端口,若端口是关闭的则会返回一个RST报文,若端口是打开的则会返回SYN/ACK报文尝试三次握手的第二步,此时运行nmap的主机会发送一个RST报文扼杀连接。 RST报文是运行Nmap的机器而不是Nmap本身响应的,因为它对收到 的SYN/ACK感到很意外。

-PA [portlist] (TCP ACK Ping)

与SYN ping很类似,区别为将ACK标志位置于1。如果目标主机开放应该会回复一个RST报文。提供SYN和ACK两种ping探测的原因是使通过防火墙的机会尽可能大。 许多管理员会配置他们的路由器或者其它简单的防火墙来封锁SYN报文

-PU通过UDP ping检测主机
-PE; -PP; -PM (ICMP Ping Types)

PE: 发送ICMP type8回声请求期待type0 回声响应来判断目标主机是否开启。不幸的是,许多主机和防火墙现在封锁这些报文,而不是按期望的那样响应。
其他的ICMP报文:时间戳(14)和地址掩码(18)查询可以分别用-PP和-PM选项发送。

-PR (ARP Ping)
当发送的ARP请求收到响应时即可判断目标主机开放。

端口扫描

-sS (TCP SYN扫描)

半开放扫描,不建立完整的TCP连接,速度比较快SYN/ACK表示端口被监听,RST表示端口关闭,未收到报文或者收到ICMP不可到达类型操作则标记为被过滤。

-sT (TCP connect()扫描)

当SYN扫描不能用时,CP Connect()扫描就是默认的TCP扫描。 当用户没有权限发送原始报文或者扫描IPv6网络时,就是这种情况。

在这里插入图片描述
在这里插入图片描述
-sU (UDP扫描)

它可以和TCP扫描如 SYN扫描 (-sS)结合使用来同时检查两种协议。
UDP扫描发送空的(没有数据)UDP报头到每个目标端口。 如果返回ICMP端口不可到达错误(类型3,代码3), 该端口是closed(关闭的)。 其它ICMP不可到达错误(类型3, 代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。 偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。 如果几次重试后还没有响应,该端口就被认为是 open|filtered(开放|被过滤的)。

-sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)

Null扫描不设置任何标志位,FIN扫描FIN标志位置于1,Xmas扫描FIN,PSH,URG均设置为1.
如果收到一个RST报文,该端口被认为是closed(关闭的),而没有响应则意味 端口是open|filtered。如果收到ICMP不可到达错误(类型 3,代号 1,2,3,9,10,或者13),该端口就被标记为被过滤的。

-sA (TCP ACK扫描)

无法确定端口是开放的还是关闭的,因为都会返回一个RST报文。它用于发现防火墙规则,是确定它们是有状态的还是无状态的,哪些端口是被过滤的。

–scanflags (定制的TCP扫描)

参数是URG, ACK,PSH, RST,SYN,and FIN的任何组合。也可以设置TCP扫描类型,Nmap如何响应。(如-sA或-sF)

-sO (IP协议扫描)

IP协议扫描可以让您确定目标机支持哪些IP协议 (TCP,ICMP,IGMP,等等)。从技术上说,这不是端口扫描 ,既然它遍历的是IP协议号而不是TCP或者UDP端口号。

端口扫描顺序

1.-p [portlist] 只扫描指定端口
2.-F 快速扫描。在nmap的nmap-services 文件中(对于-sO,是协议文件)指定您想要扫描的端口。 这比扫描所有65535个端口快得多。
3.-r 随机扫描

时间和性能

–min-rtt-timeout , --max-rtt-timeout , --initial-rtt-timeout (调整探测报文超时)
Nmap使用一个运行超时值来确定等待探测报文响应的时间,随后会放弃或重新发送探测报文。Nmap基于上一个探测报文的响应时间来计算超时值。

paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前两种模式用于IDS躲避。

  • T0 => paranoid 慢速网络扫描,串行扫描,两次扫描间隔 5 分钟。扫描速度极慢。
  • T1 => Sneky 慢速网络扫描,串行扫描,两次扫描间隔 15 秒,扫描速度较慢。
  • T2 => Polite 中速网络扫描,串行扫描,两次扫描间隔 400 毫秒,扫描速度慢。
  • T3 => Normal 中速网络扫描,并行扫描,两次扫描间隔 0 秒,扫描速度正常。
  • T4 => Aggressive 快速网络扫描,并行扫描,扫描速度较快。与max-rtt-timeout 1250 --initial-rtt-timeout 500等价。最大TCP扫描延迟为10ms。
  • T5 => insane 快速网络扫描,并行扫描,扫描速度极快。等价于 --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大TCP扫描延迟为5ms。

操作系统和服务版本检测

-A 同时开启操作系统检测和版本检测
-sV 打开版本检测
在这里插入图片描述在这里插入图片描述

–allports (不为版本探测排除任何端口)
–version-intensity (设置 版本扫描强度)

-O (启用操作系统检测)

–osscan-limit (针对指定的目标进行操作系统检测)
如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 采用这个选项,Nmap只对满足这个条件的主机进行操作系统检测,这样可以 节约时间,特别在使用-P0扫描多个主机时。这个选项仅在使用 -O或-A 进行操作系统检测时起作用。

输出

输出格式

-oN (标准输出)
-oX (XML输出)
-oG (Grep输出)
-oA (输出至所有格式)

细节和调试选项

-v (提高输出信息的详细度)
-d [level] (提高或设置调试级别)
提供比详细模式更多的信息
–packet-trace (跟踪发送和接收的报文)
要求Nmap打印发送和接收的每个报文的摘要,通常用于调试.

其他选项

-6 (启用IPv6扫描)地址为IPv6
–send-eth (使用原以太网帧发送)

要求Nmap在以太网(数据链路)层而不是IP(网络层)发送报文。默认方式下,Nmap选择最适合其运行平台的方式,原套接字(IP层)是UNIX主机最有效的方式,而以太网帧最适合Windows操作系统,因为Microsoft禁用了原套接字支持。在UNIX中,如果没有其它选择(如无以太网连接),不管是否有该选项,Nmap都使用原IP包。

–send-ip (在原IP层发送)

扫描实例

扫描一个网段的存活主机并保存至ip.txt
nmap -sP -oN ip.txt 113.54.246.230-240
在这里插入图片描述
扫描一个网段的存活主机以及开启的端口服务
nmap -sS -iL ip.txt
在这里插入图片描述
扫描详细的服务版本信息
nmap -T4 -sV 113.54.246.232
在这里插入图片描述
扫描操作系统信息
nmap -T4 -sS -O 113.54.246.232
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验三 网络信息扫描实验 一、实验目的 1、通过练习使用网络端口扫描器,可以了解目标主机开放的端口和服务程序,从而获取系统的有用信息,发现网络系统的安全漏洞。在实验中,我们将练习使用Superscan网络端口扫描工具。通过端口扫描实验,增强网络安全方面的防护意识。 2、通过使用综合扫描及安全评估工具,学习如何发现计算机系统的安全漏洞,并对漏洞进行简单分析,加深对各种网络和系统漏洞的理解。在实验中,我们将练习使用流光Fluxay5和SSS。 二、实验原理 1、网络端口扫描原理 一个开放的网络端口就是一条与计算机进行通信的信道,对网络端口的扫描可以得到目标计算机开放的服务程序、运行的系统版本信息,从而为下一步的入侵做好准备。对网络端口的扫描可以通过执行手工命令实现,但效率较低;也可以通过扫描工具实现,效率很高。扫描工具是对目标主机的安全性弱点进行扫描检测的软件。它一般具有数据分析功能,通过对端口的扫描分析,可以发现目标主机开放的端口和所提供的服务,以及相应服务软件版本和这些服务及软件的安全漏洞,从而能及时了解目标主机存在的安全隐患。 扫描工具根据作用的环境不同,可分为两种类型:网络漏洞扫描工具和主机漏洞扫描工具。主机漏洞扫描工具是指在本机运行的扫描工具,以期检测本地系统存在的安全漏洞。网络漏洞扫描工具是指通过网络检测远程目标网络和主机系统所存在漏洞的扫描工具。本实验主要针对网络漏洞扫描工具进行介绍。 1)端口的基础知识 为了了解扫描工具的工作原理,首先简单介绍一下端口的基本知识。 端口是TCP协议中所定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。套接字采用[IP地址:端口号]的形式来定义,通过套接字中不同的端口号可以区别同一台计算机上开启的不同TCP和UDP连接进程。对于两台计算机间的任一个TCP连接,一台计算机的一个[IP地址:端口]套接字会和另一台计算机的一个[IP地址:端口]套接字相对应,彼此标识着源端、目的端上数据包传输的源进程和目标进程。这样网络上传输的数据包就可以由套接字中的IP地址和端口号找到需要传输的主机和连接进程了。由此可见,端口和服务进程一一对应,通过扫描开放的端口,就可以判断出计算机中正在运行的服务进程。 TCP/UDP的端口号在0~65535范围之内,其中1024以下的端口保留给常用的网络服务。例如:21端口为FTP服务,23端口为TELNET服务,25端口为SMTP服务,80端口为HTTP服务,110端口为POP3服务等。 2)扫描的原理 扫描的方式有多种,为了理解扫描原理,需要对TCP协议简要介绍一下。 一个TCP头的数据包格式如图4-16所示。它包括6个标志位,其中: SYN用来建立连接; ACK为确认标志位,例如,当SYN=1,ACK=0表示请求连接的数据包;当SYN=1,ACK=1表示接受连接的数据包。 FIN表示发送端已经没有数据可传了,希望释放连接。 RST位用于复位错误的连接,比如收到的一个数据分段不属于该主机的任何一个连接,则向远端计算机发送一个RST=1的复位数据包,拒绝连接请求。 根据上面介绍的知识,下面我们介绍基于TCP和UDP协议的几种端口扫描方式。 1) TCP全连接扫描 TCP全连接扫描方法是利用TCP的三次握手,与目标主机建立正常的TCP连接,以判断指定端口是否开放。这种方法的缺点是非常容易被记录或者被检测出来。 2)TCP SYN扫描 本地主机向目标主机发送SYN数据段,如果远端目标主机端口开放,则回应SYN=1,ACK=1,此时本地主机发送RST给目标主机,拒绝连接。如果远端目标主机端口未开放,则会回应RST给本地主机。由此可知,根据回应的数据段可判断目标主机的端口是否开放。由于TCP SYN扫描没有建立TCP正常连接,所以降低了被发现的可能,同时提高了扫描性能。 3)TCP FIN扫描 本地主机向目标主机发送FIN=1,如果远端目标主机端口开放,则丢弃此包,不回应;如果远端目标主机端口未开放,则返回一个RST包。FIN扫描通过发送FIN的反馈判断远端目标主机的端口是否开放。由于这种扫描方法没有涉及TCP的正常连接,所以使扫描更隐秘,也称为秘密扫描。这种方法通常适用于UNIX操作系统主机,但有的操作系统(如Windows NT)不管端口是否打开,都回复RST,这时这种方法就不适用了。 4)UDP ICMP扫描 这种方法利用了UDP协议,当向目标主机的一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACHABLE错误,这样就会发现关闭的端口。 5)ICMP 扫描 这种扫描方法利用了ICMP协议的功能,如果向目标主机发送一个协议项存在错误的IP数据包,则根据反馈的ICMP错误报文,判断目标主机使用的服务。 6)间接扫

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值