Kali Linux 中的Nmap扫描工具

       作为当今最顶尖的网络审计工具之一,Nmap 在国外已被大量的网络安全人员所使用,它的身影甚至出现在了很多的优秀影视作品中,其中影响力最大的要数经典巨著《黑客帝国》系列。在《黑客帝国2》中,Tritnity 就曾使用Nmap攻击SSH服务,从而破坏了发电厂的工作(攻击只是Nmap的副业,扫描才是Nmap的主要功能)。

       目前的Nmp已经具备了主机发现功能、端口扫描功能、服务及版本检测功能、操作系统检测功能。另外除了这些基本功能之外,Nmap还可以实现些高级的审计技术, 例如伪造发起扫描端的身份、进行隐蔽的扫描、规避目标的防御设备(例如防火墙)、对系统进行安全漏洞检测并提供完善的报告选项等。在后来的不断发展中,随着Nmap强大的脚本引擎NSE的推出,任何人都可以自己向Nmp中添加新的功能模块。

       如果我们使用Kimp对台计算机进行审计的话,最终可以获得如下的目标信息:

  • 目标主机是否在线
  • 目标主机所在网络的结构
  • 目标主机上开放的端口
  • 目标主机所使用的操作系统
  • 目标主机上所运行的服务以及版本
  • 目标主机上所存在的漏润

 Nmap 的基本用法


1.对单个主机的扫描

命令:nmap <目标ip>

 

在第一行中给出了Nmap的版本为7.80,扫描开始时间为2020-06-09 4:10第二行是一个标题,生成的是关于192.1681.7 主机的报告。第三行给出目标主机的状态为up (意味着这台主机是处于开机并连上了互联网的状态)。第四行表示在进行检查的1000个端口中,有985个是关闭的。

接下来是一张表,这个表中一共有3个字段,分别是PORT、STATE、SERVICE, 其中PORT指的是端口、STATE指的是状态、SERVICE指的是运行的服务。例如第一行的PORT列的值为22/TCP。STATE列的值为open,SERVICE列的值为ssh,完整的含义就是nmap发现目标计算机上的22号端口目前处于开放状态,这个端口提供着ssh服务。


2.对连续范围的主机扫描

命令:nmap -sn <ip地址范围>

可以输入以上的命令来选择扫描从192.168.1.7-192.168.1.255的主机,这里面为了保证速度,我使用了-sn参数,这个参数的意义是只扫描是否在线,不扫描端口。在这里可以看到通过这次扫描,在这个子网中共有11台设备。另外为了节约扫描时间,所以使用了-sn参数。

 


3.对整个子网进行扫描

命令:nmap -sn <ip地址/掩码位数>

如果要扫描192.168.1.1-192.168.1.255整个子网范围的话,还可以使用以上命令。扫描结果是4台主机存活在线。


 

4.扫描全部端口

命令:nmap -p "*" <ip地址>

 

扫描结果是端口全部关闭。

若是有端口开放就是以下画面:


5.扫描指定端口

命令:nmap -p <端口号ip地址>

结果是此主机的80号端口是关闭状态。


小结

我们以nmap作为工具,介绍了几种主动扫描的方法。nmap功能极为强大,提供了数十种的扫描技术。这些功能极为强大而实用,作为和Metasploit相并列的渗透行业两大神器之一,要描述nmap的强大功能需要大量的篇幅,如果希望能够深入了解nmap,可以参考《诸神之眼——nmap 网络安全审计技术揭秘》。

 

——内容来源:《Kali Linux2 网络渗透测试实践指南(人民邮电出版社)》