Web安全第 04 讲:诸神之眼nmap

一、基本操作

1.1、基本快速扫描

nmap默认发送一个arp的ping数据包,来探测目标主机在1-10000范围内所开发的端口。

命令:nmap 10.211.55.8

1.2、快速扫描多个目标

nmap <target ip1 address> <target ip2 address>

命令:nmap 10.211.55.6 10.211.55.15

1.3、详细描述输出扫描

      简单扫描,并对放回的结果详细输出,这个扫描是可以看到扫描过程的,漫长的扫描过程中可以看到百分比,就不会显得那么枯燥,而且可以提升逼格。

命令:nmap -vv 10.211..55.6

1.4、指定端口和范围扫描

      nmap默认扫描目标1-10000范围内的端口号。我们则可以通过参数 **-p**来设置我们将要扫描的端口号。

nmap -p (range) <target IP>

命令:nmap -p 3306,3389,20-200 10.211..55.6

1.5、扫描除了某一个ip以外的所有子网主机

命令:nmap 10.211.55.1/24 -exclude 10.211.55.15

 

扫描除过某一个文件中的ip外的子网主机

命令:nmap 10.211.55.1/24 -exclude gov.txt

1.6、扫描指定主机的所有子网主机列表

命令:nmap -sL 10.211.55.1/24

 

1.7、内网主机发现sP扫描

      nmap可以利用类似windows/linux系统下的ping方式进行扫描,ping扫描不同于其他扫描形式,因为他只用于找出主机是否是存在于网络中,而不是用来发现是否已经开放端口,ping扫描需要root权限,如果用户没有root权限,ping扫描将会使用connect()调用。

示例:nmap -sP <target ip>

命令:nmap -sP 10.211.55.6

      一般来说,我们会用这个命令去扫描内网的一个ip范围,用来做内网的主机发现

命令:nmap -sP 10.211.55.1-255

 

1.8、半开放扫描sS SYN

      TCP SYN(sS)是一种基本的扫描方式,它被称为半开放扫描,因为这种技术使得nmap不需要通过完整的握手就能获得远程主机的信息。

      nmap发送SYN包到远程主机,但是他不会产生任何会话,因此不会在目标主机上产生任何日志记录,因为没有形成会话。这就是SYN扫描的优势。

      如果nmap命令中没有指定扫描类型,默认就是使用TCP SYN,但是他需要root/administrator权限。

命令:nmap -sS 10.211.55.6

 1.9、TCP connect()扫描 sT

      不同于TCP SYN扫描,TCP connect()扫描需要3次握手,并且要求调用系统的connect()。

      TCP connect()扫描技术只适用于找出TCP和UDP端口。

命令:nmap -sT 10.211.55.6

1.10、UDP扫描 sU

      这种扫描技术用来寻找目标主机打开的UDP端口。

      他不需要发送任何SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当回应,说明端口是开放的。

命令:nmap -sU 10.211.55.6

1.11、版本检测扫描sV

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

命令:nmap -sV 10.211.55.6

1.12、操作系统类型的探测

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

命令:nmap -O 10.211.55.6

 1.13、猜测匹配操作系统osscan-guess

      通过nmap准确的检测到远程操作系统是比较困难的,需要使用nmap的猜测选项,猜测认为最接近目标的匹配操作系统类型。

命令:nmap -O --osscan-guess 10.211.55.6

1.14、No Ping扫描

      如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求,-PN命令nmap不用ping远程主机。使用-PN参数可以绕过ping命令,但是不影响主机系统的发现。

命令:nmap -O -PN 10.211.55.6

1.15、设置时间模板

      优化时间控制选项的功能很强大也很有效。nmap提供了一些简单的方法,使用6个时间模板,使用时采用-T选项及数字(0-5)或名称。

      模板有paranoid(0)、sneaky(1)、polite(2)、normal(3)、aggressive(4)和insane(5)

  1. paranoid、sneaky模式:用于IDS躲避
  2. polite模式:降低了扫描速度以使用更少的带宽和目标主机的资源
  3. normal模式:为默认模式
  4. aggressive模式:如果用户具有合适以及可靠的网络,可以加速扫描
  5. insane模式:如果用户具有特别快的网络,或者愿意为获得速度而牺牲准确性

nmap -sS -T<0-5> 10.211.55.6

命令:nmap -sS -T5 10.211.55.6

1.16、网段扫描

nmap -sP <network address></CIDR>

解释:CIDR为你设置的子网掩码(/24,/16,/8等)

#c段扫描:10.1.1.0/24 = 10.1.1.1-10.1.1.255

#b段扫描:10.1.1.0/16 =10.1.1.1-10.1.255.255

#a段扫描:10.1.1.0/8 =10.1.1.1-10.255.255.255

1.17、从文件中读取要扫描的IP列表

命令:nmap -iL ip-address.txt

1.18、路由跟踪扫描

      路由跟踪功能可以帮助网络管理员了解网络通行情况,同时也是网络管理员很好的辅助工具!通过路由跟踪可以轻松查出从我们电脑所在地到目标地之间所经过的网络节点,并可以看到通过各个节点所花费的时间

命令:nmap -traceroute www.baidu.com

 1.19、综合扫描

结合了OS识别、版本探测、脚本扫描和traceroute综合扫描,-A选项包含了1-10000端口的ping扫描

命令:nmap -A 10.211.55.6

 1.20、命令混合是扫描

可以做到和-A所完成的功能,但又能细化到我们所需要的特殊要求。所以一般高手选择这个混合扫描。这些参数都是可以灵活调用的,具体根据实际情况选择合适的参数。

命令:nmap -vv -p 1-100,3306,3389 -O -traceroute 10.211-55.6

1.21、输出格式

-o参数可以将扫描的结果输出到屏幕,同时会存储一份到文件

命令:nmap -o 10.211.55.6 result.txt

 二、nmap高级用法之脚本的使用

 

Guess you like

Origin blog.csdn.net/qzc70919700/article/details/122263093
04