带你读《从实践中学习TCP/IP协议》之一:网络概述-阿里云开发者社区

开发者社区> 华章出版社> 正文

带你读《从实践中学习TCP/IP协议》之一:网络概述

简介: 传统TCP/IP协议的学习过程漫长而又枯燥乏味。针对这种现状,本书主要结合理论,并通过实际动手实践,带领读者掌握TCP/IP的相关知识。本书结合了Wireshark和netwox工具对TCP/IP协议进行讲解。其中,netwox工具提供了大量模块,允许用户手动创建各种协议的数据包,而Wireshark工具则可以捕获数据包,直观地展现用户创建的数据包。

信息安全技术大讲堂
点击查看第二章
点击查看第三章
从实践中学习TCP/IP协议

image.png


  
大学霸IT达人 编著

第1章 网 络 概 述

  计算机网络是通过数据通信技术将孤立的计算机连接起来,使其能够共享文件和传输数据。通过实现网络连接,计算机的作用被几十倍、几百倍地放大。由于网络的不断发展,各种应用也随之深入人们生活的方方面面。网络协议作为网络世界的基石,也被不断制定和完善。本章将简要讲解网络和网络协议的基本概念。

1.1 网 络 组 成

  网络是计算机或类似计算机的网络设备的集合,它们之间通过各种传输介质进行连接。无论设备之间如何连接,网络都是将来自于其中一台网络设备上的数据,通过传输介质传输到另外一台网络设备上。本节将基于这个过程讲解网络的组成。

1.1.1 网卡

  网卡也被称为网络适配器(Network Adapter),是连接计算机和传输介质的接口。网卡主要用来将计算机数据转换为能够通过传输介质传输的信号。
  1.网卡种类
  网络设备要访问互联网,就需要通过网卡进行连接。由于上网的方式不同,所使用的网卡种类也会不同。网卡的种类有以下几种:
  (1)有线网卡
  有线网卡就是通过“线”连接网络的网卡。这里所说的“线”指的是网线。有线网卡常见形式如图1.1所示。
  (2)无线网卡
  与有线网卡相反,无线网卡是不需要通过网线进行连接的,而是通过无线信号进行连接。无线网卡通常特指Wi-Fi网络的无线网卡。无线网卡常见形式如图1.2所示。
  (3)蓝牙适配器
  蓝牙适配器也是一种无线网卡。蓝牙适配器与无线网卡的区别是数据通信方式不同。蓝牙适配器常见样式如图1.3所示。

image.png

  2.按安装方式分类
  网卡通常是网络设备的从属设备。根据其安装方式,网卡可以分为内置网卡和外置网卡。
  (1)内置网卡
  由于网卡已经成为连接网络的必要设备,所以很多网络设备都内置了网卡。因此,内置网卡也被称为集成网卡。例如,现在的主板都集成了有线网卡,如图1.4所示。箭头所指的接口就是内置网卡提供的有线网卡接口。

image.png

  (2)外置网卡
  除了内置网卡外,很多网络设备都允许用户安装额外的网卡。这类网卡被称为外置网卡,有时被称为独立网卡。由于它可以插在主板的各种扩展插槽中,所以可以随意拆卸,具有一定的灵活性。图1.1和图1.2的有线网卡和无线网卡就属于外置网卡。

1.1.2 网络电缆

  网络电缆用来连接网络中的各个设备,供设备之间进行数据通信。常见的网络电缆有双绞线、光纤、电话线等。
  1.双绞线
  双绞线也就是网线。它是由两根具有绝缘保护层的铜导线缠绕组成的,如图1.5所示。这样的铜线一共有8根。每根都通过对应的颜色进行区分。现实生活中,家庭和企业中的计算机进行上网,一般都是通过双绞线连接网络。这些双绞线在排序上往往采用EIA/TIA 568B的线序,依次为橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。

image.png

  2.光纤
  光纤是一种传输光信号的细而柔软的媒质,多数光纤在使用前必须由几层保护结构包裹,如图1.6所示。光纤的主要作用是把要传送的数据由电信号转换为光信号进行通信。在光纤的两端分别装有“光猫”进行信号转换。
  3.电话线
  电话线就是连接电话的线。电话线也是由绝缘保护层的铜导线组成的。与双绞线不同的是,电话线只有2根或4根线,而且不一定会缠绕在一起,也没有颜色排序,如图1.7所示。

image.png

1.1.3 网络设备

  网络设备指的是网络组成中的设备,如交换机、路由器、调制解调器等。它们是发送或接收数据的终端设备。
  1.交换机
  交换机(Switch)可以将多个网络设备连接起来组成一个局域网。它是一种用于电(光)信号转发的网络设备,用来进行数据交换。交换机外观如图1.8所示。

image.png

  2.路由器
  路由器(Router)又称网关设备(Gateway),用于连接多个逻辑上分开的网络。所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网中时,可通过路由器的路由功能来完成。它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。路由器也是用来进行数据转换的。路由器与交换机很容易区分,最大的区别是,路由器上有WAN口和LAN接口,而交换机没有这些接口。常见的路由器外观如图1.9所示。

image.png

  3.调制解调器
  调制解调器(Modem),俗称“猫”,是一种计算机硬件。它能把计算机的数字信号翻译成可沿普通电话线传送的脉冲信号,而这些脉冲信号又可被线路另一端的另一个调制解调器接收,并翻译为计算机的数字信号语言。调制解调器外观如图1.10所示。

image.png

1.2 网 络 协 议

  网络协议是网络运行的基石。在网络中,网络设备、传输介质、网卡又各有不同,数据在传输过程中也会使用不同的规则进行传输,而这些规则是依靠网络协议完成的。下面介绍网络协议的相关知识。

1.2.1 什么是网络协议

  网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。它规定了通信时信息必须采用的格式和这些格式所代表的意义。网络中存在着许多协议,接收方和发送方使用的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。而TCP/IP协议就是一种常见的协议,Internet上的计算机使用的就是该协议。

1.2.2 TCP/IP协议

  TCP/IP协议是Internet网络的基础协议。它不是一个协议,而是一个协议族的统称。起初它是一门新的通信技术。在20世纪70年代前半叶,ARPANET(全球互联网的祖先)中的一个研究机构研发了TCP/IP,直到1983年成为ARPANET网络中唯一指定的协议。最初研究这项新技术,主要用于国防军事上,是为了在通信过程中,即使遭到了敌人的攻击和破坏,也可以经过迂回线路实现最终通信,保证通信不中断。后来逐步演变为现有的TCP/IP协议族。该协议族包括TCP协议、IP协议和ICMP协议和HTTP协议等。

1.2.3 OSI协议层次

  OSI协议层次结构就是现在常说的OSI参考模型(Open System Interconnection Reference Model)。它是国际标准化组织(ISO)提出的一个标准框架,定义了不同计算机互连的标准,目的是使世界范围内的各种计算机互连起来,构成一个网络。
  OSI框架是基于1984年国际标准化组织(ISO)发布的ISO/IEC 7498标准。该标准定义了网络互联的7层框架。这7层框架自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其层次如图1.11所示。

image.png

  每层的作用如下:

  • 应用层:为应用程序提供服务并规定应用程序中相关的通信细节。常见的协议包括超文本传输协议(HTTP)、简单邮件传送协议(SMTP)和远程登录(Telnet)协议等。
  • 表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。该层主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。
  • 会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及记忆数据的分隔等数据传输相关的管理。
  • 传输层:只在通信双方的节点上(比如计算机终端)进行处理,无须在路由器上处理。
  • 网络层:将数据传输到目标地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互联等功能。
  • 数据链路层:负责物理层面上互连的节点间的通信传输。例如,一个以太网相连的两个节点之间的通信。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错和重发等。
  • 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。

1.2.4 TCP/IP协议层次结构

  TCP/IP协议层次结构也就是现在常说的TCP/IP参考模型。它是ARPANET和其后继的因特网使用的参考模型。基于TCP/IP的参考模型,可以将协议分成4个层次,从上到下分别为应用层、传输层、网际层和网络访问层。分层以后,层中的协议只负责该层的数据处理。TCP/IP协议层次结构如图1.12所示。

image.png

  每层的作用如下:

  • 应用层:为应用程序提供服务并规定应用程序中相关的通信细节。
  • 传输层:为两台主机上的应用程序提供端到端的通信,提供流量控制、错误控制和确认服务。
  • 网际层:提供独立于硬件的逻辑寻址,从而让数据能够在具有不同的物理结构的子网之间传递。负责寻找地址和路由选择的同时,网络层还可以实现拥塞控制、网际互联等功能。
  • 网络访问层:提供了与物理网络连接的接口。针对传输介质设置数据格式,根据硬件的物理地址实现数据的寻址,对数据在物理网络中的传递提供错误控制。

1.3 学习辅助工具——网络工具集netwox

  一个好的辅助工具可以起到事半功倍的效果。在本书中将使用到两个辅助工具,网络工具集工具netwox和网络分析工具Wireshark。
  netwox是由lauconstantin开发的一款网络工具集,适用群体为网络管理员和网络黑客。它可以创造任意的TCP、UDP和IP数据报文,以实现网络欺骗。它可以在命令模式下使用,也可以在GUI中使用netwag调用。该工具包含了超过200个不同的功能,这里被称为模块。每个模块都有一个特定的编号,使用不同的编号模块来实现不同的功能。
  netwox工具支持在Linux和Windows系统中运行。由于后面的章节需要结合netwox工具来实现各种功能,所以这里讲解该工具的安装及基本使用方法。

1.3.1 下载及安装

  Kali Linux系统自带netwox工具,而Windows系统默认没有安装。因此,本节将讲解如何在Windows系统中安装netwox工具。安装方法如下:
  (1)访问网址https://sourceforge.net/projects/ntwox/ ,进入netwox下载页面,如图1.13所示。图中显示了可下载的版本,从这里可以看到当前的最新版本为5.39。

image.png

  (2)下载最新版本,单击Download Latest Version按钮进行下载。成功下载后,下载的是一个压缩包,名称为netw-ib-ox-ag-5.39.0.tgz。
  (3)解压netw-ib-ox-ag-5.39.0.tgz安装包,在解压的文件夹中找到对应的应用程序文件installwindows.exe。双击该文件进行安装,会弹出“安装确认”对话框,如图1.14所示。

image.png

  (4)同意在该系统中安装。输入y,并回车,将显示其他需要确认的信息。这里,一律输入y并回车即可,信息如下:

This program will install netwib, netwox and netwag on your system.
  Do you agree ? [y/n] y
  Setting global variables.
   Version...
   Version=539
   InstallDir...
   InstallDir=C:\Program Files (x86)\netw\netw539
  Do you agree to use this installation directory ? [y/n] y                                                                #确认安装的目录
  Copying files under C:\Program Files (x86)\netw\netw539
   src\netwox-bin_windows\netwib539.dll
   src\netwox-bin_windows\netwox539.exe
   src\netwag-bin_windows\netwag539.tcl
   src\netwib-bin_windows\dll
   src\netwib-bin_windows\include
   src\netwib-bin_windows\lib
   src\netwib-doc_html\*
   src\netwox-doc_html\*
   src\netwag-doc_html\*
  Do you agree to place shortcuts on desktop ? [y/n] y                                                                    #确认是否创建桌面快捷键
  Do you agree to place shortcuts in start menu ? [y/n] y                                                                #确认是否在开始菜单中创建快捷键
  Press any key to terminate

  (5)上述代码中的最后一行信息表示按任意键终止,即表示安装完成。此时在“开始”菜单中可以查看到安装的netwox工具,如图1.15所示。

image.png

1.3.2 层次结构分析

  成功安装了netwox工具以后就可以使用了。由于该工具提供了众多模块,为了方便用户对模块的查找和使用,netwox对这些模块以分类的方式进行了整理,以层次结构(如主菜单、子菜单)的方式进行显示,供用户查找和使用。使用该工具之前,需要了解分类的这些层次结构。下面将对层次结构进行分析。
  (1)在“开始”菜单中,选择netwox命令,运行netwox工具,如图1.16所示。
  图1.16中显示了该工具的主菜单。每一行表示一个菜单项,第一个字符为该菜单的快捷键。每个菜单含义如下:

  • 0:退出netwox工具。
  • 3:搜索工具,用来搜索与指定信息相关的模块。
  • 4:显示指定模块的帮助信息。
  • 5:在命令行中输入指定模块的参数选项并运行。
  • 6:从键盘输入指定模块的参数选项并运行。
  • a:显示信息。
  • b:显示网络协议下相关的模块。
  • c:显示应用程序协议下相关的模块。
  • d:显示与嗅探数据包相关的模块。
  • e:显示与创建和发送数据包相关的模块。
  • f:显示与进行数据包记录相关的模块。
  • g:显示与客户端相关的模块。
  • h:显示与服务器相关的模块。
  • i:显示与检测主机连通性相关的模块。
  • j:显示与路由跟踪相关的模块。
  • k:显示与扫描计算机和端口相关的模块。
  • l:显示与审计相关的模块。
  • m:显示与暴力破解相关的模块。
  • n:显示与远程管理相关的模块。
  • o:显示其他模块。

image.png

  以上菜单项是netwox工具的总体分类,每个菜单项属于一个大类。而每个菜单项中还会有子菜单,而每个子菜单下又有一个小的分类。
  (2)使用快捷键e,查看创建和发送数据包的相关模块,输出信息如下:

Select a node (key in 03456abcdefghijklmno): e
  
  ############# spoof (create and send packets) ##############                                                                #创建和发送数据包模块
   0 - leave netwox
   1 - go to main menu
   2 - go to previous menu
   3 - search tools
   4 - display help of one tool
   5 - run a tool selecting parameters on command line
   6 - run a tool selecting parameters from keyboard
   a + Ethernet spoof
   b + IP spoof
   c + UDP spoof
   d + TCP spoof
   e + ICMP spoof
   f + ARP spoof

  从输出信息可以了解到,该分类中的子菜单包含了各种创建和发送数据包的模块,如IP协议的(快捷键b)、UDP协议的(快捷键c)、ICMP协议的(快捷键e)。通过子菜单的快捷键,可以进一步查看具体的可用模块或更小的分类。
  (3)使用快捷键c,查看创建和发送UDP数据包的模块,输出信息如下:

Select a node (key in 0123456abcdef): c
  
  ######################## UDP spoof #########################                                                                #创建和发送UDP数据包
   0 - leave netwox
   1 - go to main menu                                #返回主菜单
   2 - go to previous menu                        #返回上一个菜单
   3 - search tools
   4 - display help of one tool
   5 - run a tool selecting parameters on command line
   6 - run a tool selecting parameters from keyboard
   a - 35:Spoof EthernetIp4Udp packet
   b - 39:Spoof Ip4Udp packet
   c - 43:Spoof of packet samples : fragment, ip4opt:noop
   d - 44:Spoof of packet samples : fragment, ip4opt:rr
   e - 45:Spoof of packet samples : fragment, ip4opt:lsrr
   f - 46:Spoof of packet samples : fragment, ip4opt:ts
   g - 47:Spoof of packet samples : fragment, ip4opt:ipts
   h - 48:Spoof of packet samples : fragment, ip4opt:ippts
   i - 141:Spoof EthernetIp6Udp packet
   j - 145:Spoof Ip6Udp packet
   k - 192:Spoof of packet samples : fragment, ip4opt:ssrr

  以上输出信息显示了相关的各种模块及快捷键。例如,加粗部分的信息表示netwox的第39个模块功能为创建基于IPv4地址的UDP协议数据包。如果使用该模块,可以使用快捷键b;如果用户想退出当前分类,可以使用快捷键1返回主菜单,或使用快捷键2返回上一个菜单;使用快捷键0退出netwox工具。以类似的方法,可以查看其他分类中的模块。

1.3.3 使用搜索功能

  虽然netwox工具对所有模块进行了整理和分类,但是有时候想找到要使用的模块也会很麻烦。因此,netwox提供了搜索功能。用户可以指定关键字搜索与之相关的模块。例如,搜索与DNS相关的模块。在主菜单界面中输入3,显示信息如下:

Select a node (key in 03456abcdefghijklmno): 3
  Enter search string:

  以上输出信息表示,需要在这里输入要搜索的关键字。例如,这里输入dns然后回车,将显示与DNS相关的模块,输出信息如下:

Enter search string: dns
  
  ############ list of tools containing this text ############
  Tools containing "dns":
    102:Query a DNS server
    103:Obtain version of a Bind DNS server
    104:DNS server always answering same values
    105:Sniff and send DNS answers

  输出信息显示了与DNS相关的模块。相关的模块编号有102、103、104和105。

1.3.4 使用模块

  1.3.3节介绍了如何查找要使用的模块。找到要使用的模块编号以后就可以进行使用了。本节将以一个模块为例,简单地介绍其使用方法。无论使用哪个模块,基本语法是不会变的。语法格式如下:

image.png

  其中,ID表示模块对应的编号,是必需的;options表示可用到的选项,是可选的。
  【实例1-1】演示使用编号为1的模块,实现对应的功能。
  (1)启动netwox工具。然后在主菜单界面中按快捷键5,显示信息如下:

Select a node (key in 03456abcdefghijklmno): 5
  Select tool number (between 1 and 223):

  以上输出信息表示需要输入要使用的模块编号。
  (2)本例使用第1个模块,输入1然后回车,将显示该模块的帮助信息,并在帮助信息下面会给出使用模块的命令。输出信息如下:

Select tool number (between 1 and 223): 1
  
  ################## running tool number 1 ###################
  Title: Display network configuration                    #功能简单介绍
  +--------------------------------------------------------------------------------------------------------------+
  | This tool displays network configuration:         |    #功能详细说明
  |  - the list of devices/interfaces:                     |
  |     + nu: device number                                 |
  |     + dev: easy device name                             |
  ···                                                    #省略其他信息
  |  - the routes                                            |
  |     + nu: device number of device associated to this entry       |
  |     + destination/netmask: destination addresses               |
  | If no Parameter is set, they are all displayed.                  |
  |                                                                            |
  | This tool may need to be run with admin privilege in order to obtain |
  | full network configuration.                                         |
  +-------------------------------------------------------------+
  Synonyms: address, arp, device, gateway, ifconfig, interface, ipconfig, mac, 
  neighbor, netmask, route, show
  Usage: netwox 1 [-d|+d] [-i|+i] [-a|+a] [-r|+r]            #语法格式
  Parameters:                                                #可用的选项参数
   -d|--devices|+d|--no-devices   display devices
   -i|--ip|+i|--no-ip             display ip addresses
   -a|--arpcache|+a|--no-arpcache display arp cache and neighbors
   -r|--routes|+r|--no-routes     display routes
  Example: netwox 1                                        #参考实例
  Enter optional tool parameters and press Return key.
  netwox 1

  上述信息首先输出模块功能的简单介绍,以及功能的详细说明信息;然后输出的是该模块的语法格式和可用的选项参数,并给出了参考实例。输出信息的最后一行是用户使用到的命令。我们要使用的模块为1,因此给出的命令信息为netwox 1。这里还可以输入可使用的选项。如果选项不是必须的,可以不输入选项。
  (3)本例中,使用选项-i表示获取IP地址信息。在netwox 1后面输入-i然后回车,将执行模块功能。运行结果如下:

netwox 1 -i
  nu ip             /netmask                    ppp point_to_point_with
  1  127.0.0.1      /255.0.0.0                    0
  2  192.168.59.1   /255.255.255.0              0
  5  192.168.12.102 /255.255.255.0              0
  7  192.168.38.1   /255.255.255.0              0
  13 192.168.12.102 /255.255.255.0              0
  25 192.168.38.1   /255.255.255.0               0
  26 192.168.59.1   /255.255.255.0              0
  9  127.0.0.1      /255.0.0.0                       0
  
  Command returned 0 (OK)
  Press 'r' or 'k' to run again this tool, or any other key to continue

  以上输出信息显示了模块执行的结果。输出信息的最后一行表示,如果用户继续使用该模块,按快捷键r或k,将回到netwox 1使用模块的命令模式中;如果用户不再使用该模块,按任意键将返回主菜单界面。

image.png

1.4 学习辅助工具——网络分析工具Wireshark

  Wireshark(前身Ethereal)是一个网络包分析工具。该工具主要是用来捕获网络数据包,并自动解析数据包,为用户显示数据包的详细信息,供用户对数据包进行分析。它可以运行在Windows和Linux操作系统上。由于后面章节会使用该工具捕获并分析各类协议数据包,本节将讲解该工具的安装及基本使用方法。

1.4.1 下载及安装

  Kali Linux系统自带Wireshark工具,而Windows系统中默认没有安装该工具。因此,本节讲解如何在Windows系统中安装Wireshark工具。安装方法如下:
  (1)打开网址http://www.wireshark.org ,进入Wireshark官网,如图1.17所示。

image.png

  (2)单击图中的下载图标进入下载页面,如图1.18所示。在Stable Release部分可以看到目前Wireshark的最新版本是2.6.5,并提供了Windows(32位和64位)、Mac OS和源码包的下载地址。用户可以根据自己的操作系统下载相应的软件包。

image.png

  (3)这里下载Windows 64位的安装包。单击Windows Installer (64-bit)链接,进行下载。下载后的文件名为Wireshark-win64-2.6.5.exe。
  (4)双击下载的软件包进行安装。安装比较简单,只要使用默认值,单击Next按钮,即可安装成功。
  (5)安装好以后,在Windows的“开始”菜单中会出现Wireshark图标,如图1.19所示。

image.png

1.4.2 实施抓包

  安装好Wireshark以后,就可以运行它来捕获数据包了。方法如下:
  (1)在Windows的“开始”菜单中,单击Wireshark菜单,启动Wireshark,如图1.20所示。该图为Wireshark的主界面,界面中显示了当前可使用的接口,例如,本地连接5、本地连接10等。要想捕获数据包,必须选择一个接口,表示捕获该接口上的数据包。

image.png

  (2)在图1.20中,选择捕获“本地连接”接口上的数据包。选择“本地连接”选项,然后单击左上角的按钮,将进行捕获网络数据,如图1.21所示。图中没有任何信息,表示没有捕获到任何数据包。这是因为目前“本地连接”上没有任何数据。只有在本地计算机上进行一些操作后才会产生数据,如浏览网站。

image.png

  (3)当本地计算机浏览网站时,“本地连接”接口的数据将会被Wireshark捕获到。捕获的数据包如图1.22所示。图中方框中显示了成功捕获到“本地连接”接口上的数据包。

image.png

  (4)Wreshark将一直捕获“本地连接”上的数据。如果不需要再捕获,可以单击左上角的image.png按钮,停止捕获。

1.4.3 使用显示过滤器

  默认情况下,Wireshark会捕获指定接口上的所有数据,并全部显示。这样会导致在分析这些数据包时,很难找到想要分析的那部分数据包。这时可以借助显示过滤器快速查找数据包。显示过滤器是基于协议、应用程序、字段名或特有值的过滤器,可以帮助用户在众多的数据包中快速地查找数据包,可以大大减少查找数据包时所需的时间。
  使用显示过滤器,需要在Wireshark的数据包界面中输入显示过滤器并执行,如图1.23所示。
  图中方框标注的部分为显示过滤器区域。用户可以在里面输入显示过滤器,进行数据查找,也可以根据协议过滤数据包。用到的显示过滤器如表1.1所示。

image.png

image.png

  例如,要从捕获到的所有数据包中,过滤出DNS协议的数据包,这里使用dns显示过滤器,过滤结果如图1.24所示。图中显示的所有数据包的协议都是DNS协议。

image.png

1.4.4 分析数据包层次结构

  任何捕获的数据包都有它自己的层次结构,Wireshark会自动解析这些数据包,将数据包的层次结构显示出来,供用户进行分析。这些数据包及数据包对应的层次结构分布在Wireshark界面中的不同面板中。下面介绍如何查看指定数据包的层次结构。
  (1)使用Wireshark捕获数据包,界面如图1.25所示。

image.png

  图1.25中所显示的信息从上到下分布在3个面板中,每个面板包含的信息含义如下:

  • Packet List面板:上面部分,显示Wireshark捕获到的所有数据包,这些数据包从1进行顺序编号。
  • Packet Details面板:中间部分,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。
  • Packet Bytes面板:下面部分,显示一个数据包未经处理的原始样子,数据是以十六进制和ASCII格式进行显示。

  (2)以HTTP协议数据包为例,了解该数据包的层次结构。在Packet List面板中找到一个HTTP协议数据包,如图1.26所示。

image.png

  其中,编号21的数据包是一个HTTP协议数据包。此时在Packet Details面板上显示的信息就是该数据包的层次结构信息。这里显示了5个层次,每个层次的含义如下:

  • Frame:该数据包物理层的数据帧概况。
  • Ethernet II:数据链路层以太网帧头部信息。
  • Internet Protocol Version 4:网际层IP包头部信息。
  • Transmission Control Protocol:传输层的数据段头部信息。
  • Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。

  由此可见,Wireshark对HTTP协议数据包进行解析,显示了HTTP协议的层次结构。
  (3)用户对数据包分析就是为了查看包的信息,展开每一层,可以查看对应的信息。例如,查看数据链路层信息,展开Ethernet II层,显示信息如下:

Ethernet II, Src: Tp-LinkT_46:70:ba (ec:17:2f:46:70:ba), Dst: Giga-Byt_17:
  cf:21 (50:e5:49:17:cf:21)
      Destination: Giga-Byt_17:cf:21 (50:e5:49:17:cf:21)        #目标MAC地址
      Source: Tp-LinkT_46:70:ba (ec:17:2f:46:70:ba)            #源MAC地址
      Type: IPv4 (0x0800)

  显示的信息包括了该数据包的发送者和接收者的MAC地址(物理地址)。
  可以以类似的方法分析其他数据包的层次结构。在下面的章节中将要借助Wireshark工具来分析数据包。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接