一:初始Nmap
号称:扫描之王。
Nmap是一款开放源代码的网络探测和安全审核的工具。
Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如:
查看整个网络的信息,管理服务审计计算,以及检测主机 和服务的运行。
官网:www.namp.org
Nmap的部分功能:
1.检测存活在网络上的主机[主机发现]。
2.检测主机上开放的端口[端口发现或枚举]。
3.检测到响应的端口[服务发现]的软件和版本。
4.检测操作系统、硬件地址、以及软件版本。
二:Nmap常用扫描指令
-sS: Tcp SYN扫描---->不建立链接,进行前两次握手,当超级用户时默认扫描。
-p: 指定端口号扫描
-v: 显示扫描过程
-F: 快速扫描,不会随机扫描,顺序扫描端口,默认是顺序
-Pn: 禁止ping后扫描:跳过主机发现的过程进行端口扫描
-A: 全面的系统扫描:包括打开操作系统探测,版本探测,脚本扫描、路径跟踪---->会建立连接
-sU: UDP扫描,扫描速度较慢
-sV: TCP扫描,扫描的速度快,准确性高,容易被防火墙发现。
-n: 禁止反向域名解析
-R: 反向域名解析
-6: 启用IPv6扫描
--script=vul: 全面的漏洞扫描
扫描指定IP开放端口:
命令:
nmap -sS -p 端口号 -v 127.0.0.1
使用半开扫描,指定端口号1-65535,显示扫描过程
穿透防火墙:
命令:
nmap -Pn -A 127.0.0.1
服务器禁止ping命令,试试-Pn,nmap参数配合使用
漏洞扫描:
命令:
nmap --script=vuln 127.0.0.1
使用vuln脚本进行全面的漏洞扫描
指纹识别扫描:
命令:
nmap -sV -v 127.0.0.1
扫描系统和程序版本号,并且输出详细信息
nmap其他常用命令:
nmap url/ip 最常用的命令
nmap -p 80 url/ip 自动以想扫描的端口
nmap -p 1-65535 url/ip 自定义想扫描的端口范围
nmap -r url/ip 随机扫描端口
nmap -O url/ip 启用操作数据监测
nmap -O -fuzzy url/ip 推测操作系统
nmap -sV url/ip 版本探测
nmap -sV --version -intensity url/ip 设置版本扫描强度[0-9]
Nmap -A -T4 url/ip -A结合操作系统和版本扫描,T4时间模板4
三:Nmap扫描状态
1.opend:端口开启
2.closed:端口关闭
3.filtered:端口被过滤,数据没有达到主机,返回的结果为空,数据被防火墙过滤。
4.unfiltered:端口未被过滤,数据有达到主机,但是不能确定端口的当前状态。
5.opend|filtered:开放或者被过滤,端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中。
6.closed|filtered:关闭或者被过滤,只发生IP、ID、idle扫描。
四:Nmap漏洞扫描
脚本保存位置:/usr/share/nmap/scripts
1.whois查询:
命令:
namp --script=whois-domain.nse xxx.cn -v
使用whois脚本对站点进行whois信息查询,并显示详细结果。
2.DNS解析查询:
DNS解析爆破扫描:
命令:
nmap --script=dns-fuzz.nse xxx.cn
使用DNS爆破脚本进行DNS解析扫描。
五:Nmap报告输出
把Nmap扫描结果保存到本地:
1.标准保存:
命令:
nmap -oN test.txt xxx.cn
标准保存会把输出结果保存到指定文件
2.保存为xml格式:
命令:
nmap -cX test.xml xxx.cn
保存为xml格式需要用浏览器打开,查看结果
六:Nmap批量扫描
将目标网址,存入txt文档中,,使用nmap -iL 1.txt 扫描。
补充:
TCP/IP协议端口建立连接的原则:
三次握手:
1.client发送SYN:请求建立连接
2.server收到SYN:发送ACK确认,同时自己也发送一个SYN,即ACK+SYN
3.client收到ACK+SYN回复ACK,连接建立完成
四次 挥手:
1.client发送FIN,请求建立连接
2.server收到FIN,发送ACK
3.server发送FIN,告知释放连接
4.client收到FIN,发送ACK