第一次捕获数据包

为了能让Wireshark得到一些数据包,你可以开始你的第一次数据包捕获实验了。你可能会想:“当网络什么问题都没有的时候,怎么能捕获数据包呢?”

首先,网络总是有问题的。

其次,做数据包分析并不一定要等到有问题的时候再做。事实上,大多数的数据包分析员在分析没有问题的网络流量上花的时间要比解决问题的时候多。为了能高效地解决网络问题,你也同样需要得到一个基准来与之对比。举例来说,如果你想通过分析网络流量来解决关于DHCP的问题,你至少需要知道DHCP在正常工作时的数据流是什么样子的。

更广泛地讲,为了能够发现日常网络活动的异常,你必须对日常网络活动的情况有所了解。

下面我们来捕获数据包。

  1. 打开Wireshark。
  2. 从主下拉菜单中选择Capture,然后是Interface。(捕获 --> 选项)

    这时你应该可以看到一个对话框,里面列出了你可以用来捕获数据包的各种设备,以及它们的IP地址。
  3. 选择你想要使用的设备,如图所示,单击Start,或者直接单击欢迎画面中Interface List下的某一个设备。随后数据就会在窗口中显现出来。

  4. 等上一分钟左右,当你打算停止捕获并查看你的数据时,在Capture的下拉菜单中单击Stop按钮即可。(捕获 --> 停止)

当做完以上步骤,Wireshark的主窗口中应该已经呈现了相应的数据,但此时你可能对这些数据的规模感到头疼,这也就是为什么我们把Wireshark一整块的主窗口进行划分的原因。

Wireshark主窗口

Wireshark的主窗口如下所示。

Wireshark主窗口的设计包括3个面板:Packet List、Packet Details、Packet Bytes。

主窗口的3个面板想忽悠着来呢西。如果希望在Packet Details面板中查看一个单独的数据包的具体内容,你必须在Packet List面板中单击选中那个数据包。在你选中了数据包之后,你可以通过在Packet Details面板中选中数据包的某个字段,从而在Packet Bytes面板中查看相应字段的字节信息。

下面介绍每个面板的内容。

Packet List(数据包列表): 最上面的面板用表格显示了当前不惑文件中的所有数据包,其中包括了数据包序号、数据包被捕获的相对时间、数据包的源地址和目的地址、数据包的协议以及在数据包中找到的概况信息等列。

Packet Details(数据包细节): 中间的面板分层地显示了一个数据包中地内容,并且可以通过展开或是收缩来显示这个数据包中所捕获地全部内容。

Packet Bytes(数据包字节): 最下面的面板可能是最令人困惑地,因为它显示了一个数据包未经处理地原始样子,也就是其在链路上传播时地样子。这些原始数据看上去一点都不舒服而且不容易理解。

Wireshark首选项

Wireshark提供了一些首选项设定,可以让你根据需要进行定时。如果需要设定Wireshark首选项,在主下拉菜单中选择Edit然后单击Preferences,然后你便可以看到一个首选项地对话框,里面有一些可以定制地选项,如图所示。 (编辑 --> 首选项)

Wireshark首选项分为6个主要部分。

User Interface(用户接口): 这些选项决定了Wireshark将如何显示数据。你可以根据你的个人喜好对大多数选项进行调整,比如是否保存窗口位置、3个主要窗口的布局、滚动条地摆放、Packet List面板中列地摆放,以及显示捕获数据的字体、前景色和背景色等。

Capture(捕获): 这些选项可以让你对捕获数据包地方式进行特殊的设定,比如你默认使用的设备、是否默认使用混杂模式、是否实时更新Packet List面板等。

Printing(打印): 这个部分中的选项可以让你对Wireshark如何打印你的数据进行特殊的设定。

Name Resolutions(名字解析): 通过这些设定,你可以开启Wireshark将地址(包括MAC、网络以及传输名字解析)解析成更加容易分辨地名字这一功能,并且可以设定可以并发处理名字解析请求的最大数目。

Statistics(统计): 这一部分提供了一些Wireshark中统计功能地设定选项。

Protocols(协议): 这个部分中的选项与捕捉和显示各种Wireshark能够解码地数据包有关。并不是每一个协议都有配置选项,但是一些协议地某些选项则可以进行更改。除非你有特殊的原因去修改这些选项,否则最好保持它们地默认值。

数据包彩色高亮

Wireshark地彩色高亮有助于快速标识协议。

每一个数据包地颜色都是有讲究地,这些颜色对应着数据包使用的协议。举例来说,所有的DNS流量都是蓝色的,而HTTP流量都是绿色的。将数据包进行彩色高亮,可以让你很快地讲不通协议的数据包分开,而不需要对每个数据包都查看Packet List面板中地协议列。你会发现这样在浏览较大地不惑文件时,可以极大地节省时间。

如图所示,Wireshark通过Coloring RUles(着色规则)窗口可以很容易地查看每个协议所对应的颜色。可以在主下拉菜单中选择View然后单击Coloring Rules来打开这个窗口。

你可以创建你自己的着色规则,或者修改已有设置。举例来说,使用下列步骤可以讲=将HTTP流量绿色的默认背景改成淡紫色。

  1. 打开Wireshark,并且打开Coloring Rules窗口(View -> Coloring Rules)。
  2. 在着色规则地列表中找到HTTP着色规则并单击选中。
  3. 单击Edit按钮,你会看到一个Edit Color Filter窗口,如下图所示。



    这里的2.2.7版本稍微有一点改动,具体可以看出来。
  4. 单击Background Color按钮。
  5. 使用颜色滚轮选择一个你希望使用的颜色,然后单击OK。
  6. 再次单击OK来应用改变,并回到主窗口。主窗口此时应该已经重载,并使用了更改过的颜色样式。

让你在网络上使用Wireshark时,你可能会发现你处理某些协议比其他协议要多。这时彩色高亮地数据包就能让你工作地更加方便。举例来说,如果你觉得你的网络上有一个恶意的DHCP服务器在分发IP,你可以简单地修改DHCP协议的着色规则,使其呈现黄色(或者其他便于辨认地颜色)。这可以使你能够更快地找出所有DHCP流量,并让你地数据包分析工作更有效率。

你还可以通过基于你自己定制地过滤器创建着色规则,来扩展这些着色规则地用途。

Wireshark初步入门的更多相关文章

  1. Struts 2 初步入门(三)

    接Struts 2初步入门(二) 若想用多个通配符设定访问: <struts> <package name="default" namespace="/ ...

  2. Java反射-初步入门

    Java反射-初步入门 学反射先了解什么是反射. 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动 ...

  3. Shel脚本-初步入门之《06》

    Shel脚本-初步入门-06 Shell 脚本的建立和执行 6.Shell 脚本的建立和执行 6.1 Shell脚本的建立 在 Linux 系统中,Shell 脚本(bash Shell 程序)通常是 ...

  4. Shel脚本-初步入门之《01》

    Shel脚本-初步入门-什么是 Shell 1.什么是 Shell Shell 是一个命令解释器,它的作用是解释执行用户输入的命令及程序等.Shell 存在于操作系统的最外层,负责与用户直接对话,把用 ...

  5. Shel脚本-初步入门之《02》

    Shel脚本-初步入门-什么是 Shell 脚本 2.什么是 Shell脚本 当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,改程序就被称为 Shell 脚本.如果在 Shell 脚本 ...

  6. Shel脚本-初步入门之《03》

    Shel脚本-初步入门-Shell 脚本在 Linux 运维工作中的地位 3.Shell 脚本在 Linux 运维工作中的地位 Shell 脚本语言很适合用于处理纯文本类型的数据,而 Linux 系统 ...

  7. Shel脚本-初步入门之《04》

    Shel脚本-初步入门-04 脚本语言的种类 4.脚本语言的种类 4.1 Shell 脚本语言的种类 Shell 脚本语言是弱类型语言(无须定义变量的类型即可使用),在 Unix/Linux 中主要有 ...

  8. Shel脚本-初步入门之《05》

    Shel脚本-初步入门-05 常用操作系统默认的 Shell 5.常用操作系统默认的 Shell 通过以下两种方法可以查看 CentOS Linux 系统默认的 Shell 方法1: echo $SH ...

  9. JVM初步入门(很初级,建议只做大致了解用)

    jvm初步入门 本博客中的所有内容都是来自b站狂神说视频教程,如有侵权联系我删除. 下面是视频链接:b站狂神说 关于jvm的几个小问题 1. jvm的位置: jvm是一个运行在操作系统上的用c语言编写 ...

随机推荐

  1. [Open Source] RabbitMQ 高可用集群方案

    简介 RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡. Rabbit模式大概分为以下三种:单一模式.普通模式.镜像模式 Rabb ...

  2. mysqldump备份还原mysql

    本文实现在mysql 5.7 解压版为例子 1.在window上简单试下一个例子 1.使用管理员权限打开cmd命名行,并切换到mysqldump执行程序下

  3. MyBatis 3 User Guide Simplified Chinese.pdf

    MyBatis 3 用户指南 帮助我们把文档做得更好… 如果你发现了本文档的遗漏之处,或者丢失 MyBatis 特性的说明时,那么最好的方法就 是了解一下这个遗漏之处然后把它记录下来. 我们在 wik ...

  4. MySQL中间件Atlas安装及使用

    简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...

  5. 【转载】C/C++中的char,wchar,TCHAR

    点击这里查看原文章 总体简介:由于字符编码的不同,在C++中有三种对于字符类型:char, wchar_t , TCHAR.其实TCHAR不能算作一种类型,他紧紧是一个宏.我们都知道,宏在预编译的时候 ...

  6. qrcode生成二维码插件

    今天我要和大家分享的是利用qrcode来生成二维码. 首先要使用qrcode就需要引用文件,我这边用的是1.7.2版本的jquery加上qrcode <script type="tex ...

  7. windows上使用SecureCRT连接linux

    前言: SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件.这样操作的时候不必进入到linux桌面,可以更方便的 ...

  8. Java 9 揭秘(3. 创建你的第一个模块)

    文 by / 林本托 Tips 做一个终身学习的人. 在这个章节中,主要介绍以下内容: 如何编写模块化的Java程序 如何编译模块化程序 如何将模块的项目打包成模块化的JAR文件 如何运行模块化程序 ...

  9. 10分钟弄懂javascript数组

    建议阅读时间 : 10分钟 主要内容:javascript数组的基本概念.属性.方法 新建数组: var arr01 = ["a","b","c&qu ...

  10. sql 中三大范式详解

     1 第一范式(1NF)    在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库.     所谓第一范式(1NF)是指数据库表的每一列 ...