基本信息
- 原书名:Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems
- 原出版社: No Starch Press; Second Edition edition
编辑推荐
“各层次网络管理员的必备手册。” —Linux Pro杂志 “一本优秀、易懂且具有良好格式的Wireshark实用指南。” —ARSGEEK.COM “如果您需要掌握数据包分析的基础知识,本书将是您起步的好地方。” —STATEOFSECURITY.COM “本书能够让您有一技之长,它抓住了书名中的关键词—实用,很好地为读者们提供了进行数据包分析所需要知道的基本知识,然后又恰如其分地带领他们进入到使用Wireshrak软件解决现实问题的缤纷世界中。” —LINUXSECURITY.COM “您的网络中有未知主机在和其他主机聊天吗?您的电脑是否在和陌生人说话?您需要一个数据包嗅探器来找出这些问题的真正答案。Wireshark是能够完成这件事情的最佳工具,而本书是学习这个工具最好的方式之一。” —自由软件杂志 “新手入门的最佳读物!” —DAEMON NEWS
内容简介
计算机书籍
《Wireshark数据包分析实战(第2版)》从网络嗅探与数据包分析的基础知识开始,渐进地介绍Wireshark的基本使用方法及其数据包分析功能特性,同时还介绍了针对不同协议层与无线网络的具体实践技术与经验技巧。在此过程中,作者结合一些简单易懂的实际网络案例,图文并茂地演示使用Wireshark进行数据包分析的技术方法,使读者能够顺着本书思路逐步地掌握网络数据包嗅探与分析技能。最后,《Wireshark数据包分析实战(第2版)》使用网络管理员、IT技术支持、应用程序开发者们经常遇到的实际网络问题(包括无法正常上网、程序连接数据库错误、网速很卡,以及遭遇扫描渗透、ARP欺骗攻击等),来讲解如何应用Wireshark数据包分析技术和技巧,快速定位故障点,并找出原因以解决实际问题。《Wireshark数据包分析实战(第2版)》覆盖了无线WiFi网络中的嗅探与数据包分析技术,同时也给出了嗅探与数据包分析领域丰富的参考技术文档、网站、开源工具与开发库等资源列表。《Wireshark数据包分析实战(第2版)》适合网络管理员、安全工程师、软件开发工程师与测试人员,以及网络工程、信息安全等专业学生与网络技术爱好者阅读。
作译者
Sanders是一名计算机安全咨询顾问、作家和研究人员。他还是一名SANS导师,持有CISSP、GCIA、GCIH、GREM等行业证书,并定期在WindowsSecurity.com网站和自己的博客ChrisSanders.org发表文章。Sanders每天都会使用Wireshark进行数据包分析。他目前居住在美国南卡罗米纳州查尔斯顿,以国防承包商的身份工作。
目录
1.1 数据包分析与数据包嗅探器
1.1.1 评估数据包嗅探器
1.1.2 数据包嗅探器工作原理
1.2 网络通信原理
1.2.1 协议
1.2.2 七层OSI参考模型
1.2.3 数据封装
1.2.4 网络硬件
1.3 流量分类
1.3.1 广播流量
1.3.2 多播流量
1.3.3 单播流量
1.4 小结 第2章 监听网络线路
2.1 混杂模式
2.2 在集线器连接的网络中进行嗅探
2.3 在交换式网络中进行嗅探
2.3.1 端口镜像
2.3.2 集线器输出
2.3.3 使用网络分流器
译者序
本书是一本非常实用的网络技能培训技术图书,以最为流行和强大的开源数据包抓包与分析工具——Wireshark——作为基础软件,通过大量生动的真实场景案例来讲解数据包分析的基础技术、高级特性与实际应用技能。
Wireshark在2011年最新的SecTools安全社区流行软件排行榜中,超越Metasploit、Nessus、Aircrack与Snort,占据榜首位置,这充分体现了Wireshark软件在网络安全与取证分析方面的重要作用与流行度。与此同时,Wireshark更是一个通用化的网络数据嗅探器与协议分析器,在网络运行管理、网络故障诊断、网络应用开发与调试等各个方面都作为基本手头工具,而被网络管理员、软件开发工程师与测试人员所广泛使用。
尽管网络数据包分析技术是网络管理员、安全工程师、软件开发工程师与测试人员必备的基本技能,然而可惜的是国内却没有优秀的实用技术培训教材与书籍。在这广大技术人群遭遇一些实际网络问题,或是对Wireshark等网络嗅探器与协议分析器的使用存在疑问时,他们并没有系统性的资料去学习掌握基础知识与技能,并掌握相关技能与方法来解决工作中的实际挑战,而往往只能寄希望于在网络上搜索一些零散并且可能过时的信息来探索尝试,从而花费了大量宝贵时间,并对数据包分析技术的自我修炼不得要领。
本书(英文版)原是国外一本非常优秀、高度注重基础性与实用性的网络数据包分析技术教程,细致地讲解了网络数据包嗅探与分析的技术原理,并以目前最流行的网络数据包嗅探与分析开源工具Wireshark作为平台软件,一步步引导读者们掌握使用Wireshark进行实际网络中数据包分析、故障定位与问题解决的实践技术方法。
在本书的章节设计上,作者从网络嗅探与数据包分析的基本知识背景开始,以简练清晰的语言帮助读者首先建立起网络协议与数据包结构、不同网络场景下的嗅探方法等方面的基础知识,然后渐进地介绍Wireshark的基本使用方法、Wireshark的数据包分析功能特性,以及针对不同协议层与无线网络的具体实践技术和经验技巧,在此过程中,作者使用了简单易懂的一些实际网络案例,图文并茂地结合这些具体案例来演示使用Wireshark进行数据包分析的技术方法,使读者能够顺着本书思路逐步地掌握网络数据包嗅探与分析的技能。最后,本书以网络管理员、IT技术支持、应用程序开发者经常遇到的实际网络问题,包括无法正常上网、部署分部网络、程序连接数据库错误、网速很卡,以及遭遇扫描渗透与ARP欺骗攻击等,来讲解如何应用Wireshark数据包分析技术和技巧,快速定位故障点与原因并解决实际问题。本书也覆盖了无线WiFi网络中的嗅探与数据包分析技术,同时也给出了在嗅探与数据包分析领域丰富的参考技术文档、网站、开源工具与开发库等资源列表。
本书原版取得了国外读者的一致好评,在Amazon网络安全领域图书销售排名位居Top 20,以及4星半的良好评价,也验证了本书在网络安全领域的重要程度。此外,本书在2007年第一版基础上又增加了更多的技术内容和案例,是通过了市场检验的一本好书。
更加难能可贵的是,本书作者Chris Sanders是带着一颗善良感恩的心完成了本书的创作。他出生于美国的乡村地区,在通过自身努力成为一位网络技术专家后,成立了一家乡村科技基金会,并将本书的所有版税捐赠出来,为乡村学生设立奖学金,致力于减少乡村学生与城市同龄学生们之间的数字鸿沟。
本书和译者也非常有缘,在2011年10月为电子工业出版社进行书籍评估时,译者就已经对本书赞誉有加,并给出了引进的建议。之后,在本书中文版权的激烈竞争中,人民邮电出版社最终胜出,这也让译者一度认为无缘这本优秀的作品。机缘巧合的是,在新浪微博上回复一位读者@过来的微博评论时,译者向几个出版社编辑微博发出本书“通缉令”,意外地从人民邮电出版社编辑那获知了本书下落,也非常高兴地接受了他们的翻译邀请。为了平衡翻译质量和进度,我们组织起了3人的译者团队,由诸葛建伟译序、前言和第1-3章,陈霖译第4-7章,许伟林译第8-11章与附录。全书内容由诸葛建伟进行全面、仔细的统稿与审校,并由陈爱华、陈建军、刘跃、崔丽娟进行了试读。本书翻译正值学校暑假,因此译者团队也都投入了充分的时间来保障翻译质量,仔细推敲和统一全书技术词汇的译法,确保对翻译内容的技术掌控,从而能够忠实地描述出原书作者期望传递给读者的知识与技能。
在翻译到前言部分,获知本书作者的成长经历以及对乡村学生所做的公益事业,译者团队感同身受,三位译者中的两位也是从中国的农村地区成长起来的,也都还深刻地记忆着第一次接触到学习机和电脑时那种兴奋异常的感觉。在走向小康社会的今日中国,仍然有这样一个被社会边缘化的群体,他们渴望了解这个世界更多,渴望在互联网世界里遨游,但他们却因为贫困而无法跨越数字鸿沟。这就是农民工子弟学校计算机教育的现状,而在广大的农村地区,问题更加严重。1.5亿农村中小学生,竟然有77.3%从来没有见过电脑!但与此同时,我们看到,社会上存在着大量的废旧电脑资源,城市里每年淘汰的电脑就达500万台。
当你要淘汰掉手中“没有价值”的旧电脑,你能否记起那些求知若渴的孩子们?科技更新换代越来越快,许多旧电脑只要经过简单的整修,便可继续使用至少2年。
因此译者团队达成共识,将本书的公益特性进行到底,决定将本书的译者稿费捐赠给清华大学学生教育扶贫公益协会,通过@电脑传爱活动,将旧电脑维修之后,为打工子弟小学建立电脑室,将公益的精神传递下去。我们也非常欢迎读者能够参与公益事业,事实上,各位读者在购买本书的同时,就已经为公益做出了一份贡献。如果你愿意捐赠淘汰的电脑和计算机基础书籍,欢迎通过新浪微博@电脑传爱,也可以@清华诸葛建伟。如果你是高校学生,希望通过电脑维修做些公益并积累社会实践经验,也非常欢迎加入到@电脑传爱组织的高校电脑维修公益志愿者活动。
公益是举手投足之间的事,我们倡议,每个人为社会公益奉献一点点,让它汇成可以改变世界的力量!
—台电脑开启一扇窗,一次行动传递一份爱!
清华大学教育扶贫电脑传爱公益活动,邀你同行。
诸葛建伟陈霖 许伟林
2013年1月于北京清华园
前言
为什么购买本书
你一定很想知道为什么应该买这本书,而不是其他关于数据包分析的书籍。
答案在于本书的书名:Practical Packet Analysis。让我们面对这样的现实——没有比实际的经验更加重要的了,而本书通过大量的真实场景中的数据包分析案例,让你获得最贴近实际的经验。
本书的前半部分将为你提供理解数据包分析技术和Wireshark软件的必备前置条件。后半部分则完全是一些你在日常网络管理中很容易遇到的一些实际案例。无论你是一位网络技术员、网络管理员、首席信息官、IT技术支持,还 是一位网络安全分析师,你都可以从本书描述的理解与使用数据包分析技术中获得很多的收获。
概念与方法
我是一个非常随意的人,所以,当我教授你一个概念时,我也会尝试用非常随意的方式来进行解释。而本书的语言也会同样的随意,因此你可能比较容易在一些处理技术概念的行话中迷失,但我已经尽我所能地保持行文的一致与清晰,让所有的定义更加明确、直白,没有任何繁文缛节。然而我终究是从伟大的肯塔基州来的,所以我不得不收起我们的一些夸张语气,但你如果在本书中看到一些粗野的乡村土话,请务必原谅我。
如果你真地想学习并精通数据包分析技术,你应该首先掌握本书前几章中介绍的概念,因为它们是理解本书其余部分的前提。本书的后半部分将是纯粹的实战内容,或许你在工作中并不会遇到完全相同的场景,但你在学习本书后应该可以应用所学到的概念与技术,来解决你所遇到的实际问题。
接下来让我们快速浏览本书各个章节的主要内容。
第1章:“数据包分析与网络基础”,什么是数据包分析技术?这种技术的基本原理是什么样的?你该如何使用这项技术?本章将覆盖这些网络通信与数据包分析的基础知识。
第2章:“监听网络线路”,本章将覆盖你在网络中放置数据包嗅探器时可以使用的各种不同技术方法。
第3章:“Wireshark入门”,从本章起,我们将开始进入Wireshark软件的世界,我们将介绍Wireshark软件的入门知识——哪里可以下载到,如何使用它,它完成什么功能,为什么它广受好评与关注,以及其他各种好东西。
第4章:“玩转捕获数据包”,在你运行Wireshark软件之后,你会需要知道如何与捕获的数据包进行交互,而这是你开始学习基础实践方法的起始点。
第5章:“Wireshark高级特性”,一旦你已经学会了缓慢地爬行,那是时候来学习跑步了。本章将深入钻研Wireshark的高级特性,带你揭开引擎的盖子,来了解一些比较少见的操作。
第6章:“通用底层网络协议”,本章将为你展示那些最常见的通用底层网络通信协议——比如TCP、UDP和IP——从数据包的层次上来看。为了解决这些网络协议中发生的故障,你首先需要理解它们是如何工作的。
第7章:“常见高层网络协议”,继续讲解网络协议的相关内容,本章将带你了解3种最为常见的高层网络通信协议——HTTP、DNS与DHCP ——并从数据包的层次上来看。
第8章:“基础的现实世界场景”,这章中将包含一些常见的网络流量,以及最初的现实世界场景中的案例。每个案例将采用一种容易跟随的方式进行展示,包括问题、分析和解决方法。这些基础场景案例仅仅涉及到少量几台计算机,以及很少的分析——仅仅能够将你的脚打湿。
第9章:“让网络不再卡”,网络技术人员最普遍遇到的网络问题便是网络性能很慢的情况,本章便是专门为解决这一问题而设计的。
第10章:“安全领域的数据包分析”,网络安全是信息技术领域中最大的热点问题,本章将带给你几个关于如何使用数据包分析技术解决安全相关问题的实际案例。
第11章:“无线网络数据包分析”,本章是无线网络数据包分析技术启蒙,讨论了无线数据包分析与有线数据包分析技术的差异,并包含了无线网络流量分析的几个案例。
媒体评论
我没有给出中心办公室DNS服务器的流量捕获文件,因为根本就没有。SYN数据包从来没有到达服务器。派遣技术人员查看连接两个办公室的路由器配置后,我们发现中心办公室的路由器被配置成只允许53端口的UDP流量进入,而53端口的TCP流量则被阻止了。这个简单的配置错误阻止了服务器间的区域传送,从而导致分支办公室的客户端无法解析对中心办公室设备的查询。
3.学到的知识
看完这个“犯罪剧”,你一定学到了很多关于调查网络通信问题的知识。当“犯罪”发生后,侦探开始问讯受害者。找到线索,顺藤摸瓜,直到找到罪魁祸首。
在这个场景中,我们一开始先查看了受害者(工作站),然后找到了DNS通信问题这个线索。这个线索将我们带到分支DNS服务器,然后又到中心DNS服务器,最终找到路由器,也就是问题的来源。
在分析时,请尝试从数据包中找出线索。线索不一定能告诉你谁是“罪犯”,但通常它们最终能帮你找出来。
8.3.6生气的开发者
在IT界,开发者和系统管理员经常争吵。开发者总是将程序故障归咎于糟糕的网络设置和设备。系统管理员则倾向于把网络错误和网络缓慢归咎于糟糕的代码。
在这个场景中,程序员开发了一个应用程序,用于跟踪多个商店的销售并报告回中心数据库。为了节约正常工作时间的带宽,他没有设计成实时应用程序。而是等报告数据累积一天后,才在晚上以逗号分隔值(comma—separatedvalue,简称CSV)文件的形式传回,插入中心数据库中。
然而,这个新开发的应用程序工作不太正常。服务器接收到了各个商店传回的文件,但插入数据库的数据是错误的。一些地区的数据丢失了,有的数据还存在错误,而且文件某些部分还丢失了。系统管理员很烦恼,因为程序员抱怨这是网络的问题。程序员一口咬定文件在从商店传到中心数据库时被损坏了。我们就要证明他是错的。
1.侦听线路
为了收集所需数据,我们可以在其中一个商店或中心办公室捕获数据包。故障影响到了所有商店,因此如果这确实是网络导致的问题,那肯定是在中心办公室那边——它是所有商店通信的汇聚点。
书摘
我没有给出中心办公室DNS服务器的流量捕获文件,因为根本就没有。SYN数据包从来没有到达服务器。派遣技术人员查看连接两个办公室的路由器配置后,我们发现中心办公室的路由器被配置成只允许53端口的UDP流量进入,而53端口的TCP流量则被阻止了。这个简单的配置错误阻止了服务器间的区域传送,从而导致分支办公室的客户端无法解析对中心办公室设备的查询。
3.学到的知识
看完这个“犯罪剧”,你一定学到了很多关于调查网络通信问题的知识。当“犯罪”发生后,侦探开始问讯受害者。找到线索,顺藤摸瓜,直到找到罪魁祸首。
在这个场景中,我们一开始先查看了受害者(工作站),然后找到了DNS通信问题这个线索。这个线索将我们带到分支DNS服务器,然后又到中心DNS服务器,最终找到路由器,也就是问题的来源。
在分析时,请尝试从数据包中找出线索。线索不一定能告诉你谁是“罪犯”,但通常它们最终能帮你找出来。
8.3.6生气的开发者
在IT界,开发者和系统管理员经常争吵。开发者总是将程序故障归咎于糟糕的网络设置和设备。系统管理员则倾向于把网络错误和网络缓慢归咎于糟糕的代码。
在这个场景中,程序员开发了一个应用程序,用于跟踪多个商店的销售并报告回中心数据库。为了节约正常工作时间的带宽,他没有设计成实时应用程序。而是等报告数据累积一天后,才在晚上以逗号分隔值(comma—separatedvalue,简称CSV)文件的形式传回,插入中心数据库中。
然而,这个新开发的应用程序工作不太正常。服务器接收到了各个商店传回的文件,但插入数据库的数据是错误的。一些地区的数据丢失了,有的数据还存在错误,而且文件某些部分还丢失了。系统管理员很烦恼,因为程序员抱怨这是网络的问题。程序员一口咬定文件在从商店传到中心数据库时被损坏了。我们就要证明他是错的。
1.侦听线路
为了收集所需数据,我们可以在其中一个商店或中心办公室捕获数据包。故障影响到了所有商店,因此如果这确实是网络导致的问题,那肯定是在中心办公室那边——它是所有商店通信的汇聚点。