“诸神之眼”——Nmap端口扫描工具使用小手册
通常情况下,这四个基本功能按顺序进行探测:首先需要进行主机发现,随后确定端口状况,然后确定端口上运行具体应用程序与版本信息,然后可以进行操作系统的侦测。
而在四项基本功能的基础上,Nmap提供“防火墙与入侵检测系统”的规避技巧,可以综合应用到四个基本功能的各个阶段。
另外Nmap提供强大的NSE脚本引擎功能。
1.3.Nmap优点
- 灵活:支持数十种不同的扫描方式,支持多种目标对象的扫描
- 强大:Nmap可以用于扫描互联 上大规模的计算机
- 可移植:支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
- 简单:提供默认的操作能覆盖大部分功能
5.自由:Nmap作为开源软件,在GPL License的范围内可以自由的使用
- 区支持:Nmap背后有强大的 区团队支持
- 流行:目前Nmap已经被成千上万的安全专家列为必备的工具之一
2.Nmap安装
2.1.Windows下Nmap下载:(kali系统已自带Nmap)
- 首先从 站上面下载nmap的安装包:https://nmap.org/(官 )
- 选择下载windows 二进制的
- 下载回来,双击即可弹出软件的安装界面
- 刚打开的界面可以选择安装上哪些功能,如果没有特别的需求,默认即可
- 选择软件安装的位置,根据个人磁盘情况而定
- 继续安装并提示相关的软件依赖包的关联,一路默认即可
- 安装完成后的快捷方式以及提示已经完成安装
- 点击桌面的快捷方式Zenmap即可启动nmap安全扫描工具了。
如有不懂可参考此 站:
https://jingyan.baidu.com/article/5bbb5a1b1e0a7713eba179cb.html
2.2.Zenmap——Nmap的图形化界面
- Zenmap是用Python开发的Nmap图形化界面,通常随Nmap的安装包发布,开源免费,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac
OS等)。Zenmap旨在为nmap提供更加简单的操作方式。
a) 没有下载winpcap驱动程序,或者没有更新到最新版本,或者驱动版本与系统不兼容
b) Win10运行Nmap时如果弹出如下图中的弹窗,要点击否,才能运行Nmap
3.1.2.主机探测用法
3.1.3.使用演示
3.2.端口扫描
端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。
默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。
Nmap通过探测将端口划分为6个状态:
3.2.1.端口扫描原理
3.2.1.1.TCP connect scanning
使用TCP连接扫描,对目标主机所有端口进行完整的三次握手,如果成功建立连接则端口是开放的
TCP connect探测到端口关闭:
3.2.1.2.TCP SYN scanning
使用半开连接(SYN stealth)扫描,使用SYN标记位的数据包进行端口探测,收到SYN/ACK包则 端口是开放的,收到RST/ACK包则端口是关闭的。
TCP SYN探测到端口关闭:
3.2.1.3.TCP ACK scanning
TCP ACK扫描使用ACK标志位数据包,若目标主机回复RST数据包,则目标端口没有被过滤(用于发现防火墙的过滤规则)。
TCP ACK探测到端口被屏蔽:
3.2.1.4.TCP FIN/Xmas/NULL scanning
- TCP FIN扫描只设置FIN标志位。若返回RST数据包则端口是关闭的,否则端口是打开|过滤状态。
- TCP XMAS扫描设置FIN、PSH、URG标志位,若返回RST数据包则端口是关闭的,否则端口是打 开|过滤状态。
3.2.1.5.UDP scanning
使用UDP数据包经行扫描,返回UDP 文,则端口是开放的;返回不可达则端口处于关闭或过 滤状态
UDP端口关闭:
Nmap目标端口选项:
Nmap输出选项:
3.2.3.端口扫描演示
- 向目标的open和closed端口分别发送经过精心设计的TCP/UDP/ICMP数据包,Nmap会根据返回的数据包生成一份系统指纹。
- Nmap在文件nmap-os-db文件中包含了2600多已知系统的指纹特征,将探测生成的指纹与内部指纹进行对比,查找匹配的系统。但识别不是万能的,有时无法匹配,这就导致无法正确识别。
- Nmap不仅用于端口扫描、服务检测等,Nmap还有强大的脚本引擎——NSE脚本引擎(Nmap Scripting
Engine),是Nmap最强大最灵活的功能之一,允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能。 - 分片 将可疑探测包分成多个处理,某些简单防火墙为了快速处理可能不会进行重组检查
- IP诱骗 将真实IP地址与其他主机IP(必须存活)地址混合使用,让防火墙或IDS检查到大量不同IP数据包,降低被追踪的概率
- IP伪装 伪装成其他主机IP地址
- 指定源端口 某些目标主机只允许来自特定端口的数据包通过防火墙,可以指定Nmap将发送的数据包的源端口都设置特定的端口
- 扫描延时 某些防火墙针对发送过于频繁的数据包会进行严格的侦查,而且某些系统限制错误 文产生的频率,定制该情况下发包的频率和发包延时可以降低目标主机的审查强度、节省 络带宽
- 其他技术 指定使用某个 络接口来发送数据包、指定发送包的最小长度、指定发包的MTU、指定TTL、指定伪装的MAC地址、使用错误检查和(badchecksum)。
- Nmap 速查手册,速查命令参数:
http://highon.coffee/docs/nmap/ - Nmap官 的完整手册
https://svn.nmap.org/nmap/docs/nmap.usage.txt
侵刪!
3.4.系统版本侦测
系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。
3.4.1.系统侦测原理
Nmap系统侦测是基于指纹进行识别的,根据不同系统不同服务具有不同的TCP/IP协议栈来判断
具体实现方式如下:
3.4.2.系统侦测用法
3.4.3.系统侦测演示
Nmap -O+目标地址
4.Nmap高级用法
4.1.Nmap脚本引擎
4.1.1.利用Nmap脚本扫描漏洞
命令格式:nmap –script=
脚本扫描参数:|
4.1.2.利用Nmap脚本扫描漏洞演示
Nmap –script=vuln+目标地址
在渗透测试中,用好Nmap脚本引擎是一大助力,你可以自由地利用每个参数进行扫描和探测,其使用非常灵活。
4.2.防火墙/IDS规避
防火墙与IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地发现目标主机的状况。
Nmap提供了多种规避技巧,通常可以从两个方面考虑规避方式:数据包的变换(Packet Change)与时序变换(Timing Change)
4.2.1.规避原理
更多信息 http://nmap.org/book/man-bypass-firewalls-ids.html
4.1.2.规避用法
5.结语
Nmap所提供的命令非常丰富、灵活,只需要几个参数即可进行快速扫描。学习Nmap最重要的是掌握参数的含义,每个参数都有不同的用法,参数结合起来又有不同的效果,只有掌握了这些用法,才能更高的发挥Nmap强大的功能。我们不需要完全掌握这些参数,但要掌握一些常用的参数。Nmap是每一位安全研究者必备的工具之一,掌握Nmap各模块的使用方法,对我们帮助甚大。
下面是一些参考 址:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!