史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读

Posted 孙叫兽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读相关的知识,希望对你有一定的参考价值。

 

目录

第 1 章 介绍... 1

1.1. 什么是Wireshark. 1

1.1.1. 主要应用... 1

1.1.2. 特性... 1

1.1.3. 捕捉多种网络接口... 2

1.1.4. 支持多种其它程序捕捉的文件... 2

1.1.5. 支持多格式输出... 2

1.1.6. 对多种协议解码提供支持... 2

1.1.7. 开源软件... 2

1.1.8. Wireshark不能做的事... 2

1.2. 系通需求... 2

1.2.1. 一般说明... 2

1.2.2. Microsoft Windows. 2

1.2.3. Unix/Linux. 3

1.3. 从哪里可以得到Wireshark. 3

1.4. Wiresahrk简史[6] 3

1.5. Wireshark开发维护... 3

1.6. 汇报问题和获得帮助... 4

1.6.1. 网站... 4

1.6.2. 百科全书... 4

1.6.3. FAQ. 4

1.6.4. 邮件列表... 4

1.6.5. 报告问题... 5

1.6.6. 在UNIX/Linux平台追踪软件错误... 5

1.6.7. 在Windows平台追踪软件错误... 5

第 2 章 编译/安装Wireshark. 7

2.1. 须知... 7

2.2. 获得源... 7

2.3. 在UNIX下安装之前... 7

2.4. 在UNIX下编译Wireshark. 8

2.5. 在UNIX下安装二进制包... 9

2.5.1. 在Linux或类似环境下安装RPM包... 9

2.5.2. 在Debian环境下安装Deb包... 9

2.5.3. 在Gentoo Linux环境下安装Portage. 9

2.5.4. 在FreeBSD环境下安装包... 9

2.6. 解决UNIX下安装过程中的问题 [10] 9

2.7. 在Windows下编译源... 10

2.8. 在Windows下安装Wireshark. 10

2.8.1. 安装Wireshark. 10

2.8.2. 手动安装WinPcap. 11

2.8.3. 更新Wireshark. 11

2.8.4. 更新WinPcap. 12

2.8.5. 卸载Wireshark. 12

2.8.6. 卸载WinPcap. 12

第 3 章 用户界面... 13

3.1. 须知... 13

3.2. 启动Wireshark. 13

3.3. 主窗口... 13

3.3.1. 主窗口概述... 14

3.4. 主菜单... 14

3.5. "File"菜单... 15

3.6. "Edit"菜单... 16

3.7. "View"菜单... 17

3.8. "Go"菜单... 19

3.9. "Capture"菜单... 20

3.10. "Analyze"菜单... 21

3.11. "Statistics"菜单... 22

3.12. "Help"菜单... 24

3.13. "Main"工具栏... 24

3.14. "Filter"工具栏... 26

3.15. "Pcaket List"面板... 26

3.16. "Packet Details"面板... 27

3.17. "Packet Byte"面板... 27

3.18. 状态栏... 28

第 4 章 实时捕捉数据包... 29

4.1. 介绍... 29

4.2. 准备工作... 29

4.3. 开始捕捉... 29

4.4. 捕捉接口对话框... 29

4.5. 捕捉选项对话框... 30

4.5.1. 捕捉桢... 31

4.5.2. 捉数据帧为文件。... 32

4.5.3. 停止捕捉桢... 32

4.5.4. 显示桢选项... 32

4.5.5. 名称解析设置... 33

4.5.6. 按钮... 33

4.6. 捕捉文件格式、模式设置... 33

4.7. 链路层包头类型... 34

4.8. 捕捉时过滤... 34

4.8.1. 自动过滤远程通信... 35

4.9. 在捕捉过程中... 35

4.9.1. 停止捕捉... 36

4.9.2. 重新启动捕捉... 36

第 5 章 文件输入/输出及打印... 38

5.1. 说明... 38

5.2. 打开捕捉文件... 38

5.2.1. 打开捕捉文件对话框... 38

5.2.2. 输入文件格式... 39

5.3. 保存捕捉包... 40

5.3.1. "save Capture File As/保存文件为"对话框... 40

5.3.2. 输出格式... 41

5.4. 合并捕捉文件... 42

5.4.1. 合并文件对话框... 42

5.5. 文件集合... 43

5.5.1. 文件列表对话框... 44

5.6. 导出数据... 44

5.6.1. "Export as Plain Text File"对话框... 44

5.6.2. "Export as PostScript File" 对话框... 45

5.6.3. "Export as CSV (Comma Separated Values) File" 对话框... 45

5.6.4. "Export as PSML File" 对话框... 46

5.6.5. "Export as PDML File" 对话框... 46

5.6.6. "Export selected packet bytes" 对话框... 47

5.6.7. "Export Objects" 对话框... 47

5.7. 打印包... 48

5.7.1. 打印 对话框... 48

5.8. 包范围选项... 49

5.9. 包格式选项... 50

第 6 章 处理已经捕捉的包... 51

6.1. 浏览您捕捉的包... 51

6.2. 弹出菜单项... 52

6.2.1. 包列表面板的弹出菜单... 52

6.2.2. 包详情面板的弹出菜单... 53

6.3. 浏览时过滤包... 54

6.4. 建立显示过滤表达式... 55

6.4.1. 显示过滤字段... 55

6.4.2. 比较值... 56

6.4.3. 组合表达式... 56

6.4.4. 常见的错误... 57

6.5. “Filter Expression/过滤表达式”对话框... 57

6.6. 定义,保存过滤器... 58

6.7. 查找包... 59

6.7.1. 查找包对话框... 59

6.7.2. "Find Next/查找下一个"命令... 60

6.7.3. "Find Previous/查找上一个"命令... 60

6.8. 到指定的包... 60

6.8.1. "GO Back"返回命令... 60

6.8.2. "Go Forward /向前"命令... 60

6.8.3. "Go to Packet/到指定的包"对话框... 60

6.8.4. "Go to Corresponding Packet/到对应的包"命令... 60

6.8.5. "Go to Firest Packet/到第一个包"命令... 61

6.8.6. "Go to Last Packet/到最后一个包"命令... 61

6.9. 标记包... 61

6.10. 时间显示格式及参考时间... 61

6.10.1. 包参考时间... 61

第 7 章 高级... 63

7.1. 说明... 63

7.2. "Follow TCP Stream". 63

7.2.1. "Follow TCP Stream"对话框... 63

7.3. 时间戳... 64

7.3.1. Wireshark内置... 64

7.3.2. 捕捉文件格式... 64

7.3.3. 准确性... 64

7.4. 时区... 65

7.4.1. 正确设置你的计算机的时区... 65

7.4.2. Wireshark和时区的关系... 65

7.5. 合并包... 66

7.5.1. 什么是合并包... 66

7.5.2. 如何用Wireshark合并包... 66

7.6. 名称解析... 67

7.6.1. 名字解析的流弊... 67

7.6.2. 以太网名字解析(mac层). 67

7.6.3. IP地址解析(网络层). 67

7.6.4. IPX名称解析(网络层). 68

7.6.5. TCP/UDP端口名解析(传输层). 68

7.7. 校检和... 68

7.7.1. Wireshark校检和验证... 68

7.7.2. Checksum offloading. 69

第 8 章 统计... 70

8.1. 说明... 70

8.2. 摘要窗口... 70

8.3. "Protocol Hierarchy"窗口... 71

8.4. "Endpoints". 72

8.4.1. 什么是Endpoint?. 72

8.4.2. "Endpoints"窗口... 72

8.4.3. 特定协议的"Endpoint List"窗口... 73

8.5. 会话/conversations. 73

8.5.1. 什么是会话/conversation?. 73

8.5.2. "Conversations/会话" window. 73

8.5.3. 协议指定“Conversation List/会话列表”窗口... 74

8.6. "IO Graphs"窗口... 74

8.7. 服务相应时间... 75

8.7.1. "Service Response Time DCE-RPC"窗口... 75

8.8. 协议指定统计窗口... 76

第 9 章 个性化Wireshark. 77

9.1. 说明... 77

9.2. 从命令行启动Wireshark. 77

9.3. 包色彩显示设置... 80

9.4. 设置协议解码... 82

9.4.1. "Enable Protocols"对话框... 82

9.4.2. 用户指定解码器... 83

9.4.3. 显示用户指定解码器... 84

9.5. 首选项... 84

9.6. 用户表表[21] 85

9.7. 创建过滤宏... 85

9.8. Tektronics K12xx/15 RF5 协议表... 86

9.9. 用户 DLTs 协议表... 86

9.10. SNMP用户表... 87

第 1 章 介绍

1.1. 什么是Wireshark

Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。

你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级)

过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。

Wireshark可能算得上是今天能使用的最好的开元网络分析软件。

1.1.1. 主要应用

下面是Wireshark一些应用的举例:

  • 网络管理员用来解决网络问题
  • 网络安全工程师用来检测安全隐患
  • 开发人员用来测试协议执行情况
  • 用来学习网络协议

除了上面提到的,Wireshark还可以用在其它许多场合。

1.1.2. 特性

  • 支持UNIX和Windows平台
  • 在接口实时捕捉包
  • 能详细显示包的详细协议信息
  • 可以打开/保存捕捉的包
  • 可以导入导出其他捕捉程序支持的包数据格式
  • 可以通过多种方式过滤包
  • 多种方式查找包
  • 通过过滤以多种色彩显示包
  • 创建多种统计分析
  • …还有许多

不管怎么说,要想真正了解它的强大,您还得使用它才行

图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口

Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型, 可以在我们的网站上找到http://wiki.wireshark.org/CaptureSetup/NetworkMedia.

1.1.4. 支持多种其它程序捕捉的文件

Wireshark可以打开多种网络分析软件捕捉的包,详见???

1.1.5. 支持多格式输出

Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见???

1.1.6. 对多种协议解码提供支持

可以支持许多协议的解码(在Wireshark中可能被称为解剖)???

1.1.7. 开源软件

Wireshark是开源软件项目,用GPL协议发行。您可以免费在 任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。

1.1.8. Wireshark不能做的事

Wireshark不能提供如下功能

  • Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。 [3]
  • Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。

1.2. 系通需求

想要安装运行Wireshark需要具备的软硬件条件...

1.2.1. 一般说明

  • 给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。 [4]
  • 在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。
  • 如果Wireshark运行时内存不足将会导致异常终止。可以在http://wiki.wireshark.org/KnownBugs/OutOfMemory察看详细介绍以及解决办法。
  • Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5]

1.2.2. Microsoft Windows

  • Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用)
  • 32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明
  • 128MB系统内存(建议256Mbytes或更高)
  • 75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”)
  • 网卡需求:

说明

  • 基于以下三点原因,将不会对旧版Windows提供支持:没有任何开发人员正在使用那些操作系统, 这将使支持变得更加困难,Wireshark运行所依赖的库文件(如GTK,WinPCap等)也放弃对它们的支持。 同样,微软也放弃了对它们的技术支持。
  • Windows 95,98和ME不能运行Wireshark。已知的最后一个可以运行在以上平台的版本是Ethereal0.99.0(需要安装WinPCap3.1),你依然可以使用从: http://ethereal.com/download.html获得。顺便提一下:微软于2006年1月11日停止对98/ME支持。
  • Windows NT 4.0今后将无法运行Wireshark.最有一个已知版本是Wireshark0.99.4(需安装自带的WinPCap3.1),你依然可以从:http://prdownloads.sourceforge.net/wireshark/wireshark-setup-0.99.4.exe得到它。顺便提一下:微软于2005年12月31日停止对NT 4.0的支持。
  • Windows CE 及嵌入版windows(NT/XP)不被支持。
  • 64-bit处理器运行Wireshark需要在32bit仿真环境下(称作WoW64),最低需要安装WinPCap4.0。
  • 支持多显示(不知道是显示其还是监视器)安装,但会遇到一些不可预料的问题。

1.2.3. Unix/Linux

Wireshark目前可以运行在许多UNIX平台,系统可以对照上面Windows下的指标。 二进制包最少在以下平台可用:

  • APPle Mac OSX
  • Debian GNU/Linux
  • FreeBSD
  • NetBSD
  • OpenPKG
  • Red Hat Fedora/Enterprise Linux
  • rPath Linux
  • Sun Solaris/i386
  • Sun Solaris/Sparc

如果二进制包在您的平台无法使用,你可以下载源文件并尝试编译它。 希望您能发送邮件到wireshark-dev[AT]wireshark.org .分享您的经验。

1.3. 从哪里可以得到Wireshark

你可以从我们的网站下载最新版本的Wireshark http://www.wireshark.org/download.html.网站上您可以选择适合您的镜像站点。

Wireshark通常在4-8周内发布一次新版本

如果您想获得Wireshark发布的消息通知,你可以订阅Wireshark-announce邮件列表。详见第 1.6.4 节 “邮件列表”

1.4. Wiresahrk简史[6]

1997年以后,Gerald Combs 需要一个工具追踪网络问题并想学习网络知识。所以他开始开发Ethereal (Wireshark项目以前的名称) 以解决以上的两个需要。

Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。Ethereal就是以这种方式成功的。

此后不久,Gilbert Ramirez发现它的潜力,并为其提供了底层分析

1998年10月,Guy Harris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。

998年以后,正在进行TCP/IP教学的Richard Sharpe 关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加。所以他开始从事Ethereal的分析及改进。

从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。所以他们拷贝了已有的解析器,并为团队提供了改进回馈。

2006年项目Moved House(这句不知道怎么翻译)并重新命名为:Wireshark.

1.5. Wireshark开发维护

Wireshark最初由Gerald Combs开发。目前由Wireshark team进行进一步开发和维护。Wireshark team是一个由修补bug提高Wireshark功能的独立成员组成的松散组织。

有大量的成员为Wireshark提供协议分析。同时我们也希望这些活动能持续机芯。通过查看Wireshark帮助菜单下的About,你可以找到为Wireshark提供代码的人员名单,或者你也可以通过Wireshark 网站的authors页面找到。

Wireshark 是开源软件项目,发布遵循GNU General Public Licence (GPL协议),所有源代码可以在GPL框架下免费使用。欢迎您修改Wireshark以便适合您的需要,如果您可以提供您的改进给Wireshark team ,我们将不胜感激。

为Wireshark Team 提供您的改进建议,有以下益处:

  • 如果其他人发现您提供的改进十分有用会肯定它们的价值,您将会得知你曾像Wireshark team 一样帮助过他人
  • The developers of Wireshark might improve your changes even more, as there's always room for improvement. Or they may implement some advanced things on top of your code, which can be useful for yourself too.
  • The maintainers and developers of Wireshark will maintain your code as well, fixing it when API changes or other changes are made, and generally keeping it in tune with what is happening with Wireshark. So if Wireshark is updated (which is done often), you can get a new Wireshark version from the website and your changes will already be included without any effort for you.

Wireshar 源代码和二进制kits (二进制工具包? )可以根据自己的平台对应下载,网站是:http://www.wireshark.org/download.html.

1.6. 汇报问题和获得帮助

如果您在使用中碰到了问题,或者您需要Wireshark的帮助,有以下几种可能让您有兴趣的方法(当然,还包括这本书)。

1.6.1. 网站

通过访问http://www.wireshark.org你将会发现关于Wireshark许多有用的信息。

1.6.2. 百科全书

Wireshark Wiki (http://wiki.wireshark.org)提供广泛的跟Wireshark以及捕捉包有关信息。你将会发现一些没有被包括在本书内信息,例如:wiki上有解释如何在交换网络捕捉包,同时我们正努力建立协议参考,等等。

最好的事情是,如果对某些知识有独到见解(比如您精通某种协议),您可以通过浏览器编辑它。

1.6.3. FAQ

最经常被问到的问题“Frequently Asked Questions”提供一个经常被问到的问题以及答案的列表。

Read The FAQ

在您发送任何邮件到邮件列表之前,确信您已经阅读了FAQ,因为这里面很可能已经提供了您想问的问题,答案。这将大大节约您的时间(记住,有很多人提交了大量的邮件)。

1.6.4. 邮件列表

下面的几个几个邮件列表,分别属于不同的主题:

Wireshark-users

这是一个Wireshark用户的列表,大家提交关于安装和使用Wireshark的问题,其它人(非常有用)提供的答案。(译者注:其他人当然也是指用户?)

wireshark-announce

这是一个关于程序发布信息的列表,通常每4-8周出现一次。

wireshark-dev

这是一个关于Wireshark开发的邮件列表,如果开始开发协议分析,可以从加入该列表

你可以通过网站http://www.wireshark.org订阅每个

以上是关于史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读的主要内容,如果未能解决你的问题,请参考以下文章

史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门

第二弹:史上最全操作系统面试整理(附答案),不服来战!!

重量级!Maven史上最全教程,看了必懂

万字长文,整理到吐血!Linux最全命令总结

吐血整理 | 史上最全推荐系统资料合集

史上最全高级Java教程总结版(强烈建议收藏)