通过80个实例,详细讲解了Wireshark数据包分析实施的8大类技巧
基于Wireshark抓取的数据包,层层剥茧地剖析了12种常见网络协议的构成 全面涵盖Wireshark基础知识和应用技巧,以及使用Wireshark对网络协议进行分析 遵循规范,从专业的角度循序渐进地讲解了Wireshark抓包及分析的实施流程 针对海量数据问题,详细讲解了捕获过滤器、显示过滤器和着色规则等专业技巧 以图表结合的形式直观地展示了协议报结构,帮助读者快速掌握各种抽象的网络协议 对抓取的数据包按照协议层次,逐层讲解了各个协议在数据包中的体现
《Wireshark数据包分析实战详解》由浅入深,全面系统地介绍了Wireshark数据抓包和数据包分析。本书提供了大量实例,供读者实战演练Wireshark的各项功能。同时,对抓取的数据包按照协议层次,逐层讲解各个协议在数据包中的体现。这样,读者就可以掌握数据包抓取到信息获取的每个环节。 《Wireshark数据包分析实战详解》共分3篇。第1篇介绍Wireshark的各项功能,包括基础知识、Wireshark的定制、捕获过滤器和显示过滤器的使用、数据包的着色、导出和重组等;第2篇介绍基于Wireshark对TCP/IP协议族中常用协议的详细分析,如ARP、IP、UDP、TCP、HTTP、HTTPS和FTP等;第3篇介绍借助Wireshark分析操作系统启动过程中的网络通信情况。 《Wireshark数据包分析实战详解》涉及面广,内容包括工具使用、网络协议和应用。本书适合各类读者群体,如想全面学习Wireshark的初学者、网络管理员、渗透测试人员及网络安全专家等。对于网络数据分析人士,本书更是一本不可多得的案头必备参考书。 本书精华内容 Wireshark基础知识 设置Wireshark视图 捕获过滤器技巧 显示过滤器技巧 着色规则和数据包导出 构建图表 重组数据 添加注释 捕获、分割和合并数据 ARP协议抓包分析 互联网协议(IP)抓包分析 UDP协议抓包分析 TCP协议抓包分析 ICMP协议抓包分析 DHCP数据抓包分析 DNS抓包分析 HTTP协议抓包分析 HTTPS协议抓包分析 FTP协议抓包分析 电子邮件抓包分析 操作系统启动过程抓包分析
王晓卉,本科毕业于渤海大学计算机科学与技术专业,硕士毕业于沈阳航空航天大学计算机技术专业。现任营口职业技术学院计算机专业副教授。从事计算机教学与科研工作11年,专长于计算机网络和软件应用。曾发表过省级以上的论文10余篇,主持和参与了多个省级项目的科研工作。 李亚伟,大学霸技术研究员。熟悉Apache、Tomcat、Oracle、MySQL、集群、RAC、SAN和容灾等各种IT业界中流行的系统集成技术。长期从事Linux和网络安全全新技术的研究,以及Linux服务器维护工作,拥有多年的服务器维护经验。曾经参与过多本Linux图书的编写和技术测试。
第1篇 Wireshark应用篇第1章 Wireshark的基础知识1.1 Wireshark的功能1.1.1 Wireshark主窗口界面1.1.2 Wireshark的作用1.2 安装Wireshark1.2.1 获取Wireshark1.2.2 安装Wireshark1.3 Wireshark捕获数据1.4 认识数据包1.5 捕获HTTP包1.6 访问Wireshark资源1.7 Wireshark快速入门1.8 分析网络数据1.8.1 分析Web浏览数据1.8.2 分析后台数据1.9 打开其他工具捕获的文件第2章 设置Wireshark视图2.1 设置Packet List面板列2.1.1 添加列2.1.2 隐藏、删除、重新排序及编辑列2.2 Wireshark分析器及Profile设置2.2.1 Wireshark分析器2.2.2 分析非标准端口号流量2.2.3 设置Wireshark显示的特定数据类型2.2.4 使用Profile定制Wireshark2.2.5 查找关键的Wireshark Profile2.3 数据包时间延迟2.3.1 时间延迟2.3.2 检查延迟问题2.3.3 检查时间差延迟问题第3章 捕获过滤器技巧3.1 捕获过滤器简介3.2 选择捕获位置3.3 选择捕获接口3.3.1 判断哪个适配器上的数据3.3.2 使用多适配器捕获3.4 捕获以太网数据3.5 捕获无线数据3.5.1 捕获无线网络数据的方式3.5.2 使用AirPcap适配器3.6 处理大数据3.6.1 捕获过滤器3.6.2 捕获文件集3.7 处理随机发生的问题3.8 捕获基于MAC/IP地址数据3.8.1 捕获单个IP地址数据3.8.2 捕获IP地址范围3.8.3 捕获广播或多播地址数据3.8.4 捕获MAC地址数据3.9 捕获端口应用程序数据3.9.1 捕获所有端口号的数据3.9.2 结合基于端口的捕获过滤器3.10 捕获特定ICMP数据第4章 显示技巧4.1 显示过滤器简介4.2 使用显示过滤器4.2.1 显示过滤器语法4.2.2 检查语法错误4.2.3 识别字段名4.2.4 比较运算符4.2.5 表达式过滤器4.2.6 使用自动补全功能4.2.7 手动添加显示列4.3 编辑和使用默认显示过滤器4.4 过滤显示HTTP4.5 过滤显示DHCP4.6 根据地址过滤显示4.6.1 显示单个IP地址或主机数据4.6.2 显示一个地址范围的数据4.6.3 显示一个子网IP的数据4.7 过滤显示单一的TCP/UDP会话4.8 使用复杂表达式过滤4.8.1 使用逻辑运算符4.8.2 使用括号4.8.3 使用关键字4.8.4 使用通配符4.9 发现通信延迟4.9.1 时间过滤器(frame.time_delta)4.9.2 基于TCP的时间过滤(tcp.time_delta)4.10 设置显示过滤器按钮4.10.1 创建显示过滤器表达式按钮4.10.2 编辑、添加、删除显示过滤器按钮4.10.3 编辑preferences文件第5章 着色规则和数据包导出5.1 认识着色规则5.2 禁用着色规则5.2.1 禁用指定类型数据包彩色高亮5.2.2 禁用所有包彩色高亮5.3 创建用户着色规则5.3.1 创建时间差着色规则5.3.2 快速查看FTP用户名密码着色规则5.3.3 创建单个会话着色规则5.4 导出数据包5.4.1 导出显示包5.4.2 导出标记包 5.4.3 导出包的详细信息第6章 构建图表6.1 数据统计表6.1.1 端点统计6.1.2 网络会话统计6.1.3 快速过滤会话6.1.4 地图化显示端点统计信息6.2 协议分层统计6.3 图表化显示带宽使用情况6.3.1 认识IO Graph6.3.2 应用显示过滤器6.4 专家信息6.5 构建各种网络错误图表6.5.1 构建所有TCP标志位包6.5.2 构建单个TCP标志位包第7章 重组数据7.1 重组Web会话7.1.1 重组Web浏览会话7.1.2 导出HTTP对象7.2 重组FTP会话7.2.1 重组FTP数据7.2.2 提取FTP传输的文件第8章 添加注释8.1 捕获文件注释8.2 包注释8.2.1 添加包注释8.2.2 查看包注释8.3 导出包注释8.3.1 使用Export Packet Dissections功能导出8.3.2 使用复制功能导出包第9章 捕获、分割和合并数据9.1 将大文件分割为文件集9.1.1 添加Wireshark程序目录到自己的位置9.1.2 使用Capinfos获取文件大小和包数9.1.3 分割文件9.2 合并多个捕获文件9.3 命令行捕获数据9.3.1 Dumpcap和Tshark工具9.3.2 使用捕获过滤器9.3.3 使用显示过滤器9.4 导出字段值和统计信息9.4.1 导出字段值9.4.2 导出数据统计第2篇 网络协议分析篇第10章 ARP协议抓包分析10.1 ARP基础知识10.1.1 什么是ARP10.1.2 ARP工作流程10.1.3 ARP缓存表10.2 捕获ARP协议包10.2.1 Wireshark位置10.2.2 使用捕获过滤器10.3 分析ARP协议包10.3.1 ARP报文格式10.3.2 ARP请求包10.3.3 ARP响应包第11章 互联网协议(IP)抓包分析11.1 互联网协议(IP)概述11.1.1 互联网协议地址(IP地址)的由来11.1.2 IP地址11.1.3 IP地址的构成11.2 捕获IP数据包11.2.1 什么是IP数据报 11.2.2 Wireshark位置11.2.3 捕获IP数据包11.2.4 捕获IP分片数据包11.3 IP数据报首部格式11.3.1 存活时间TTL11.3.2 IP分片11.4 分析IP数据包11.4.1 分析IP首部11.4.2 分析IP数据包中TTL的变化11.4.3 IP分片数据包分析第12章 UDP协议抓包分析12.1 UDP协议概述12.1.1 什么是UDP协议12.1.2 UDP协议的特点12.2 捕获UDP数据包12.3 分析UDP数据包12.3.1 UDP首部格式12.3.2 分析UDP数据包第13章 TCP协议抓包分析13.1 TCP协议概述13.1.1 TCP协议的由来13.1.2 TCP端口13.1.3 TCP三次握手13.1.4 TCP四次断开13.1.5 TCP重置13.2 捕获TCP数据包13.2.1 使用捕获过滤器13.2.2 使用显示过滤器13.2.3 使用着色规则13.3 TCP数据包分析13.3.1 TCP首部13.3.2 分析TCP的三次握手13.3.3 分析TCP的四次断开13.3.4 分析TCP重置数据包第14章 ICMP协议抓包分析14.1 ICMP协议概述14.1.1 什么是ICMP协议14.1.2 学习ICMP的重要性14.1.3 Echo请求与响应14.1.4 路由跟踪14.2 捕获ICMP协议包14.2.1 捕获正常ICMP数据包14.2.2 捕获请求超时的数据包14.2.3 捕获目标主机不可达的数据包14.3 分析ICMP数据包14.3.1 ICMP首部14.3.2 分析ICMP数据包——Echo Ping请求包 14.3.3 分析ICMP数据包——Echo Ping响应包14.3.4 分析ICMP数据包——请求超时数据包14.3.5 分析ICMP数据包——目标主机不可达的数据包第15章 DHCP数据抓包分析15.1 DHCP概述15.1.1 什么是DHCP15.1.2 DHCP的作用15.1.3 DHCP工作流程15.2 DHCP数据抓包15.2.1 Wireshark位置15.2.2 使用捕获过滤器15.2.3 过滤显示DHCP15.3 DHCP数据包分析15.3.1 DHCP报文格式15.3.2 DHCP报文类型15.3.3 发现数据包15.3.4 响应数据包15.3.5 请求数据包15.3.6 确认数据包第16章 DNS抓包分析16.1 DNS概述16.1.1 什么是DNS16.1.2 DNS的系统结构16.1.3 DNS系统解析过程16.1.4 DNS问题类型16.2 捕获DNS数据包16.3 分析DNS数据包16.3.1 DNS报文格式16.3.2 分析DNS数据包第17章 HTTP协议抓包分析17.1 HTTP协议概述17.1.1 什么是HTTP17.1.2 HTTP请求方法17.1.3 HTTP工作流程 17.1.4 持久连接和非持久连接17.2 捕获HTTP数据包17.2.1 使用捕获过滤器17.2.2 显示过滤HTTP协议包17.2.3 导出数据包17.3 分析HTTP数据包17.3.1 HTTP报文格式17.3.2 HTTP的头域17.3.3 分析GET方法的HTTP数据包17.3.4 分析POST方法的HTTP数据包17.4 显示捕获文件的原始内容17.4.1 安装Xplico17.4.2 解析HTTP包第18章 HTTPS协议抓包分析18.1 HTTPS协议概述18.1.1 什么是HTTPS协议18.1.2 HTTP和HTTPS协议的区别18.1.3 HTTPS工作流程18.2 SSL概述18.2.1 什么是SSL18.2.2 SSL工作流程18.2.3 SSL协议的握手过程18.3 捕获HTTPS数据包18.3.1 使用捕获过滤器18.3.2 显示过滤数据包18.4 分析HTTPS数据包18.4.1 客户端发出请求(Client Hello)18.4.2 服务器响应(Server Hello)18.4.3 证书信息18.4.4 密钥交换18.4.5 应用层信息通信 第19章 FTP协议抓包分析19.1 FTP协议概述19.1.1 什么是FTP协议19.1.2 FTP的工作流程19.1.3 FTP常用控制命令19.1.4 应答格式19.2 捕获FTP协议数据包19.3 分析FTP协议数据包19.3.1 分析控制连接的数据19.3.2 分析数据连接的数据第20章 电子邮件抓包分析20.1 邮件系统工作原理20.1.1 什么邮件客户端20.1.2 邮件系统的组成及传输过程20.2 邮件相关协议概述20.2.1 SMTP协议20.2.2 POP协议20.2.3 IMAP协议20.3 捕获电子邮件数据包20.3.1 Wireshark捕获位置20.3.2 Foxmail邮件客户端的使用20.3.3 捕获电子邮件数据包20.4 分析发送邮件的数据包20.4.1 分析SMTP工作流程20.4.2 查看邮件内容20.5 分析接收邮件的数据包20.5.1 分析POP工作流程20.5.2 查看邮件内容第3篇 实战篇第21章 操作系统启动过程抓包分析21.1 操作系统概述21.2 捕获操作系统启动过程产生的数据包21.3 分析数据包21.3.1 获取IP地址21.3.2 加入组播组21.3.3 发送NBNS协议包21.3.4 ARP协议包的产生21.3.5 访问共享资源21.3.6 开机自动运行的程序
第1章 Wireshark的基础知识 Wireshark(前称Ethereal)是一个网络包分析工具。该工具主要是用来捕获网络包,并显示包的详细情况。本章将介绍Wireshark的基础知识。 1.1 Wireshark的功能 在学习Wireshark之前,首先介绍一下它的功能。了解它的功能,可以帮助用户明确借助该工具能完成哪些工作。本节将介绍Wireshark的基本功能。 1.1.1 Wireshark主窗口界面 在学习使用Wireshark之前,首先需要了解该工具主窗口界面中每部分的作用。Wireshark主窗口界面如图1.1所示。 图1.1 Wireshark主窗口界面 在图1.1中,以编号的形式已将Wireshark主窗口每部分标出。下面分别介绍每部分的含义,如下所示。 ① 标题栏——用于显示文件名称、捕获的设备名称和Wireshark版本号。 ② 菜单栏——Wireshark的标准菜单栏。 ③ 工具栏——常用功能快捷图标按钮。 ④ 显示过滤区域——减少查看数据的复杂度。 ⑤ Packet List面板——显示每个数据帧的摘要。 ⑥ Packet Details面板——分析封包的详细信息。 ⑦ Packet Bytes面板——以十六进制和ASCII格式显示数据包的细节。 ⑧ 状态栏——专家信息、注释、包数和Profile。 1.1.2 Wireshark的作用 Wireshark是一个广受欢迎的网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。它是一个最知名的开源应用程序安全工具。Wireshark可以运行在Windows、MAC OS X、Linux和UNIX操作系统上,它甚至可以作为一个Portable App运行。本小节将介绍Wireshark的常用功能。使用Wireshark可以快速分析一些任务,如下所示。 1. 一般分析任务 找出在一个网络内发送数据包最多的主机。 查看网络通信。 查看某个主机使用了哪些程序。 基本正常的网络通信。 验证特有的网络操作。 了解尝试连接无线网络的用户。 同时捕获多个网络的数据。 实施无人值守数据捕获。 捕获并分析到/来自一个特定主机或子网的数据。 通过FTP或HTTP查看和重新配置文件传输。 从其他捕获工具导入跟踪文件。 使用最少的资源捕获数据。 2. 故障任务 为故障创建一个自定义的分析环境。 确定路径、客户端和服务延迟。 确定TCP问题。 检查HTTP代理问题。 检查应用程序错误响应。 通过查看图形显示的结果,找出相关的网络问题。 确定重载的缓冲区。 比较缓慢的通信到正常通信的一个基准。 找出重复的IP地址。 确定DHCP服务或网络代理问题。 确定WLAN信号强度问题。 检测WLAN连接的次数。 检查各种网络配置错误。 确定应用程序正在加载一个网络片段。 3. 安全分析(网络取证)任务 为网络取证创建一个自定义分析环境。 检查使用非标准端口的应用程序。 确定到/来自可疑主机的数据。 查看哪台主机正在尝试获取一个IP地址。 确定phone home数据。 确定网络侦查过程。 全球定位和映射远程目标地址。 检查可疑数据重定向。 检查单个TCP或UDP客户端和服务器之间的会话。 检查到恶意畸形的帧。 在网络数据中找出攻击签名的关键因素。 4. 应用程序分析任务 了解应用程序和协议如何工作。 了解图形应用程序的带宽使用情况。 确定是否将支持应用程序的链接。 更新/升级后检查应用程序性能。 从一个新安装的应用程序中检查错误响应。 确定哪个用户正在运行一个特定的应用程序。 检查应用程序如何使用传输协议,如TCP或UDP。 ……
网络的普及给人们的生活带来了极大的便利,同时网络的安全问题也成为公众热点。网络数据抓包和分析作为网络管理和监控最有效的措施,越来越受到网络管理人员和网络安全人员的重视。 Wireshark作为一款开源的专业数据抓包和分析工具,深受业内人士欢迎。它提供了强大的数据抓取功能和丰富的数据分析方式。面对Wireshark强大的功能和海量的数据包,初学者往往无从下手。 笔者结合网络数据传输及安全方面存在的各种问题,经过分析及总结,编写了本书。本书通过专业的数据抓包流程,逐步讲解Wireshark各项强大的功能。同时,基于Wireshark抓取的数据包,以层层剥茧的形式,讲解常见的各种网络协议。这样读者可以更直接地掌握各种协议类型的数据包。 通过本书的学习,读者不仅可以轻松掌握Wireshark的使用,踏入网络数据分析的大门,还可以更为直观地理解TCP/IP各个协议,以及这些协议在数据包中的表现。掌握这些技术,再加以充分的练习,就可以轻松应对网络数据分析等各项工作。 本书特色 1.内容全面、系统、深入 本书介绍了Wireshark的基础知识、捕获过滤器和显示过滤器的使用、对数据包进行导出或重组等。然后,介绍了使用Wireshark对各种协议的详细分析。最后,还详细分析了操作系统启动过程的数据包。 2.贴近实际,专业讲解 本书按照Wireshark专业使用流程,对其功能进行详细讲解,帮助读者掌握最高效的数据抓包、分析技术,以解决各种复杂的网络问题。同时,针对围绕海量数据包处理问题,本书详细介绍相关技术,如抓取过滤器、显示过滤器、着色规则等功能。 3.直观讲解网络协议 对于网络数据包涉及的网络协议,本书给以最直观的讲解。首先分析协议的工作原理以及相关数据包的构成,然后对照Wireshark数据包视图进行逐条比对,帮助读者以最直观的形式学习和掌握各个网络协议。 本书内容及体系结构 第1篇 Wireshark应用篇(第1~9章) 本篇主要内容包括:Wireshark的基础知识、设置Wireshark视图、捕获过滤器技巧、显示过滤器技巧、着色规则和数据包导出、构建图表、重组数据、添加注释等。通过本篇的学习,读者可以掌握Wireshark的基本操作,灵活地使用捕获过滤器和显示过滤器,并可以对Wireshark中的数据进行重组构建图表等。 第2篇 网络协议分析篇(第10~20章) 本篇主要内容包括:ARP协议抓包分析、互联网协议(IP)抓包分析、UDP协议抓包分析、TCP协议抓包分析、ICMP协议抓包分析、DHCP数据抓包分析、DNS抓包分析、HTTP协议抓包分析、HTTPS协议抓包分析、FTP协议抓包分析和电子邮件抓包分析。通过本篇的学习,读者可以掌握TCP/IP协议族中每层中包括的协议、协议的格式及传输的数据等。 第3篇 实战篇(第21章) 本篇主要内容包括:操作系统启动过程抓包分析。通过本篇的学习,读者可以掌握一个操作系统启动过程中会自动开启哪些服务、获取地址的过程及启动的一些应用程序等。 本书配套资源获取方式 本书涉及的源程序、工具及接线图等资源需要读者自行下载。请登录清华大学出版社的网站,搜索到本书页面后按照提示下载即可。另外,读者也可以到社区的相关版块下载。 本书读者对象 * Wireshark初学者; * 想全面学习Wireshark的人员; * 各种兴趣爱好者; * 网络管理员; * 专业的安全渗透测试人员; * 大中专院校的学生; * 社会培训班学员。 阅读本书的过程中若有任何疑问,都可以发邮件或者在论坛和QQ群里提问,会有专人为您解答。最后顺祝各位读者读书快乐! 编者