Nmap网络扫描


Zenmap截图 Nmap促销横幅
介绍 参考指南 安装指南
下载 更新日志 Zenmap GUI 文件
错误报告 OS检测 宣传 相关项目
在电影中 在新闻里
示例Nmap输出
 

Nmap网络扫描

                                             Nmap网络扫描

网络发现和安全扫描的官方Nmap项目指南

戈登 “费奥多尔” 里昂

书籍网址: http  //nmap.org/book/ 
ISBN: 978-0-9799587-1-7
ISBN-10: 0-9799587-1-7

版权所有©2011 Insecure.Com LLC。保留所有权利,除非另有说明。


目录

前言

介绍

目标受众和组织

约定

其他资源

征求意见

致谢

用于创建本书的技术

TCP / IP参考

1. Nmap入门

介绍

Nmap概述和演示

阿凡达在线

拯救人类

MadHat in Wonderland

Nmap扫描的阶段

法律问题

未经授权的端口扫描是否犯罪?

端口扫描会破坏目标计算机/网络吗?

Nmap版权所有

Nmap的历史和未来

Nmap的历史

Nmap的未来

2.获取,编译,安装和删除Nmap

介绍

测试是否已安装Nmap

命令行和图形界面

正在下载Nmap

验证Nmap下载的完整性

从Subversion(SVN)存储库获取Nmap

源代码中的Linux / Unix编译和安装

配置指令

环境变量

如果遇到编译问题

Linux发行版

基于RPM的发行版(Red Hat,Mandrake,SUSE,Fedora)

用Yum更新Red Hat,Fedora,Mandrake和Yellow Dog Linux

Debian Linux和衍生品,如Ubuntu

其他Linux发行版

视窗

Windows自安装程序

命令行Zip二进制文件

安装Nmap zip二进制文件

从源代码编译

在Windows上执行Nmap

Apple Mac OS X.

可执行安装程序

从源代码编译

从源代码编译Nmap

从源代码编译Zenmap

第三方包

在Mac OS X上执行Nmap

其他平台(BSD,Solaris,AIX,AmigaOS)

FreeBSD / OpenBSD / NetBSD

OpenBSD二进制包和源端口指令

FreeBSD二进制包和源端口说明

NetBSD二进制包说明

Oracle / Sun Solaris

IBM AIX

AmigaOS

其他专有UNIX(HP-UX,IRIX等)

删除Nmap

3.主机发现(“ Ping扫描 ”)

介绍

指定目标主机和网络

从列表输入(-iL

选择随机目标()-iR <numtargets>

排除目标(--exclude, )--excludefile <filename>

实际例子

寻找组织的IP地址

DNS技巧

针对IP注册管理机构的Whois查询

互联网路由信息

DNS解析

主机发现控件

列表扫描(-sL

禁用端口扫描(-sn

禁用Ping(-Pn

主机发现技术

TCP SYN Ping()-PS<port list>

TCP ACK Ping()-PA<port list>

UDP Ping()-PU<port list>

ICMP类型平(-PE-PP,和-PM

IP协议Ping()-PO<protocol list>

ARP扫描(-PR

默认组合

全部放在一起:主机发现策略

相关选项

选择和组合Ping选项

最有价值的探针

TCP探测和端口选择

UDP端口选择

ICMP探针选择

设计理想的探针组合

主机发现代码算法

4.端口扫描概述

端口扫描简介

港口究竟是什么?

什么是最受欢迎的港口?

什么是端口扫描?

为什么扫描端口?

快速端口扫描教程

命令行标志

选择扫描技术

选择要扫描的端口

与时间相关的选项

输出格式和详细程度选项

防火墙和IDS逃避选项

指定目标

其他选项

IPv6扫描(-6

解决方案:扫描大型网络以查找某个开放TCP端口

问题

讨论

也可以看看

5.端口扫描技术和算法

介绍

TCP SYN(Stealth)扫描(-sS

TCP Connect Scan(-sT

UDP扫描(-sU

区分开放和过滤的UDP端口

加速UDP扫描

TCP FIN,NULL,和圣诞扫描(-sF-sN-sX

自定义扫描类型 --scanflags

自定义SYN / FIN扫描

PSH扫描

TCP ACK扫描(-sA

TCP窗口扫描(-sW

TCP Maimon Scan(-sM

TCP空闲扫描(-sI

空闲扫描一步一步

寻找工作空闲扫描僵尸主机

执行空闲扫描

空闲扫描实现算法

IP协议扫描(-sO

TCP FTP弹跳扫描(-b

扫描代码和算法

网络状态监测

主机和端口并行化

往返时间估计

拥塞控制

定时探针

推断的邻居时间

自适应重传

扫描延迟

6.优化Nmap性能

介绍

扫描时间减少技术

省略非关键测试

优化时序参数

分离和优化UDP扫描

升级Nmap

执行并发Nmap实例

从有利的网络位置扫描

增加可用带宽和CPU时间

长扫描的应对策略

使用多阶段方法

估计和计划扫描时间

港口选择数据和策略

低级时序控制

时序模板(-T

在46小时内扫描676,352个IP地址

7.服务和应用程序版本检测

介绍

用法和例子

技术描述

秘籍和后备

探针选择与稀有性

技术证明

后置处理器

Nmap脚本引擎集成

RPC研磨

SSL后处理器说明

nmap-service-probes 文件格式

Exclude 指示

Probe 指示

match 指示

softmatch 指示

portssslports指令

totalwaitms 指示

tcpwrappedms 指示

rarity 指示

fallback 指示

把它放在一起

社区贡献

提交服务指纹

提交数据库更正

提交新探针

SOLUTION:查找运行不安全或非标准应用程序版本的所有服务器

问题

讨论

解决方案:黑客版本检测以满足自定义需求,例如开放代理检测

问题

讨论

8.远程OS检测

介绍

操作系统检测的原因

确定目标主机的漏洞

定制漏洞利用

网络库存和支持

检测未经授权和危险的设备

社会工程学

用法和例子

Nmap支持的TCP / IP指纹识别方法

探测器已发送

序列生成(SEQOPSWIN,和T1

ICMP echo(IE

TCP显式拥塞通知(ECN

TCP(T2T7

UDP(U1

响应测试

TCP ISN最大公约数(GCD

TCP ISN计数率(ISR

TCP ISN序列可预测性指数(SP

IP ID序列生成算法(TICIII

共享IP ID序列布尔值(SS

TCP时间戳选项算法(TS

TCP选项(OO1–O6

TCP初始窗口大小(WW1W6

响应(R

IP不会碎片位(DF

不碎片(ICMP)(DFI

IP初始生存时间(T

IP初始生存时间猜测(TG

显式拥塞通知(CC

TCP杂项怪癖(Q

TCP序列号(S

TCP确认号(A

TCP标志(F

TCP RST数据校验和(RD

IP总长度(IPL

未使用的端口不可到达字段非零(UN

返回的探测IP总长度值(RIPL

返回的探测IP ID值(RID

返回探测IP校验和值的完整性(RIPCK

返回探测UDP校验和(RUCK)的完整性

返回UDP数据的完整性(RUD

ICMP响应代码(CD

IPv6指纹识别

探测器已发送

序列生成(S1S6

ICMPv6 echo(IE1

ICMPv6 echo(IE2

节点信息查询(NI

邻居请求(NS

UDP(U1

TCP显式拥塞通知(TECN

TCP(T2T7

特征提取

所有功能的列表

与IPv4的差异

Nmap避免使用指纹识别方法

被动指纹识别

利用年表

重传时代

IP分段

打开端口模式

退休测试

了解Nmap指纹

解码主题指纹格式

解码SCAN主题指纹的行

解码参考指纹格式

自由格式的OS描述(Fingerprint行)

设备和操作系统分类(Class行)

CPE名称(CPE行)

测试表达式

IPv6指纹

设备类型

OS匹配算法

IPv4匹配

IPv6匹配

处理身份不明和身份不明的主人

当Nmap猜错了

当Nmap无法找到匹配并打印指纹时

nmap-os-db自己修改数据库

解决方案:检测企业网络上的恶意无线接入点

问题

WAP特征

9. Nmap脚本引擎

介绍

用法和例子

脚本类别

脚本类型和阶段

命令行参数

脚本选择

脚本的争论

完整的例子

脚本格式

description 领域

categories 领域

author 领域

license 领域

dependencies 领域

规则

行动

环境变量

脚本语言

Lua基础语言

NSE脚本

NSE图书馆

所有图书馆清单

黑客攻击NSE库

将C模块添加到Nselib

Nmap API

传递给脚本的信息

网络I / O API

连接式网络I / O.

原始分组网络I / O.

结构化和非结构化输出

异常处理

书记官处

脚本编写教程

头部

规则

那个行动

编写脚本文档(NSEDoc)

NSE文档标签

NSE中的脚本并行性

工人线程

互斥

条件变量

协作多线程

基线程

使用NSE进行版本检测

示例脚本: finger

实施细节

初始化阶段

脚本扫描

10.检测和破坏防火墙和入侵检测系统

介绍

为什么道德专业人士(白帽)会这样做?

确定防火墙规则

标准SYN扫描

返回RST的偷偷摸摸的防火墙

ACK扫描

IP ID技巧

UDP版本扫描

绕过防火墙规则

异国情调的扫描标志

源端口操作

IPv6攻击

IP ID空闲扫描

多个Ping探针

碎片

代理

MAC地址欺骗

源路由

FTP弹跳扫描

采取另类路径

防火墙颠覆的实际实例

颠覆入侵检测系统

入侵检测系统检测

反向探针

突然防火墙更改和可疑数据包

命名约定

原因不明的TTL跳跃

避免入侵检测系统

慢一点

分散探测跨网络而不是连续扫描主机

片段包

躲避具体规则

避免轻易检测到Nmap功能

误导性入侵检测系统

诱饵

端口扫描欺骗

空闲扫描

DNS代理

针对反应系统的DoS攻击

利用入侵检测系统

忽略入侵检测系统

防火墙和入侵检测系统检测数据包伪造

寻找TTL一致性

查找IP ID和序列号一致性

Bogus TCP校验和技巧

往返时间

分组报头和内容的密切分析

不寻常的网络一致性

11.防御Nmap

介绍

主动扫描,然后关闭或阻止端口并修复漏洞

使用防火墙阻止和缓慢Nmap

检测Nmap扫描

聪明的诡计

在隐蔽的港口隐藏服务

港口敲门

蜜罐和蜜蜂

操作系统欺骗

焦油坑

无功端口扫描检测

升级军备竞赛

12. Zenmap GUI用户指南

介绍

Nmap图形前端的目的

扫描

简介

扫描聚合

解释扫描结果

扫描结果选项卡

该“ Nmap的输出 ”选项卡

在“ 端口/主机 ”选项卡

在“ 拓扑 ”选项卡

在“ 主机详细信息 ”选项卡

在“ 扫描 ”选项卡

按主机排序

按服务排序

保存和加载扫描结果

最近的扫描数据库

浏览网络拓扑

“ 拓扑 ”选项卡概述

传说

控制

行动控制

插值控制

布局控件

查看控件

鱼眼控制

键盘快捷键

主机查看器

配置文件编辑器

编辑命令

脚本选择

创建新的配置文件

编辑或删除个人资料

主机过滤

搜索保存的结果

比较结果

您的语言中的Zenmap

创建新翻译

Zenmap使用的文件

nmap可执行文件

系统配置文件

每用户配置文件

输出文件

的描述 zenmap.conf

部分 zenmap.conf

命令行选项

概要

选项摘要

错误输出

历史

13. Nmap输出格式

介绍

命令行标志

控制输出类型

控制输出的详细程度

启用调试输出

启用数据包跟踪

恢复中止扫描

交互式输出

正常输出(-oN

$ crIpT kIddI3 0uTPut(-oS

XML输出(-oX

使用XML输出

使用Perl操作XML输出

通用平台枚举(CPE)

CPE名称的结构

输出到数据库

创建HTML报告

保存永久HTML报告

Grepable输出(-oG

Grepable输出字段

Host 领域

Status 领域

Ports 领域

Protocols 领域

Ignored State 领域

OS 领域

Seq Index 领域

IP ID Seq 领域

解析命令行上的Grepable输出

14.了解和自定义Nmap数据文件

介绍

众所周知的港口名单: nmap-services

版本扫描数据库: nmap-service-probes

SunRPC号码: nmap-rpc

Nmap OS检测DB: nmap-os-db

UDP有效负载: nmap-payloads

MAC地址供应商前缀: nmap-mac-prefixes

IP协议号码列表: nmap-protocols

与脚本相关的文件

使用自定义数据文件

15. Nmap参考指南

描述

选项摘要

目标规格

主机发现

端口扫描基础知识

端口扫描技术

端口规格和扫描顺序

服务和版本检测

OS检测

Nmap脚本引擎(NSE)

时间和性能

防火墙/ IDS逃避和欺骗

产量

其他选项

运行时交互

例子

Nmap Book

错误

作者

法律声明

Nmap版权和许可

此Nmap指南的Creative Commons许可

源代码可用性和社区贡献

没有保修

用法不当

第三方软件和资金通知

美国出口管制

16. Ndiff参考指南

描述

选项摘要

产量

周期性差异

退出代码

错误

历史

作者

网站

17. Ncat参考指南

描述

选项摘要

连接模式和监听模式

协议选项

连接模式选项

听模式选项

SSL选项

代理选项

命令执行选项

访问控制选项

时间选项

输出选项

杂项选项

Unix域套接字

例子

退出代码

错误

作者

法律声明

Ncat版权和许可

此Ncat指南的Creative Commons许可

源代码可用性和社区贡献

没有保修

用法不当

第三方软件

18. Nping参考指南

描述

选项摘要

目标规格

选项规范

一般操作

探测模式

TCP连接模式

TCP模式

UDP模式

ICMP模式

ICMP类型

ICMP代码

ARP模式

ARP类型

IPv4选项

IPv6选项

以太网选项

以太网类型

有效载荷选项

回声模式

时间和性能选项

其他选项

输出选项

错误

作者

A. Nmap XML输出DTD

目的

完整的DTD

指数

数字清单

1. IPv4标头

2. TCP标头

3. UDP标头

4. ICMP标题

1.1。三位一体开始了她的攻击

1.2。三位一体扫描矩阵

1.3。对港口扫描合法性和道德的强烈意见

2.1。从Windows命令shell执行Nmap

2.2。Apple Gatekeeper阻止屏幕

2.3。Apple Gatekeeper打开菜单

2.4。Apple Gatekeeper打开屏幕

3.1。一张名片解释了一切

3.2。Netcraft找到36个Target Web服务器

5.1。ICMPv4目标无法访问的标头布局

5.2。开放端口22的SYN扫描

5.3。关闭端口113的SYN扫描

5.4。过滤端口139的SYN扫描

5.5。连接开放端口22的扫描

5.6。空闲扫描开放端口

5.7。空闲扫描一个封闭的端口

5.8。空闲扫描过滤端口

5.9。拥塞窗口和阈值

5.10。扫描速率受扫描延迟影响

8.1。ICMP回应请求或回复标题布局

8.2。ICMP目标无法访问的标头布局

10.1。BlackICE发现了一个不寻常的入侵者

10.2。被数十个诱饵掩盖的攻击者

12.1。典型的Zenmap屏幕截图

12.2。Zenmap的主窗口

12.3。目标和配置文件选择

12.4。主机选择

12.5。OS图标

12.6。服务选择

12.7。分组主持人的孩子

12.8。突出显示拓扑的区域

12.9。选择个人资料

12.10。配置文件编辑器

12.11。在“ 脚本 ”配置文件编辑器选项卡

12.12。主机过滤器

12.13。搜索对话框

12.14。关键词搜索

12.15。表达式搜索

12.16。比较工具

12.17。比较输出

12.18。Zenmap德文版

12.19。在Windows XP上设置LANG环境变量

12.20。在Mac OS X上设置LANG环境变量

13.1。来自Web浏览器中的XML输出的HTML

表格列表

1. 格式化样式约定

3.1。首先通过列出target.com IP

3.2。最佳主机发现探测器

3.3。最佳主机发现探针组合

3.4。最有价值的TCP探测端口,按可访问性的降序排列。

5.1。ICMP目标无法访问(类型3)代码值

5.2。Nmap如何解释对SYN探测的响应

5.3。Nmap如何解释对UDP探测的响应

5.4。Nmap如何解释对NULL,FIN或Xmas扫描探测的响应

5.5。Nmap如何解释对ACK扫描探测的响应

5.6。Nmap如何解释对Window扫描ACK探测的响应

5.7。Nmap如何解释对Maimon扫描探针的响应

5.8。Nmap如何解释对IP协议探测的响应

6.1。达到各种有效性水平所需的--top-ports

6.2。按功能进行低级时序控制

6.3。时间模板及其效果

7.1。versioninfo字段格式和值

7.2。versioninfo辅助功能

8.1。O测试值

8.2。DFI测试值

8.3。CC测试值

8.4。S测试值

8.5。A测试值

8.6。F测试值

8.7。CD测试值

8.8。参考指纹测试表达式算子

8.9。操作系统猜测Mac OS X.

9.1。port.version

实例清单

1. 典型的Nmap扫描

1.1。Nmap列表扫描Avatar在线IP地址

1.2。针对AO防火墙的Nmap结果

1.3。另一个有趣的AO机器

1.4。nmap-diff典型输出

1.5。nmap-report执行

2.1。检查Nmap并确定其版本号

2.2。验证Nmap和Fyodor PGP密钥指纹

2.3。验证PGP密钥指纹(成功)

2.4。检测虚假文件

2.5。典型的Nmap发布摘要文件

2.6。验证Nmap哈希值

2.7。配置屏幕成功

2.8。从二进制RPM安装Nmap

2.9。从源RPM构建和安装Nmap

2.10。从系统Yum存储库安装Nmap

3.1。使用host命令查询常见的DNS记录类型

3.2。区域转移失败并取得成功

3.3。针对www.target.com的Nmap reverse-DNS和traceroute扫描

3.4。使用whois查找www.target.com IP地址的所有者

3.5。使用whois查找包含161.225.130.163的netblock

3.6。使用列表扫描枚举www.stanford.edu周围的主机

3.7。使用ping扫描发现周围的主机www.lwn.net

3.8。尝试ping通常的Internet主机

3.9。使用端口80 SYN探测器重试主机发现

3.10。尝试对Microsoft进行ACK ping

3.11。脱机目标的原始IP ping扫描

3.12。ARP ping扫描脱机目标

3.13。生成50,000个IP地址,然后使用默认选项ping扫描

3.14。使用额外探针重复ping扫描

4.1。在Linux上查看和增加短暂的端口范围

4.2。简单扫描:nmap scanme.nmap.org

4.3。更复杂:nmap -p0- -v -A -T4 scanme.nmap.org

4.4。简单的IPv6扫描

4.5。发现花花公子的IP空间

4.6。Ping花花公子的Web服务器以获得延迟估计

4.7。挖掘花花公子的DNS记录

4.8。Ping MX服务器

4.9。TCP ping MX服务器

4.10。启动扫描

4.11。Egrep用于开放端口

5.1。SYN扫描显示三个端口状态

5.2。使用--packet-trace要了解一个SYN扫描

5.3。连接扫描示例

5.4。UDP扫描示例

5.5。UDP扫描示例

5.6。通过版本检测改进Felix的UDP扫描结果

5.7。通过版本检测改进Scanme的UDP扫描结果

5.8。尝试消除具有TTL差异的UDP端口的歧义

5.9。优化UDP扫描时间

5.10。示例FIN和Xmas扫描

5.11。Docsrv的SYN扫描

5.12。Docsrv的FIN扫描

5.13。对Google进行SYN / FIN扫描

5.14。自定义PSH扫描

5.15。典型的ACK扫描

5.16。Docsrv的ACK扫描

5.17。docsrv.caldera.com的窗口扫描

5.18。失败的Maimon扫描

5.19。针对RIAA的空闲扫描

5.20。路由器和典型Linux 2.4机箱的IP协议扫描

5.21。尝试FTP反弹扫描

5.22。成功的FTP反弹扫描

6.1。本地100 Mbps以太网网络的带宽使用情况

6.2。估计扫描时间

7.1。简单使用版本检测

7.2。针对www.microsoft.com的版本检测

7.3。复杂版本检测

7.4。NULL探测作弊示例输出

7.5。使用rpcinfo枚举RPC服务

7.6。Nmap直接RPC扫描

7.7。通过SSL扫描版本

8.1。带有详细程度的OS检测(-O -v

8.2。使用版本扫描来检测操作系统

8.3。典型的主题指纹

8.4。清理过的主题指纹

8.5。典型的参考指纹

8.6。一些典型的指纹描述和相应的分类

8.7。典型的CPE分类

8.8。IPv6指纹

8.9。清理的IPv6指纹

8.10。MatchPoints结构

8.11。针对消费者WAP扫描结果

9.1。典型的NSE输出

9.2。脚本帮助

9.3。连接式I / O.

9.4。自动格式化NSE结构化输出

9.5。XML中的NSE结构化输出

9.6。异常处理示例

9.7。NSEDoc对函数的注释

9.8。NSEDoc对模块的评论

9.9。NSEDoc对脚本的评论

9.10。工人线程

9.11。互斥操纵

9.12。基本协程使用

9.13。链接生成器

9.14。典型的版本检测脚本(Skype版本2检测)

10.1。检测已关闭和已过滤的TCP端口

10.2。针对Scanme的ACK扫描

10.3。针对Para的对比SYN和ACK扫描

10.4。针对防火墙主机的UDP扫描

10.5。针对防火墙主机的UDP版本扫描

10.6。FIN扫描无状态防火墙

10.7。使用源端口88绕过Windows IPsec筛选器

10.8。比较IPv4和IPv6扫描

10.9。利用FTP反弹扫描利用打印机

10.10。Megacorp的一些有趣的主机和网络

10.11。Ping扫描目标网络

10.12。针对单个IP的数据包跟踪

10.13。测试空闲扫描

10.14。测试源路由

10.15。终于成功了

10.16。主机名可能是骗人的

10.17。注意到traceroute的TTL缺口

10.18。使用IP记录路由选项

10.19。慢扫描绕过默认的Snort 2.2.0 Flow-portscan固定时间扫描检测方法

10.20。默认Snort规则引用Nmap

10.21。使用DNS代理(递归DNS)进行SecurityFocus的隐藏列表扫描

10.22。检测已关闭和已过滤的TCP端口

10.23。测试IP ID序列号一致性

10.24。查找具有错误TCP校验和的防火墙

11.1。全TCP端口版本扫描

11.2。用IP人格欺骗Nmap

13.1。扫描并输出本地网络

13.2。为详尽的条件限制

13.3。未启用详细程度的交互式输出

13.4。启用了详细程度的交互式输出

13.5。一些代表性的调试线

13.6。使用--packet-trace细节Scanme的ping扫描

13.7。正常输出的典型示例

13.8。$ crIpt KiDDi3 0utPut的一个典型例子

13.9。Nmap XML输出的示例

13.10。Nmap XML端口元素

13.11。Nmap :: Parser示例代码

13.12。Nmap :: Scanner示例代码

13.13。突出显示CPE的正常输出

13.14。grepable输出的典型示例

13.15。Ping扫描grepable输出

13.16。列表扫描grepable输出

13.17。IP协议扫描的可输出输出

13.18。在命令行上解析grepable输出

14.1。摘录自nmap-services

14.2。摘录自nmap-service-probes

14.3。摘录自nmap-rpc

14.4。摘录自nmap-os-db

14.5。摘录自nmap-payloads

14.6。摘录自nmap-mac-prefixes

14.7。摘录自nmap-protocols

15.1。代表性的Nmap扫描

16.1。Ndiff文本输出

16.2。Ndiff XML输出

16.3。使用Ndiff和cron定期扫描网络

18.1。代表Nping执行

18.2。发现NAT设备

18.3。发现透明代理

猜你喜欢

转载自blog.csdn.net/wxh0000mm/article/details/88972415