精华内容
下载资源
问答
  • Wireshark数据包分析实战 第2版 本书从网络嗅探和数据包分析为基础,逐步介绍Wireshark基本使用方法
  • 在简单介绍过Wireshark第2版之后,本章还会透露几个如何安置及启动该软件的秘诀。 本章首先会介绍安置Wireshark的秘诀,涉及如何安置以及在何处安置Wireshark来执行抓包任务。应将Wireshark软件安装在服务器上呢,...
  • 第2章 熟练使用Wireshark排除网络故障 本章涵盖以下内容: 配置用户界面[1]和配置协议参数[2]; 数据文件的导入和导出; 定义配色规则; 配置时间参数和汇总信息; 构建排障模板。 2.1 概述 本章会讨论如何娴熟地...
  • 按照第2种方法(动态DNS,DDNS),需开启某种动态配置协议,令其通告DNS服务器的IP地址信息。大型网络经常将DHCP作为动态地址分配协议来用。可借助DHCP来动态通告一台或多台DNS服务器及其IP地址。 由图13.7可知,...
  • 11章 传输层协议分析 本章涵盖以下内容: UDP的运作原理; UDP协议分析及故障排除; TCP的运作原理; 排除TCP连通性故障; 解决TCP重传问题; TCP滑动窗口机制; 对TCP的改进——选择性ACK和时间戳选项; 排除与...
  • 19.3 发现基于MAC地址和基于ARP的攻击 借助于Wireshark,可以很容易地发现基于MAC地址(第2层)和基于ARP(介于第2、3层之间)的攻击。此类攻击通常都以扫描攻击(详见本节)或中间人攻击的面目示人。本节将介绍几...
  • 14章 E-mail协议分析 本章涵盖以下内容: E-mail协议的常规运作方式; POP、IMAP和SMTP故障分析分析E-mail协议的错误状态码,并据此筛选E-mail流量[1]; 分析恶意及垃圾邮件。 14.1 简介 E-mail是电子商务...
  • 15.1 介绍 Wireshark存在的最大价值之一,就是能用它来分析流淌于网络中的各种应用程序生成的流量,从而为排除应用程序故障提供依据。当应用程序运行缓慢时,可能的原因包括LAN问题(一般都与无线LAN有关)、WAN...
  • 16章 企业网应用程序行为分析 本章涵盖以下主题: 摸清流淌于网络中的流量的类型; Microsoft终端服务器(MS-TS)和Citrix协议和故障分析; 数据库流量及常见故障分析; SNMP流量分析。 16.1 简介 Wireshark存在...
  • 10.1 简介 本章聚焦于OSI参考模型的3层,会讲解如何用Wireshark观察3层协议(IPv4/IPv6)的举动以及如何分析单、多播数据包。此外,还将介绍IPv4地址解析协议(ARP)、IPv6邻居发现协议(ND)以及动态/无状态...
  • 本章会介绍上述协议,讲解它们的运作方式,向读者传授如何使用Wireshark分析网络中与这些协议有关的常见故障。 12.2 FTP故障分析 FTP有以下两种操作模式。 Active模式(ACTV):当FTP以此模式运行时,FTP客户端会...
  • AP和控制器之间可通过第2层/第3层网络来打通。如前所述,AP要由运行CAPWAP协议的无线控制器来管理,数据流量以及控制流量也会通过这种协议来传送。 图9.2 无线AP的独立部署模式 图9.3 无线AP的集中部署模式 对用来...
  • 为了隔离故障(要让网络第2层无环),应关掉Wireshark,立刻找到并拔掉多插的那根网线(光纤)。然后,需登录交换机,检查STP相关配置,查看STP的运行状态及日志输出。 2.某台设备(主机)触发了广播风暴 当广播...
  • Wireshark执行抓包分析任务时,有很多地方都会用到显示过滤器,相关内容会在本书后续章节随文讲解。 在显示过滤器工具条的Filter输入栏内输入显示过滤器时,可借助于自动补齐特性来完成过滤器的构造。试举一例,在...
  • 事件列表中的第7行(Note事件的第2个子类)属于IPv4协议的Sequence类(3)。Group名称相同的事件都符合相同的特征,比方说,发生在某种协议的数据包上的与序列号参数有关的Sequence类事件。 图7.8 7.2.3 幕后原理 ...
  • 6.2.3 幕后原理 I/O Graphs工具是Wireshark软件中最重要的工具之一,网管人员可借此工具来在线监控网络性能,或对网络故障做离线分析。 使用I/O Graphs工具时,如何配置与X轴和Y轴参数结合使用的显示过滤器是重中...
  • 5.3 Statistics菜单中Resolved Addresses工具的用法 本节会介绍Wireshark第2版的一项新功能:已抓数据包的IP地址、TCP/UDP目的端口号,以及以太网(MAC)地址的名称转换功能。 5.3.1 准备工作 启动Wireshark软件...
  • 只想让Wireshark抓取由某种或某几种应用程序生成的数据包(比如,若网管人员怀疑网络中存在的故障与DNS有关,便配置了抓包过滤器,让Wireshark只抓取进出Internet的DNS查询及响应消息)。 除了上面列举的几种情况...
  • Wireshark的RTP流分析和过滤功能; Wireshark的VoIP呼叫重放功能。 17.1 简介 应把语音、视频及多媒体流量的传递一分为二来看待。首先,是多媒体流量(即实际的语音或视频流量)的传递;其次,是信令流量的传递,...
  • 可点击Endpoints窗口内相应的选项卡,来观察与第2、3、4层端点(Ethernet端点、IP端点、TCP/UDP端点)有关的统计信息。在图18.6所示的Endpoints窗口中,可以观察到各IPv4端点收发的数据包的数量和字节数,还能基于...
  • Wireshark网络分析实战

    2018-06-12 19:34:35
    Wireshark 数据包分析实战(第2版) 本书采用步骤式为读者讲解了一些使用Wireshark来解决网络实际问题的技巧。, 本书共分为14章
  • Wireshark网络分析实战 中文完整带目录 PDF

    千次下载 热门讨论 2016-04-12 07:39:34
    第2章 抓包过滤器的用法 37 2.1 简介 37 2.2 配置抓包过滤器 38 2.3 配置Ethernet过滤器 42 2.4 配置主机和网络过滤器 46 2.5 配置TCP/UDP及端口过滤器 50 2.6 配置复合型过滤器 53 2.7 配置字节偏移和净载匹配型...
  • Wireshark数据包分析实战第2版)》从网络嗅探与数据包分析的基础知识开始,渐进地介绍Wireshark的基本使用方法及其数据包分析功能特性,同时还介绍了针对不同协议层与无线网络的具体实践技术与经验技巧。...
  • 第2章 监听网络线路  第3章 Wireshark入门  第4章 玩转捕获数据包  第5章 Wireshark高级特性  第6章 通用底层网络协议 第7章 常见高层网络协议  第8章 基础的现实世界场景 第9章 让网络不再卡 第10章 ...
  • 本节书摘来自异步社区《Wireshark数据包分析实战第2版)》一书中的第...第3章 Wireshark入门Wireshark数据包分析实战第2版)在第1章中,我们介绍了几种可以进行网络分析的数据包嗅探工具软件,但在本书中我们将...

    本节书摘来自异步社区《Wireshark数据包分析实战(第2版)》一书中的第3章3.1节Wireshark简史,作者【美】Chris Sanders,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    第3章 Wireshark入门
    Wireshark数据包分析实战(第2版)
    在第1章中,我们介绍了几种可以进行网络分析的数据包嗅探工具软件,但在本书中我们将只使用Wireshark,并在此章进行简要的介绍。

    3.1 Wireshark简史
    Wireshark的历史相当久远,其最初的版本叫做Ethereal,由毕业于密苏里大学堪萨斯城分校计算机科学专业的Gerald Combs出于项目需要而开发,并于1998年以GNU Public Licence(GPL)开源许可证发布。

    在发布了Ethereal 8年之后,Combs辞职另谋高就,但是在那个时候他的雇主公司掌握着Ethereal的商标权,而Combs也没能和其雇主就取得Ethereal商标达成协议。于是Combs和整个开发团队在2006年中的时候将这个项目重新命名为Wireshark。

    Wireshark随后迅速地取得了大众的青睐,而其合作开发团队也壮大到500人以上,然而之前的Ethereal项目却再没有前进过一步。

    展开全文
  • Wireshark数据包分析实战

    千次下载 热门讨论 2014-06-29 14:24:16
    第2章 监听网络线路 2.1混杂模式 2.2在集线器连接的网络中进行嗅探 2.3在交换式网络中进行嗅探 2.3.1端口镜像 2.3.2集线器输出 2.3.3使用网络分流器 2.3.4ARP欺骗 2.4在路由网络环境中进行嗅探 2.5部署嗅探器的实践...
  • 本书共分3篇。第1篇介绍Wireshark的各项功能...第2篇介绍基于Wireshark对TCP/IP协议族中常用协议的详细分析,如ARP、IP、UDP、TCP、HTTP、HTTPS和FTP等;第3篇介绍借助Wireshark分析操作系统启动过程中的网络通信情况。
  • Wireshark数据包分析实战(第2版)》从网络嗅探与数据包分析的基础知识开始,渐进地介绍Wireshark的基本使用方法及其数据包分析功能特性,同时还介绍了针对不同协议层与无线网络的具体实践技术与经验技巧。...
  • 本节书摘来自异步社区《Wireshark数据包分析实战...第6章 通用底层网络协议Wireshark数据包分析实战第2版)无论是处理延迟问题,还是甄别存在错误的应用,抑或对安全威胁进行聚焦检查,都是为了发现异常的流量,...

    本节书摘来自异步社区《Wireshark数据包分析实战(第2版)》一书中的第6章6.1节地址解析协议,作者【美】Chris Sanders,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    第6章 通用底层网络协议
    Wireshark数据包分析实战(第2版)
    无论是处理延迟问题,还是甄别存在错误的应用,抑或对安全威胁进行聚焦检查,都是为了发现异常的流量,而你必须首先了解正常的流量。在下面的几章中,你将会学到正常的网络流量在数据包级别是如何工作的。

    我们将介绍最常见的几种协议,包括最基础的TCP、UDP和IP,以及如HTTP、DHCP、DNS等最常用的应用层协议。在每个协议的相关部分,都会至少有一个捕获文件供你下载,并可以让你直接上手分析。在这一章中,我们将着重关注在OSI分层模型中从第1层到第4层的底层协议。

    这应该是这本书中最重要的几章。如果跳过了这些内容,你会感到如同周末晚餐中没有牛角面包那样不完整,即使你对每个协议是如何工作的都了然于胸,那也请至少快速浏览一遍,以便复习每个协议数据包的结构。

    6.1 地址解析协议
    网络上的通信会使用到逻辑地址和物理地址。逻辑地址可以使得不同网络以及没有直接相连的设备之间能够进行通信。物理地址则用来在单一网段中交换机直接连接的设备之间进行通信。在大多数情况下,正常通信需要这两种地址协同工作。

    我们假设这样一个场景:你需要和你网络中的一个设备进行通信,这个设备可能是某种服务器,或者只是你想与之共享文件的另一个工作站。你所用来创建这个通信的应用已经得到了这个远程主机的IP地址(通过DNS服务,这将在第7章中介绍),也意味着系统已经拥有了用来构建它想要在第3层到第7层中传递的数据包所有需要的信息。这时它所需要的唯一信息就是第2层包含目标主机MAC地址的数据链路层数据。

    之所以需要MAC地址,是因为网络中用于连接各个设备的交换机使用了内容寻址寄存器(CAM)。这个表列出了它在每一个端口的所有连接设备的MAC地址。当交换机收到了一个指向特定MAC地址的流量,它会使用这个表,来确定应该使用哪一个端口发送流量。如果目标的MAC地址是未知的,这个传输设备会首先在它的缓存中查找这个地址,如果没有找到,那么这个地址就需要在网络上额外的通信来进行解析了。

    TCP/IP网络(基于IPv4)中用来将IP地址解析为MAC地址的过程称为地址解析协议(Address Resolution Protocol, ARP)。这个协议在RFC826中进行了定义,它的解析过程只使用两种数据包:一个ARP请求与一个ARP响应,如图6-1所示。

    12-1248 数据包分析实用技术-使用Wireshark解决现实世界中的网络问题(第2版)(改三校)0601.tif


    7ddb475b0f8c558f53b0cbbeeb93b121f0039406

    注意
     RFC(Request for Comments)是定义协议实现标准的官方文档。你可以在RFC Editor的首页上搜索RFC文档,http://www.rfc-editor.org/
    这个传输计算机会发出一个ARP请求,基本上就是问“大家好,我的IP地址是XX.XX.XX.XX,MAC地址是XX:XX:XX:XX:XX:XX。我需要向那个IP地址是XX.XX.XX.XX的家伙发些东西,但我不知道它的硬件地址,你们谁有这个IP地址的,可否请回复给我你的MAC地址?”

    这个数据包将被广播给网段中的所有设备。不是这个IP地址的设备将简单地丢弃这个数据包,而拥有这个IP地址的设备将发送一个ARP响应,就像是说:“你好,传输设备,我就是你所找的那个拥有IP地址为XX.XX.XX.XX的,我的MAC地址是XX:XX:XX:XX:XX:XX。”

    一旦这个解析过程完成了,传输设备就会对这个设备MAC和IP对应关系的缓存进行更新,并且开始传输数据。

    注意
     在Windows主机中,你可以通过在命令行中键入arp -a来查看ARP表。
    通过实际情况来看地址解析的这个过程,有助于你更好地理解它究竟是怎么工作的。但是在看一些例子之前,我们先介绍一下ARP数据包头。

    6.1.1 ARP头
    如图6-2所示,ARP头包含下列的几个域。

    硬件类型:数据链路层使用的类型数据。在大多数情况下,这个类型都是以太网(类型1)。

    协议类型:ARP请求正在使用的高层协议。

    硬件地址长度:正在使用的硬件地址的长度(八位组/字节)。

    12-1248数据包分析实用技术-使用Wireshark解决现实世界中的网络问题tu0


    841e158a1d0d4682b996b9288d466ff59c79c9dc

    协议地址长度:对于指定协议类型所使用的逻辑地址的长度(八位组/字节)。

    操作:ARP数据包的功能:1表示请求,2表示响应。

    发送方硬件地址:发送者的硬件地址。

    发送方协议地址:发送者的高层协议地址。

    目标硬件地址:目标接收方的硬件地址(ARP请求中为0)。

    目标协议地址:目标接受方的高层协议地址。

    现在打开arp_resolution.pcap这个文件,就可以看到实际的解析过程。我们将对这个过程中的每个数据包单独进行分析。

    6.1.2 数据包1:ARP请求
    如图6-3所示,第1个数据包是一个ARP请求。我们可以通过在Wireshark的Packet Details面板中,检查以太网头,来确定这个数据包是否是一个真的广播数据包。这个数据包的目的地址是ff:ff:ff:ff:ff:ff图标1。这是一个以太网的广播地址,所有发送到这个地址的数据包都会被广播到当前网段中的所有设备。这个数据包中以太网头的源地址就是我们的MAC地址图标2。


    45aab91932ad921d78e72dccc965f0589e42ea40

    在这个给定的结构中,我们可以确定这的确是一个在以太网上使用IP的ARP请求。这个ARP头列出了发送方的IP(192.168.0.114)和MAC地址(00:16:ce:6e:8b:24)图标3,以及接收方的IP地址192.168.0.1图标4。我们想要得到的目标MAC地址,还是未知的,所以这里的目的MAC地址填写为00:00:00:00:00:00。

    6.1.3 数据包2:ARP响应
    在我们对最初请求的响应中(如图6-4所示),第一个数据包中的源MAC地址成为了这个以太网头中的目的地址。这个ARP响应和之前的ARP请求看上去很像,除了以下几点。

    数据包的操作码(opcode)现在是0x0002,用来表示这是一个响应而不是请求。
    地址信息进行了颠倒——发送方的MAC地址和IP地址现在变成了目的MAC地址和IP地址。
    最重要的是,现在数据包中所有的信息都是可用的,也就是说我们现在有了192.168.0.1主机的MAC地址(00:13:46:0b:22:ba)。


    18a64a4341848701438ab0234abae094f77d3bdd

    6.1.4 无偿的ARP
    在我的家乡,当一些事是所谓的“无偿”的时候,那通常没有什么好的含义。但无偿发送的ARP却是一个好东西。

    在多数情况下,一个设备的IP地址是可以改变的。当这样的改变发生后,网络主机中缓存的IP和MAC地址映射就不再有效了。为了防止造成通信错误,无偿的ARP请求会被发送到网络中,强制所有收到它的设备去用新的IP和MAC地址映射更新缓存(如图6-5所示)。

    12-1248 数据包分析实用技术-使用Wireshark解决现实世界中的网络问题(第2版)(改二校)改0605.tif


    ba30e3df7127054b6b8e65a09e5cbfa9265906e8

    几个不同的情形都会产生无偿ARP数据包,其中一个最常见的就是IP地址的改变。打开arp_gratuitous.pcap这个捕获文件,你就会看到一个实际例子。这个文件只包含一个数据包(如图6-6所示),因为这就是无偿数据包的全部了。

    80213d003c5dc7a73ac79165828a013c810f503d

    检查这个以太网头,你会看见这个数据包是以广播的形式发送,以便网络上的所有主机能够接收到它图标1。这个ARP头看上去和ARP请求很像,除了发送方的IP地址图标2和目标IP地址图标3是相同的。当这个数据包被网络中的其他主机接收到之后,它会让这些主机使用新的IP和MAC地址关系更新它们的ARP表。由于这个ARP数据包是未经请求的,却导致客户端更新ARP缓存,所以会称之为无偿。

    你会在一些不同的情形下注意到无偿ARP数据包的存在。如上所示,设备IP地址的改变会生成它,并且一些操作系统也会在启动时进行无偿ARP的发送。此外,你可能会注意到一些系统使用无偿ARP数据包对流入流量进行负载均衡。

    展开全文
  • 本节书摘来自异步社区《Wireshark数据包分析实战第2版)》一书中的第6章6.2节互联网协议,作者【美】Chris Sanders,更多章节内容可以访问云栖社区“异步社区”公众号查看。 6.2 互联网协议位于OSI模型中第3层的...

    本节书摘来自异步社区《Wireshark数据包分析实战(第2版)》一书中的第6章6.2节互联网协议,作者【美】Chris Sanders,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    6.2 互联网协议
    位于OSI模型中第3层的协议的主要目的就是使得网络间能够互联通信。正如你所知道的,MAC地址被用来在第2层处理单一网络中的通信。与其类似,第3层则负责跨网络通信的地址。在这层上工作的不止一个协议,但最普遍的还是互联网协议(IP)。在此,我们将介绍在RFC 791中所定义的IP协议版本4(IPv4)。

    如果网络中的所有设备仅使用集线器或者交换机进行连接,那么这个网络称为局域网。如果你想将两个局域网连接起来,你可以使用路由器办到这一点。在复杂的网络中,可能会包含成千上万的局域网,而这些局域网是由世界各地成千上万的路由器连接起来的。互联网本身就是由无数局域网和路由器所组成的一个集合。

    6.2.1 IP地址
    IP地址是一个32位的地址,用来唯一标识连接到网络的设备。由于让人记住一串32位长的01字符确实比较困难,所以IP地址采用点分四组的表示法。

    在点分四组表示法中,以A.B.C.D的形式,构成IP地址的四组1和0分别转换为十进制0到255之间的数(如图6-7所示)。我们拿这样一个IP地址11000000 10101000 00000000 00000001举例来说,这个值显然不容易记忆或者表示,但如果采用点分四组的表示法,我们就可以将其表示为192.168.0.1。


    e271419b6764dbd87a8c174c4dfd4ce0b47de1e6

    IP地址之所以会被分成4个单独的部分,是因为每个IP地址都包含着两个部分:网络地址和主机地址。网络地址用来标识设备所连接到的局域网,而主机地址则标识这个网络中的设备本身。用来决定究竟IP地址哪部分属于网络或者主机的划分通常并不唯一。这实际上是由另一组名为网络掩码(netmask, network mask)的地址信息所决定的,有时它也会被称为子网掩码(subnet mask)。

    网络掩码用来标识IP地址中究竟哪一部分属于网络地址而哪一部分属于主机地址。网络掩码也是32位长,并且被设为1的每一位都标识着IP地址的对应部分是属于网络地址的,而剩下设为0的部分则标识着主机地址。

    我们以IP地址10.10.1.22为例,其二进制形式为00001010 00001010 00000001 00010110。为了能够区分出IP地址的每一个部分,我们将使用网络掩码。在这个例子中,我们的网络掩码是11111111 11111111 00000000 00000000。这意味着IP地址的前一半(10.10或者00001010 00001010)是网络地址,而后一半(1.22或者00000001 00010110)标识着这个网络上的主机,如图6-8所示。


    3945e8976de3314b81a045ecdf38f0d5076703fd

    网络掩码也可以写成点分四组的形式。比如网络掩码11111111 11111111 00000000 00000000可以被写成255.255.0.0。

    IP地址和网络掩码为简便起见,通常会被写成无类型域间选路(Classless Inter-Domain Routing, CIDR)的形式。在这个形式下,一个完整的IP地址后面会有一个左斜杠(/),以及一个用来表示IP地址中网络部分位数的数字。举例来说,IP地址10.10.1.22和网络掩码255.255.0.0,在CIDR表示法下就会被写成10.10.1.22/16的形式。

    6.2.2 IPv4头
    源IP地址和目的IP地址都是IPv4数据包头中的重要组成部分,但它们并不是你在数据包中能够找到的IP信息的全部。IP头比起我们刚刚介绍过的ARP数据包复杂得多。这其中包含很多额外的信息,以便IP完成其工作。

    如图6-9所示,IPv4头有着下列几个域。

    版本号(Version):IP所使用的版本。

    首部长度(Header Length):IP头的长度。

    服务类型(Type of Service):优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序。

    总长度(Total Length):IP头与数据包中数据的长度。

    标识符(Identification):一个唯一的标识数字,用来识别一个数据包或者被分片数据包的次序。


    8c6327affd2f4a330c5f61ff90ac2ee610b702ee

    标记(Flags):用来标记一个数据包是否是一组分片数据包的一部分。

    分片偏移(Fragment Offset):一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装。

    存活时间(Time to Live):用来定义数据包的生存周期,以经过路由器的跳数/秒数进行描述。

    协议(Protocol):用来识别在数据包序列中上层协议数据包的类型。

    首部校验和(Header Checksum):一个错误检测机制,用来确认IP头的内容没有被损坏或者篡改。

    源IP地址(Source IP Address):发出数据包的主机的IP地址。

    目的IP地址(Destination IP Address):数据包目的地的IP地址。

    选项(Options):保留作额外的IP选项。它包含着源站选路和时间戳的一些选项。

    数据(Data):使用IP传递的实际数据。

    6.2.3 存活时间
    存活时间(TTL)值定义了在该数据包被丢弃之前,所能经历的时间,或者能够经过的最大路由数目。TTL在数据包被创建时就会被定义,而且通常在每次被发往一个路由器的时候减1。举例来说,如果一个数据包的存活时间是2,那么当它到达第一个路由器的时候,其TTL会被减为1,并会被发向第二个路由。这个路由接着会将TTL减为0,这时如果这个数据包的最终目的地不在这个网络中,那么这个数据包就会被丢弃,如图6-10所示。由于TTL的值在技术上还是基于时间的,一个非常繁忙的路由器可能会将TTL的值减去不止1,但通常情况下,我们还是可以认为一个路由设备在多数情况下只会将TTL的值减去1。


    13ff8e412c1a8a47be1481d54d411c59debf25ff

    为什么TTL的值会这样重要?我们通常所关心的一个数据包的生存周期,只是其从源前往目的地所花去的时间。但是考虑到一个数据包想要通过互联网发往一台主机需要经过数十个路由器。在这个数据包的路径上,它可能会碰到被错误配置的路由器,而失去其到达最终目的地的路径。在这种情况下,这个路由器可能会做很多事情,其中一件就是将数据包发向一个网络,而产生一个死循环。

    如果你有任何编程背景,那么你就会知道死循环会导致各种问题,一般来说会导致一个程序或者整个操作系统的崩溃。理论上,同样的事情也会以数据包的形式发生在网络上。数据包可能会在路由器之间持续循环。随着循环数据包的增多,网络中可用的带宽就会减少,直至拒绝服务(DoS)的情况出现。IP头中的TTL域就为了防止出现这个潜在的问题。

    让我们看一下Wireshark中的示例。文件ip_ttl_source.pcap包含着两个ICMP数据包。ICMP(我们会在这章之后介绍到)利用IP传递数据包,我们可以通过在Packet Details面板中展开IP头区段看到。

    你可以看到IP的版本号为4图标1,IP头的长度是20字节图标2,首部和载荷的总长度是60字节图标3并且TTL域的值是128图标4。


    d08670eb6209387d5926310a78fe1b0fe67ba1b4

    ICMP ping的主要目的就是测试设备之间的通信。数据从一台主机发往另一台作为请求,而后接收主机会将那个数据发回作为响应。这个文件中,我们一台IP地址为10.10.0.3图标5的设备将一个ICMP请求发向了地址为192.168.0.128图标6的设备。这个原始的捕获文件是在源主机10.10.0.3上被创建的。

    现在打开文件ip_ttl_dest.pcap。在这个文件中,数据在目的主机192.168.0.128处被捕获。展开这个捕获中第一个数据包的IP头,来检查它的TTL值(如图6-12所示)。


    e7d8140d8a5b52ab89236750b4c182766cf5ff9e

    你可以立刻注意到TTL的值变为127了,比原先的TTL减少了1。即使不知道网络的结构,我们也可以知道这两台设备是由一台路由器隔开,并且经过这台路由器的路径会将TTL值减1。

    6.2.4 IP分片
    数据包分片是将一个数据流分为更小的片段,是IP用于解决跨越不同类型网络时可靠传输的一个特性。

    一个数据包的分片主要基于第2层数据链路协议所使用的最大传输单元(Maximum Transmission Unit, MTU)的大小,以及使用这些第2层协议的设备配置情况。在多数情况下,第2层所使用的数据链路协议是以太网。以太网的默认MTU是1500,也就是说,以太网的网络上所能传输的最大数据包大小是1500字节(并不包括14字节的以太网头本身)。

    注意
     尽管存在着标准的MTU设定,但是一个设备的MTU通常可以手工设定。MTU是基于接口进行设定,其可以在Windows或者Linux系统上修改,或者在管理路由器的界面上修改。
    当一个设备准备传输一个IP数据包时,它将会比较这个数据包的大小,以及将要把这个数据包传送出去的网络接口MTU,用于决定是否需要将这个数据包分片。如果数据包的大小大于MTU,那么这个数据包就会被分片。将一个数据包分片包括下列的步骤。

    1.设备将数据分为若干个可成功进行传输的数据包。

    2.每个IP头的总长度域会被设置为每个分片的片段长度。

    3. 更多分片标志将会在数据流的所有数据包中设置为1,除了最后一个数据包。

    4.IP头中分片部分的分片偏移将会被设置。

    5.数据包被发送出去。

    文件ip_frag_source.pcap从地址为10.10.0.3的计算机上捕获而来。它向一个地址为192.168.0.128的设备发送ping请求。注意在ICMP(ping)请求之后,Packet List面板的Info列中列出了两个被分段的IP数据包。

    先检查数据包1的IP头(如图6-13所示)。

    根据更多分片和分片偏移域,你可以断定这个数据包是分片数据包的一部分。被分片的数据包要么有一个大于0的分片偏移,要么设定了更多分片的标志位。在第一个数据包中,更多分片标志位被设定图标1,意味着接收设备应该等待接收序列中的另一个数据包。分片偏移被设为0图标2,意味着这个数据包是这一系列分片中的第一个。


    e516993b60f8dcb361f1f81dd7d4b620f69dd8d9

    第二个数据包的IP头(如图6-14所示),同样被设定了更多分片的标志位,但在这里分片偏移的值是1480。这里明显意味着1500字节的MTU,减去IP头的20字节。


    9b75e10e8e0df97b75d20fd64bb47e09b8960ce7

    第三个数据包(如图6-15所示),并没有设定更多分片标志位图标1,也就标志着整个数据流中的最后一个分片。并且其分片偏移被设定为2960图标2,也就是1480+(1500-20)的结果。这些分片可以被认为是同一个数据序列的一部分,是因为它们IP头中的标志位域拥有相同的值。

    e04e4060643a72b841626d4c2b020fd85323e643
    展开全文

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

wireshark网络分析实战第2版