标题：网络扫描技术揭秘：原理、实践与扫描器的实现
基本信息
出版社: 机械工业出版社; 第1版 (2012年1月1日)
外文书名: Network Scanning Technology Unleashed(Princeple,Practice and Implementation of N
平装: 497页
正文语种: 简体中文
开本: 16
ISBN: 7111365321, 9787111365327
条形码: 9787111365327
商品尺寸: 23.8 x 18.6 x 2.2 cm
商品重量: 798 g
品牌: 机械工业出版社
ASIN: B006Q5NH80
内容简介
《网络扫描技术揭秘:原理、实践与扫描器的实现》系统地介绍网络扫描器的概念、原理与设计方法，饱含作者十几年来在网络技术应用实践中不断总结的经验与技巧。作者从网络协议这样的基本概念开始，细致深入地分析了网络扫描器的原理，并用自己制作的大量工程代码，揭示了网络扫描器的实现方法与最佳实践。
《网络扫描技术揭秘:原理、实践与扫描器的实现》首先介绍了网络扫描技术的概念、原理、算法等，以及网络协议的意义与编程概述，随后系统分析了各种扫描器的原理与设计方法，包括TCP/UDP端口、NetBIOS、SNMP、ICMP、基于协议的服务、基于应用的服务、命名管道、服务发现、漏洞扫描器等。书中在介绍每一种扫描器的时候，都是先介绍相应协议，然后对扫描器中要使用的API函数进行详细说明，使读者知道该扫描器的各种技术细节；还介绍了Windows中相关协议程序的安装、配置、测试和验证等，使读者有了演习场地；最后展示了扫描器的编程实例。这种循序渐进、逐步深入的方式，使读者不仅全面地了解扫描器的细节，而且在遇到新情况时，能举一反三，对代码进行修改或调整。随书光盘还包含了作者精心制作与调试好的工程代码，可帮助读者快速上手，设计出自己需要的扫描器。
《网络扫描技术揭秘:原理、实践与扫描器的实现》不仅是网管员和安全技术人员必备参考书，也适合于所有想深入理解计算机网络原理、全面了解网络扫描技术的学生、教师以及安全技术爱好者。
编辑推荐
《网络扫描技术揭秘:原理、实践与扫描器的实现》是一类重要的网络安全技术。通过对网络的扫描，网络管理员可以了解网络的安全配置和运行的应用服务缺陷，赶在黑客攻击之前发现安全漏洞，客观评估网络风险等级，随后根据扫描的结果弥补网络安全漏洞，更正系统中的错误配置。如果说防火墙和网络监控系统是被动的 防御手段，那么网络扫描就是一种主动的排查措施，可以有效减少黑客攻击成功的概率，做到防患于未然。《网络扫描技术揭秘:原理、实践与扫描器的实现》全面 系统地介绍网络扫描技术的概念、原理和分类，用实例讲解了各种扫描器的设计方法，涉及ICMP、SNMP、SSDP、HTTP、FTP、Telnet等与网络安全息息相关的协议内容，最后给出了防扫描技术的研究成果。《网络扫描技术揭秘:原理、实践与扫描器的实现》所有实例都直接来自实战操作，并且所有扫描器均提供源代码工程文件，可帮助读者快速上手，设计出自己需要的扫描器。
《网络扫描技术揭秘:原理、实践与扫描器的实现》最大的特点就是几乎囊括了当前所有的扫描方式，而每一种方式又是八仙过海，各显神通这些扫描方式包括：
ICMP扫描：快速ICMP扫描可以扫描出哪些主机是运行的，进而初步预测一下对方的操作系统类型。这便于在某一不熟悉的网段中快速定位哪些主机可以作为下一步的扫描对象。
端口扫描：以快速、非顺序的扫描算法高效率地扫出对方TCP/UDP端口的状态。相对于后续的扫描，端口扫描通常是网络攻击的第一步。
NetBIOS扫描：扫描出对方的组名、用户名、目录，甚至是密码。如果有幸扫出对方管理员的密码，那随后的操作和使用自己的计算机差别就不大了。
SNMP 扫描：只要对方提供SNMP协议的支持，那么你在本地任务管理器中能看到什么，就能在对方任务管理器中看到什么。基于协议和基于应用的扫描：该扫描的最大优势就是发现对方提供的服务类型，对于常规的WWW、FTP、Telnet服务，一切尽收眼底，为后面的漏洞扫描搜集素材。
漏洞扫描：漏洞扫描的主要目的就是发现漏洞、实现攻击，其作用不言而喻。命名管道扫描：作为一种冷僻的扫描方式，自然有其独特的使用领域，对于一些专有的场景，正是该扫描方式大显身手的场所，也许别人花费九牛二虎之力完成的任务，在这里只是探囊取物。
服务发现扫描：服务发现扫描是“温柔一刀”，因为这种扫描方式不用背负黑客工具的神秘名声，完全可以作为一个受欢迎的网络管理工具。总之，系统主机五花八门，而扫描的方式也是多种多样，无论怎样的系统，总能找到合适的扫描方式。
资深网络安全专家十余年研究与实践经验的结晶，重点突出，针对性地讲解了核心网络扫描技术的原理与最佳实践，实战性强，各种主流扫描器的设计方法和原理尽含其中，附有完整源代码可供参考。
网络安全是一个永恒的话题。中国是一个早在五千年前就发现面对困难时“堵”不如“疏”的伟大国家。面对网络安全也是一样，与其“讳疾忌医”。不如“坦然面对”。
网 络扫描是一切网络攻击的基础，也是检测自身安全防护系统的有效方法。因此，网络管理员和安全技术人员完全有必要掌握端口、服务等概念和技术。并利用扫描技术扫描自身系统。通过对扫描结果的判断，关闭无实质性作用的端口或服务。而对于必须开放的端口和服务，则尽可能地安装其漏洞补丁程序。
作者简介
李瑞民，工学博士，资深网络安全专家兼高级系统架构师。多年来一直专注于计算机安全技术、网络设备与信号监控等领域的研究与应用，对网络扫描技术以及串口 监控、网口监控等设备类监控技术有深刻的认识。并在实践中总结出了串口通信中的嗅探技术以及通用串口协议语法。曾参与多个网络应用软件项目的研发，涉及网络安全、广播电视、通信等多个行业。曾发表论文二十余篇.拥有专利和著作权六项。此外。还积极倡导和推动开源事业，将自己精心编写的扫描器代码全部开源，旨在推动我国软件事业的发展。
目录
前言
第1章 绪论
1.1 网络安全的概念
1.2 网络扫描的概念
1.2.1 服务和端口
1.2.2 网络扫描
1.3 网络扫描原理概述
1.4 扫描编程与客户端编程的区别
1.5 网络扫描的目的
1.6 网络扫描算法
1.6.1 非顺序扫描
1.6.2 高速扫描
1.6.3 分布式扫描
1.6.4 服务扫描
1.6.5 指纹识别算法
1.6.6 漏洞扫描
1.6.7 间接扫描
1.6.8 秘密扫描
1.6.9 认证扫描
1.6.10 代理扫描
1.6.11 手工扫描
1.6.12 被动扫描
1.7 网络扫描器的分类
1.8 网络扫描技术的发展史
1.8.1 手工扫描阶段
1.8.2 使用通用扫描器阶段
1.8.3 设计专用扫描器阶段
1.9 扫描器的限制
1.10 当前网络常见的漏洞
1.10.1 DOS和DDOS
1.10.2 缓冲区溢出
1.10.3 注入式攻击
1.10.4 明文传输
1.10.5 简单密码
第2章 网络协议和网络编程例程
2.1 常用的网络编程
2.1.1 TCPIP协议编程
2.1.2 NetBIOSNetBEUI协议编程
2.1.3 Win Inet高层编程
2.1.4 命名管道和邮槽高层编程
2.2 扫描器中公用编程示例
2.2.1 CTreeCtrl控件的应用
2.2.2 CListCtrl控件的应用
2.2.3 INI文件的操作
2.2.4 数据库ADO的简单应用
2.2.5 IP格式的互换
2.2.6 Windows操作系统类型的判断
2.2.7 多线程的局限性和使用方式
2.2.8 VC++下Windows Socket的使用
2.2.9 网卡的混杂模式
2.3 嵌入外部程序
2.3.1 可执行外部程序的几个函数
2.3.2 编程实例：使用重定向接收外部程序运行结果
2.3.3 编程实例：使用管道接收外部程序运行结果
第3章TCPUDP端口扫描器的设计
3.1 端口扫描的概念
3.1.1 端口的概念
3.1.2 端口扫描原理
3.2 端口扫描技术
3.2.1 网络通信实例分析
3.2.2 TCP扫描
3.2.3 UDP扫描
3.3 手工扫描
3.3.1 检测单主机单端口开与否
3.3.2 检测单主机单端口是否有相应服务
3.3.3 检测多主机或多端口
3.4 编程实例：TCP端口扫描器
3.4.1 程序主界面
3.4.2 程序代码
3.5 编程实例：UDP端口扫描器
3.5.1 程序主界面
3.5.2 程序代码
第4章NetBIOS扫描器的设计
4.1 NetBIOS协议的使用
4.1.1 查看和修改NetBIOS配置
4.1.2 查看NetBIOS配置的命令
4.2 IP和主机名的互换
4.2.1 主机名转IP地址
4.2.2 IP地址转主机名
4.3 MAC地址的读取
4.4 本地域名、子网掩码、网卡类型的读取
4.5 用户名、共享目录、组列表的读取
4.5.1 Unicode编程与ANSI之间的互换
4.5.2 用户名列表的读取
4.5.3 共享目录的读取
4.5.4 组列表的读取
4.5.5 远端主机时间的读取
4.5.6 远端服务支持类型的读取
4.5.7 主机信息的读取
4.6 NetBIOS的安全性
4.7 编程实例：反“IP欺骗”-MAC地址扫描器的设计
4.7.1 反“IP欺骗”的原理
4.7.2 MAC地址扫描器的主界面
4.7.3 程序代码
4.8 编程实例：NetBIOS的通用扫描器
4.8.1 程序主界面
4.8.2 程序代码
第5章SNMP扫描器的设计
5.1 SNMP协议
5.1.1 管理信息结构
5.1.2 管理信息库
5.1.3 通信协议
5.2 SNMP的API
5.2.1 数据类型和常用结构
5.2.2 管理程序API
5.3 SNMP安装和验证
5.4 编程实例：SNMP通用读设工具
5.4.1 程序主界面
5.4.2 程序代码
5.5 编程实例：基于SNMP的主机扫描器
5.5.1 程序主界面
5.5.2 程序代码
第6章ICMP扫描器的设计
6.1 ICMP协议简介
6.2 ping与tracert命令简介
6.2.1 ping程序使用
6.2.2 tracert程序使用
6.3 ICMP通信实例分析
6.4 ICMP协议内容
6.4.1 目的不可达消息
6.4.2 超时消息
6.4.3 参数问题消息
6.4.4 源拥塞消息
6.4.5 重定向消息
6.4.6 回送请求或回送响应消息
6.4.7 时间戳请求和时间戳响应消息
6.4.8 信息请求或信息响应消息
6.5 ICMP扫描的安全性
6.6 编程实例：快速多IP的ICMP扫描器
6.6.1 程序主界面
6.6.2 程序原理
6.6.3 程序代码
第7章 基于协议的服务扫描器的设计
7.1 WWW服务扫描
7.1.1 WWW服务器架构
7.1.2 协议消息格式
7.1.3 WWW服务器的安装与配置
7.2 编程实例：WWW服务扫描器
7.2.1 扫描原理
7.2.2 程序主界面
7.2.3 程序代码
7.3 FTP服务扫描
7.3.1 FTP简介
7.3.2 FTP服务器的安装与配置
7.4 编程实例：FTP服务扫描器
7.4.1 程序主界面
7.4.2 程序代码
7.5 Telnet服务扫描
7.5.1 Telnet协议简介
7.5.2 Telnet的安装与配置
7.6 编程实例：Telnet服务扫描器
7.6.1 程序主界面
7.6.2 程序代码
7.7 Email服务扫描
7.7.1 电子邮件协议简介
7.7.2 电子邮件服务器的安装与配置
7.8 编程实例：Email服务扫描器
7.8.1 程序主界面
7.8.2 程序代码
第8章 基于应用的服务扫描器的设计
8.1 Win Inet编程接口
8.1.1 CInternetSession类
8.1.2 CInternetConnection类
8.1.3 CHttpConnection类
8.1.4 CFtpConnection类
8.1.5 CInternetFile类
8.1.6 CInternetException类
8.2 编程实例：基于应用的WWW服务扫描器
8.3 编程实例：基于应用的FTP服务扫描器
8.4 网络资源协议
8.4.1 NETRESOURCE结构
8.4.2 WNetOpenEnum函数
8.4.3 WNetEnumResource函数
8.4.4 WNetCloseEnum函数
8.5 编程实例：网络资源扫描器
8.5.1 程序主界面
8.5.2 程序代码
第9章 命名管道扫描器的设计
9.1 命名管道
9.2 命名管道API
9.2.1 命名管道的UNC格式
9.2.2 命名管道编程的API
9.3 命名管道编程示例
9.3.1 命名管道服务器端
9.3.2 命名管道客户端
9.4 邮槽
9.4.1 邮槽的UNC格式
9.4.2 邮槽编程的API
9.5 邮槽编程示例
9.5.1 邮槽服务器端编程
9.5.2 邮槽客户端编程
9.6 编程实例：SQL Server命名管道扫描器的设计
9.6.1 Microsoft SQL Server
简介
9.6.2 程序主界面
9.6.3 程序代码
第10章 服务发现扫描器的设计
10.1 服务发现简介
10.2 UPnP协议
10.2.1 寻址
10.2.2 发现
10.2.3 描述
10.2.4 控制
10.2.5 事件
10.2.6 展示
10.3 XML协议
10.4 SSDP协议分析实例
10.4.1 设备类型
10.4.2 协议消息格式
10.5 编程实例：服务发现扫描器
10.5.1 程序主界面
10.5.2 程序代码
第11章 漏洞扫描器的设计
11.1 注入式漏洞扫描器
11.1.1 SQL注入式攻击原理
11.1.2 注入式攻击的局限性
11.1.3 单机模式或CS模式的攻击
11.1.4 BS模式下扫描程序设计
11.2 主机弱密码扫描
11.2.1 网络连接的API
11.2.2 密码穷举分析
11.2.3 程序主界面
11.2.4 程序代码
11.3 DOSDDOS攻击
11.3.1 程序主界面
11.3.2 程序代码
11.4 明文密码嗅探
11.4.1 程序主界面
11.4.2 程序代码
11.5 端口对照
11.5.1 程序主界面
11.5.2 程序代码
第12章 扫描防范技术的研究
12.1 更换端口
12.2 预留陷阱技术
12.3 基于哨兵的端口扫描监测
12.3.1 程序主界面
12.3.2 程序代码
12.4 基于嗅探的端口扫描监测及DDOS拒绝服务监测
12.4.1 程序主界面
12.4.2 程序代码
12.5 实时监测本地所有TCPUDP连接及端口
12.5.1 程序主界面
12.5.2 结构与函数API
12.5.3 程序代码
12.6 如何关闭端口
12.6.1 FTP端口
12.6.2 WWW端口
12.6.3 Telnet端口
12.6.4 NetBIOS端口
附录A 本书容易混淆概念解析
附录B Windows Socket错误返回码
附录C Win Inet错误返回码
附录D HTTP错误返回码
参考文献
后记