nmap扫描工具实验报告,nmap端口扫描主要包括哪几种类型

  

  Nmap是一个非常有用的网络扫描和主机检测工具。Nmap不仅仅限于收集信息和枚举,还可以用作漏洞检测器或安全扫描器。可以适用于winodws、linux、mac等操作系统。Nmap是一个非常强大的工具,可用于:   

  

  检测网络上的主机(主机发现)   

  

  检测主机上打开的端口(端口发现或枚举)   

  

  检测相应端口的软件和版本(服务发现)   

  

  检查操作系统、硬件地址和软件版本。   

  

  漏洞检测(Nmap脚本)   

  

  Nmap是一个非常流行的工具,它有一个命令行界面和一个图形用户界面。本文包括以下内容3360。   

  

  介绍Nmap   

  

  扫描中的重要参数   

  

  操作系统检测   

  

  Nmap使用教程   

  

  Nmap使用不同的技术来执行扫描,包括:TCP connect()扫描、TCP反向识别扫描、FTP反弹扫描等。所有这些类型的扫描都有各自的优点和缺点,我们将在下面讨论。   

  

  Nmap的使用取决于目标主机,因为简单(基本)扫描和预扫描之间存在差异。我们需要使用一些先进的技术来绕过防火墙和入侵检测/预防系统,以获得正确的结果。以下是一些基本命令及其用法示例:   

  

  使用以下命令扫描单个主机:   

  

  #nmap cnblogs.com   

  

  #nmap 192.168.1.2   

  

  使用以下命令扫描整个子网:3360   

  

  #nmap 192.168.1.1/24   

  

  使用以下命令扫描多个目标:   

  

  #nmap 192.168.1.2 192.168.1.5   

  

  扫描一系列目标,如下所示:   

  

  扫描#nmap 192.168.1.1-100 (IP地址为192.168.1.1-192.168.1.100的所有主机)   

  

  如果你有一个ip地址列表,将它保存为一个txt文件,放在namp所在的目录下,扫描这个txt中的所有主机。该命令如下所示:   

  

  #nmap -iL target.txt   

  

  如果您想查看已扫描的所有主机的列表,请使用以下命令:   

  

  #nmap -sL 192.168.1.1/24   

  

  扫描除一个ip之外的所有子网主机后,命令:   

  

  #nmap 192.168.1.1/24 -exclude 192.168.1.1   

  

  命令扫描某个文件中除ip以外的子网主机   

  

  #nmap 192.168.1.1/24 -exclude file xxx.txt(XXX . txt中的文件将从扫描的主机中排除)   

  

  使用以下命令扫描特定主机上的端口80、21和23   

  

  #nmap -p80,21,23 192.168.1.1   

  

     

  

  通过以上,我们了解了Nmap的基础知识。下面我们来深入探讨一下Nmap的扫描技术。   

  

  Tcp SYN Scan (sS)   

  

  这是一种基本的扫描方式,称之为半开扫描,因为这种技术使得Nmap无需完整的握手就能获得远程主机的信息。Nmap向远程主机发送SYN数据包,但它不会生成任何会话。因此,目标主机上不会生成日志记录,因为没有形成会话。这就是SYN扫描的优势。   

  

  如果Nmap命令中未指明扫描类型,则默认为Tcp SYN,但需要root/管理员权限。   

  

  #nmap -sS 192.168.1.1   

  

  Tcp connect() scan(sT)   

  

  如果未选择SYN扫描,则Tcp connect()扫描是默认的扫描模式。与Tcp SYN扫描不同,TCP connect()扫描需要完成三次握手,需要调用系统的connect()。Tcp connect()扫描技术只适合查找Tcp和UDP端口。   

  

  #nmap -sT 192.168.1.1   

  

  Udp scan(sU)   

  

  顾名思义,这种扫描技术用于查找目标主机打开的UDP端口。它不需要发送任何SYN包,因为这种技术是针对UDP端口的。UDP扫描向目标主机发送UDP数据包,并等待响应。如果返回ICMP不可达错误消息,则端口关闭。如果接收到正确且适当的响应,则端口打开。   

  

  #n   

map -sU 192.168.1.1

  

FIN scan (sF)

  

有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.

  

root@bt:~# nmap -sF 192.168.1.8

  

Starting Nmap 5.51 at 2012-07-08 19:21 PKT

  

Nmap scan report for 192.168.1.8

  

Host is up (0.000026s latency).

  

Not shown: 999 closed ports

  

PORT STATE SERVICE

  

111/tcp open|filtered rpcbind

  

FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.

  

PING Scan (sP)

  

PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.

  

#nmap -sP 192.168.1.1

  

版本检测(sV)

  

版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口.

  

#nmap -sV 192.168.1.1

  

Idle scan (sL)

  

Idle scan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包.

  

#nmap -sL 192.168.1.6 192.168.1.1

  

Idle scan是一种理想的匿名扫描技术,通过目标网络中的192.168.1.6向主机192.168.1.1发送数据,来获取192.168.1.1开放的端口

  

有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描), IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式.

  

Nmap的OS检测(O)

  

Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。 Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

  

Initiating SYN Stealth Scan at 10:21
Scanning localhost (www.nxadmin.com) <1000 ports>
Discovered open port 111/tcp on www.nxadmin.com
Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)
Initiating OS detection (try #1) against localhost (www.nxadmin.com)
Retrying OS detection (try #2) against localhost (www.nxadmin.com)

  

上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程操作系统。操作系统检测参数是O(大写O)

  

  

Nmap的操作系统指纹识别技术:

  

设备类型(路由器,工作组等)
运行(运行的操作系统)
操作系统的详细信息(操作系统的名称和版本)
网络距离(目标和攻击者之间的距离跳)

  

如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。

  

# nmap -O -PN 192.168.1.1/24

  

以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.

  

Nmap的操作系统检测的基础是有开放和关闭的端口,如果OS scan无法检测到至少一个开放或者关闭的端口,会返回以下错误:

  

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

  

OS Scan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口.

  

  

这种情况是非常不理想的,应该是远程主机做了针对操作系统检测的防范。如果Nmap不能检测到远程操作系统类型,那么就没有必要使用-osscan_limit检测。

  

  

想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项, –osscan-guess 猜测认为最接近目标的匹配操作系统类型。

  

# nmap -O –osscan-guess 192.168.1.1

  

总结

  

Nmap是一个非常强大的工具,它具有覆盖渗透测试的第一方面的能力,其中包括信息的收集和统计。本文从初级到高级的讲解了Nmap入侵扫描工具的使用.希望对大家有所帮助.

相关文章