第一图书网

网络分析技术揭秘

吕雪峰,彭文波,宋泽宇 机械工业出版社
出版时间:

2012-7  

出版社:

机械工业出版社  

作者:

吕雪峰,彭文波,宋泽宇  

页数:

447  

Tag标签:

无  

内容概要

  《网络分析技术揭秘:原理、实践与WinPcap深入解析》结合著名的开源软件库WinPcap来说明网络分析技术的实现原理及使用方法。其中包括WinPcap内核驱动,编译与使用,数据包的捕获、发送、内核过滤与接收,以及网络流量的统计与网络状态的分析等重要内容,而且作者还通过修改内核级的源代码解决了开源代码本身尚未完成的一个重要功能—数据包的内核转储。经过系统深入的分析,读者既能对WinPcap的架构、使用与实现机制有深入的理解,又能快速熟悉操作系统内核与用户层交互的实现机制,并全面了解网络分析专业各方面的技术,进而将相关知识运用到实际项目中。
  如果您的工作与网络软件相关,无论是开发人员还是测试人员,我们都强烈建议您阅读这本书。

作者简介

吕雪峰,华中科技大学控制工程与控制理论专业硕士,资深软件工程师,国船电气(武汉)有限公司软件技术总监。是目前国内对WinPcap进行彻底分析研究的先驱,活跃于51CTO、ChinaUnix、CSDN等社区。对WinPcap与网络分析具有深入的理解,在《计算机应用》等学术期刊上发表核心论文多篇。尤精于嵌入式Linux。 彭文波,从事互联网产品工作,曾在省级电子商务认证中心从事安全开发工作,曾就职于多家专业网管软件公司,先后参与了电子商务认证系统、移动网络管理系统等产品的开发。 宋泽宇,七二二研究所数字通信专业硕士,高级工程师,国船电气(武汉)有限公司副总经理,曾参与多个大型项目的研制工作。

书籍目录

前言
第1章 揭开网络分析的神秘面纱
1.1 网络分析概述
1.2 网络分析的主要用途
1.3 黑客使用嗅探器的方法
1.4 被嗅探数据的真面目
1.4.1 使用嗅探器获得FTP的用户名和密码
1.4.2 使用嗅探器分析冲击波蠕虫(Blaster Worm)
1.5 常见的网络分析器
1.6 网络分析器的工作原理
1.6.1 以太网简介
1.6.2 理解开放系统互连(OSI)模型
1.6.3 了解CSMACD协议
1.6.4 IP、ICMP、TCP与UDP协议
1.6.5 硬件
1.6.6 欺骗交换机
1.7 嗅探器的检测
1.7.1 检测嗅探器的原理
1.7.2 防止网络嗅探可采取的安全措施
1.8 网络分析工具的主要功能组成
1.9 Wireshark的概述、安装与使用
1.9.1 Wireshark的概述
1.9.2 Wireshark的安装
1.9.3 Wireshark的使用
1.1 0小结
第2章 初识网络分析基础库WinPcap
2.1 WinPcap概述
2.2 WinPcap的优点
2.3 WinPcap的使用者
2.4 WinPcap的体系架构
2.4.1 WinPcap的主要组成
2.4.2 数据包捕获的基本过程
2.4.3 WinPcap的驱动程序
2.4.4 WinPcap内核驱动的主要功能
2.5 用户空间库接口函数
2.5.1 wpcap.dll库中的重要函数
2.5.2 Packet.dll库中的重要函数
2.6 小结
第3章 网络分析工具的内核驱动基础知识
3.1 Windows驱动程序基础知识
3.1.1 驱动对象(DRIVER_OBJECT)
3.1.2 设备对象(DEVICE_OBJECT)
3.1.3 设备扩展(_DEVICE_EXTENSION)
3.1.4 IRP与派遣函数
3.1.5 同步处理
3.1.6 内核的内存操作
3.1.7 内存操作的运行时函数
3.1.8 内核的注册表操作
3.2 NDIS协议驱动程序
3.2.1 三种类型的网络驱动程序
3.2.2 协议驱动程序的特征结构体
3.3 小结
第4章 编译与使用WinPcap
4.1 源代码目录结构
4.2 构建驱动程序NPF
4.3 构建Packet.dll库
4.4 构建wpcap.dll库
4.5 安装NPF驱动程序与各库文件
4.6 使用WinPcap库进行程序开发的实例
4.7 小结
第5章 WinPcap驱动程序的初始化与清除
5.1 驱动程序中的初始化函数DriverEntry
5.1.1 DriverEntry函数的工作流程
5.1.2 DriverEntry函数的具体实现
5.2 驱动程序中的卸载函数DriverUnload
5.3 小结
第6章 获得与释放网络适配器设备列表
6.1 使用WinPcap选择合适的适配器
6.1.1 wpcap.dll库导出的相应函数
6.1.2 获得与释放网络适配器列表的实例
6.1.3 获取已安装设备高级信息的实例
6.2 获得网络适配器列表的幕后
6.2.1 wpcap.dll库中获得网络适配器列表的实现
6.2.2 Packet.dll库中获得网络适配器列表的实现
6.2.3 内核空间中获得网络适配器列表的实现
6.3 释放网络适配器列表的实现
6.4 小结
第7章 打开与关闭适配器
7.1 使用WinPcap打开与关闭适配器
7.1.1 wpcap.dll库导出的相应函数
7.1.2 关键数据结构pcap_t
7.1.3 打开与关闭网络适配器的实例
7.2 打开与关闭适配器的幕后
7.2.1 打开适配器的实现
7.2.2 关闭适配器的实现
7.3 小结
第8章 数据包的发送
8.1 使用WinPcap发送数据包
8.1.1 wpcap.dll库导出的相应函数
8.1.2 数据包发送实例
8.2 数据包发送的幕后
8.2.1 发送单个数据包的实现
8.2.2 单个数据包发送多次的实现
8.2.3 发送队列方式的实现
8.3 小结
第9章 数据包的内核过滤
9.1 基础知识
9.1.1 flex和bison简介
9.1.2 #line宏
9.1.3 以太网的典型帧结构
9.1.4 数据包过滤的原理简介
9.1.5 BPF虚拟机
9.1.6 Tcpdump与WinDump
9.1.7 BPF指令集实例
9.1.8 BPF过滤器的优化研究
9.1.9 BPF系统架构
9.2 WinPcap数据包过滤基础
9.2.1 数据包过滤过程
9.2.2 过滤表达式
9.2.3 编译过滤表达式生成过滤器的字节码
9.2.4 把过滤器字节码传递给内核
9.3 使用WinPcap过滤数据包
9.3.1 wpcap.dll库导出的相应函数
9.3.2 使用过滤器的实例
9.4 数据包过滤的幕后
9.4.1 wpcap.dll库中相应函数的实现
9.4.2 Packet.dll库对应的函数
9.4.3 驱动程序中对应的函数
9.4.4 NPF_tap函数的数据包过滤部分
9.5 小结
第10章 数据包的接收
10.1 使用WinPcap接收数据包
10.1.1 wpcap.dll库导出的相应函数
10.1.2 数据包接收的实例
10.2 数据接收的幕后
10.2.1 wpcap.dll库中相应函数的实现
10.2.2 Packet.dll库中相应函数的实现
10.2.3 内核空间部分的实现
10.3 小结
第11章 统计网络流量与网络状态
11.1 使用WinPcap进行网络统计的方法
11.1.1 wpcap.dll库导出的相应函数
11.1.2 统计实例
11.2 网络统计的幕后
11.2.1 工作模式
11.2.2 模式设置函数
11.2.3 网络流量统计的实现
11.2.4 网络状态统计的实现
11.3 小结
第12章 文件的存储与读取
12.1 libpcap文件存储格式
12.1.1 转储文件的头信息
12.1.2 每个数据包的头信息
12.2 使用WinPcap进行文件存储与读取
12.2.1 wpcap.dll导出的相应函数
12.2.2 文件存储与读取的实例
12.3 数据包文件存储的幕后
12.3.1 pcap_dump_open函数
12.3.2 pcap_dump函数
12.3.3 pcap_dump_flush函数
12.3.4 pcap_dump_close函数
12.4 数据包文件读取的幕后
12.5 内核文件转储的实现
12.5.1 wpcap.dll库中相应函数的实现
12.5.2 Packet.dll库中相应函数的实现
12.5.3 驱动程序中对应的函数
12.6 小结
第13章 修改源代码
13.1 给wpcap.dll增加设置重复发送次数的函数
13.1.1 修改步骤
13.1.2 测试结果
13.2 修改WinPcap的内核驱动代码
13.2.1 支持内核转储功能
13.2.2 测试内核统计与转储模式
13.2.3 支持大量数据包的转储
13.2.4 内核驱动程序修改后的源文件
13.3 小结
第14章 性能测试与分析
14.1 测试环境
14.2 测试实例
14.2.1 不同发送方式的比较
14.2.2 发送不同数据包长度的比较
14.2.3 不同接收方式的比较
14.3 小结
附录A 源语法规范
附录B 过滤表达式规范
附录C SYN洪泛攻击的详细资料
附录D ARP欺骗资料
参考文献

章节摘录

版权页: 插图: 无连接。该方式不保证发送的信息一定可以收到。 面向连接。该方式提供了四种服务:连接的建立、确认和数据到达响应、差错恢复 (通过请求重发接收到的错误数据实现)、滑动窗口(系数:128)。滑动窗口用来提高数据传速率。 无连接应答响应服务。 在面向连接的通信方式中,每一个LLC帧发送的内容都会被确认。LLC子层在接收LLC帧(又称协议数据单元,PDU)结束时需要检测在传输时是否有帧丢失了,如果丢失,则会给发送端发送一个请求,请求重新开始传输,此次传输将从没有到达的PDU开始。 LLC子层位于MAC子层的上面,它在上层与MAC子层的协议(如以太网、令牌环网等)之间扮演着一个联络人的角色。 3.网络层 接下来的一层为网络层,在这一层数据包会被顺序化,同时会被赋予逻辑地址。逻辑地址是通过软件赋予的地址,不是永久性的。TCP/IP协议在互联网上使用的IP地址就是逻辑地址。 网络层也负责在点或结点之间创建一个虚拟链路(这里指的一个逻辑连接,而不是一个物理连接)。其中结点是具有MAC地址的设备,包含计算机、打印机或路由器等。 这一层也负责路由与推进数据包。路由是指从一个网络或子网推进数据包到另一个网络或子网。如果没有路由器,计算机只能与同一网段中的计算机通信。对于互联网来说,路由是一个关键,同时也是网络层最重要的任务。 网络层还提供流量控制与差错控制功能。在该层操作的设备是路由器与三层交换机。从这一层开始,实现OSI模型的基本方法将与软件密切关联,而不再是硬件。 4.传输层 OSI模型的第四层为传输层,这一层负责从一个结点传输数据到另一个结点上。它在结点间提供透明的数据传输,并管理端到端的流量控制、错误检测与错误恢复。 首先,传输层协议在不同计算机的特定端口之间发起联系,并设置虚拟的链路。每台主机的传输协议确认应用程序发送的数据是否是被授权访问的,并且两个端点是否都准备好开始数据传输了。当该同步完成时,数据将被发送。在数据传送的过程中,每台主机上的传输协议会监控数据流并监视传输错误。如果传输检测到错误,传输协议将提供错误恢复。 对网络通信而言,传输层所提供的功能非常重要。前面提到数据链路层提供了底层可靠性与面向连接或非连接的通信,传输层做了同样的工作,只不过是在更高的层次上。 面向连接的传输控制协议(TCP)与面向非连接的用户数据包协议(UDP)是传输层常见的两种协议。 传输层也管理端口的逻辑地址,比如,决定所接收的数据属于哪个应用程序,一台计算机上可能会同时运行几个网络应用程序。 传输层还会处理域名解析,如使用域名系统(Domain Name System,DNS)就是处理该问题的一种方法。


编辑推荐

《网络分析技术揭秘:原理、实践与WinPcap深入解析》深入地、全面地叙述了网络分析的核心技术,并以大量示例演示了相关概念,其中包括进行网络分析必要的各种软硬件基础知识,网络数据包的捕获、发送、分析、文件转储等方面的内容。因此《网络分析技术揭秘:原理、实践与WinPcap深入解析》适合各层次的网络分析人员使用,例如网络软件开发人员与网络软件测试人员从中可获得许多网络分析与软件设计的知识;网络安全工程师可以从中获得网络攻击者所使用技术的一些细节知识。

名人推荐

本书通过对WinPcap架构、使用与实现机制的深入分析,来让我们快速熟悉操作系统内核与用户层交互的实现机制,掌握网络分析技术的核心!而且文中还加入了很多实例,避免了大段的理论阐述,这让我们理解起来会相对容易一些。我们还可通过查看书中提供的每行代码的运行结果,来验证自己的想法。所以对于希望学习网络分析技术的人员来说这是一本不可多得的参考书籍。 ——任晓珲 黑客反病毒组织创始人 本书作者从事软件开发工作多年,本书的写作也花费了作者几年的时间,可谓是呕心沥血之作。作者在写作之初,曾希望能把网络分析的核心技术用浅显易懂的方式展现出来,以帮助读者掌握这门技术,并可以把它运用于实际工作中,真真正正地“学以致用”,我觉得,他做到了。而且他还通过直接修改内核级源代码的方式解决了开源代码本身尚未完成的一个重要功能——数据包的内核转储。 ——51CTO随着计算机网络的迅速发展,网络安全、网络性能、网络软件质量等相关问题也随之凸现。这些问题受到人们越来越多的关注,并逐渐成为网络应用所面临的障壁。正是在这种局势下,网络分析逐渐成为一门独立的、专业的学科,在网络软件开发、调试、测试与维护中得以广泛使用。因为网络分析涉及诸多技术,所以为了有效使用这些技术并更好地理解这些技术原理,就要对相关人员提出很高的要求。 在本书中,作者对网络分析的核心技术进行了深入的剖析。其结合常用的网络分析开源库WinPcap详细演示了网络分析技术的使用。给希望使用WinPcap、熟悉WinPcap高级特性、甚至自行开发与修改WinPcap源代码的人员提供了全面的、详细的参考信息。与此同时,作者还把网络分析各技术的实现原理分析得十分透彻,使读者除了学习到如何使用网络分析技术外,还可理解网络分析工具的设计架构。这是很重要的,尤其是对于网络高级测试人员与开发人员来说,这些都是必备的知识。 目前市面上少有关于网络分析的书籍,更没有一本详细分析网络分析各技术底层实现机制的书籍,所以本书颇具出版价值。 ——熊有伦 中国科学院院士

图书封面

图书标签Tags

广告

下载页面


网络分析技术揭秘 PDF格式下载



原理、实践与WinPcap深入解析(以WinPcap的源码分析为依托,深刻阐释了网络分析技术的方法、原理和最佳实践


WinPcap的一本很好的参考书,非常有帮助


适合深入学习网络。对网络的脉络更加清晰了


很不错!写的很详细!想学网络可以看看这本书。


多靠近底层驱动的分析。


刚看了前面一部分,感觉这本书很注意实践,很好。


写的蛮不错,看着不费劲,而起还有源代码


跟想象的不太一样,不过还是挺不错的一本书。


很不错的一本书 同学推荐的


当当就是给力!


Very Good Very Good


机工的高好书,,


不过对于想学习网络协议驱动编程还是有一定意义的。


技术高手的实践经验的总结,得好好学学习下。


书还不错, 有内容, 有实验分析


刚收到还没来得急详细的阅读,感觉这书应该就是winPcap的详解,应该还行吧。


适合编程人员的书籍,抓包工具没有较好的介绍,也没有这方面的案例,跟我当初购买的目的不一样,不太适合我。


现在刚看多第五章,还不好下全面的评论,总之书的质量不错,限于篇幅吧,有些代码的讲解都讲到了核心实现上,比起看源码与技术白皮书好很多,不过在第四章源码上有点印刷错误,不过可以看得懂。可以作为入门的书籍,亦或深入研究,对于第一本WinPcap的新书籍要支持。


很多东西微软的手册上有,感觉不爽。而且代码都是用的vs,我用的vc++6.0


不错,正本的工具书,值得购买


学习网络分析的好书


学习黑客技术 看原理书籍


买了还不错


书是正版,没有问题


网络信息监控的好书


找了好久才找到一本网络分析的书


相关图书