一、什么是nmap(安装包下载地址:Download the Free Nmap Security Scanner for Linux/Mac/Windows)
1、是Linux下一款开源免费的网络发现和安全审计工具
2、Nmap的家族成员:
Zenmap:nmap的图形界面版
Ncat:基于netcat,并扩展了一些功能,如ncat链、SSL支持、二进制等
Ncrack:测试已部署的认证系统和密码强度,支持常用协议
Ndiff:用于网络基线测试,对比nmap扫描结果的差异
Nping:允许将自己构造的数据包整合在扫描过程中,并对原始数据进行操控
3、nmap的功能:
基本功能:主机发现、端口扫描、应用程序与版本信息侦测、操作系统侦测
附加功能:规避FW/IDS、NSE脚本定制与使用
4、命令格式
二、基本操作
实验工具:一台kali(IP:192.168.29.129) 一台win7(IP:192.168.29.131)
1、默认扫描
2、全面扫描:
三、主机发现
1、
2、相关命令选项
3、局域网内主机发现
命令:nmap -sP 192.168.29.0/24 或者 nmap -sP 192.168.29.1-254
在局域网内,无论采用哪种选项,Nmap都是采用ARP包来询问IP地址上的主机是否活动的,如果收到ARP回复包,则说明主机在线
抓包
4、跨网段主机发现
扫描跨网段目的主机时,使用-sP/sn选项,默认情况下nmap会依次发送4种不同类型的数据包(ICMP echo request 、TCP SYN packet to port 443、TCP ACK packet to port 80、ICMP timestamp request)来探测目标主机是否在线,只要收到其中一种包的回复,就说明主机在线
例:扫描我物理机的地址
5、--packet-trace(可以不用通过抓包,直接将结果显示出来)
四、端口扫描
1、原理:发送TCP、UDP等类型的探测包到目标端口,根据收到的回复包判断端口是否开放
2、6种端口状态:
open:端口打开的
close:端口关闭的
filtered:端口被防火墙/IDS/IPS屏蔽,无法缺点其状态
unfiltered:端口没有被屏蔽,但是否开放需进一步确认
open|filtered:端口是开放的或被屏蔽
close|filtered:端口是关闭的或被屏蔽
3、相关命令选项
4、扫描指定端口
关于-p选项的说明:默认情况下,nmap仅对用-p指定的端口进行扫描,扫描方式为-sS(TCP SYN扫描)。如果既要扫描TCP端口,又要扫描UDP端口,则可以用“T:” “U:”参数指定目标端口,并指定-sU(UDP扫描方式)和至少一种TCP扫描方式,例:
5、TCP SYN 扫描 (优点:隐蔽性较好)
6、TCP connect 扫描
7、TCP ACK 扫描
首先,我win7的防火墙是关闭的
然后我打开防火墙:
然后抓包,没有TCP RST包
8、隐蔽扫描(比较适用于Linux系统的主机)
扫描windows系统主机
扫描Linux系统主机(IP:192.168.184.128)
五、应用程序与版本信息侦测
1、
2、相关命令:
3、version-trace命令:
六、操作系统扫描:
1、侦测方法:网络协议栈指纹识别技术
2、相关命令:
七、规避FW/IDS技术
1、
2、-T选项的应用
3、-D,进行源地址欺骗(原IP:192.168.16.74)
4、-sI(大写的i),伪装源IP
利用网关地址伪装成源IP(192.168.16.1),向目标主机(192.168.16.75)发送扫描包
5、源MAC地址欺骗
nmap --spoof-mac 0 目标主机 0代表的是随机分配一个mac地址,也可以指定一个mac
源mac地址
欺骗的mac地址
八、NSE脚本的使用
1、NSE脚本是基于Lua语言编写的
2、暴力破解脚本(--script brute)的使用
2、扫描常见的漏洞
九、扫描结果的保存与输出
1、以标准模式输出
这篇文章就写到这里了,文章中的IP地址不是全部一样!