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

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 传统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工具来分析数据包。

相关文章
|
6天前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
75 30
|
20天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
42 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
16天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
43 11
|
15天前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
40 5
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
52 7
|
15天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
36 3
|
15天前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
17天前
|
云安全 监控 安全
云计算环境下的网络安全策略与实践
在数字化时代,云计算已成为企业和个人存储、处理数据的重要方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨如何在云计算环境中实施有效的网络安全措施,包括加密技术、访问控制、安全监控和应急响应计划等方面。我们将通过具体案例分析,展示如何在实际场景中应用这些策略,以保护云中的数据不受威胁。
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
25天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
68 3