网络协议分析复习

IT知识
350
0
0
2023-02-20
标签   网络协议

1、必须掌握ARP协议的格式、工作原理和过程、功能

ARP协议的格式:

img

img

arp报文格式解析

2、TCP/IP协议簇的层次及OSI/RM模型的网络层次及各层的主要作用及各层的主要协议

img

3、面向连接、无连接的最主要区别;哪些协议是面向连接的?哪些协议是无连接的?

面向连接分为三个阶段,而面向无连接没有这么多阶段,它直接进行数据传输。 面向连接的通信具有数据的保序性, 而面向无连接的通信不能保证接收数据的顺序与发送数据的顺序一致。 面向连接:TCP 无连接:UDP、IP

4、熟悉TCP协议首部各字段含义及作用

img

􀀁    源端口:这是源设备发出TCP 段的进程的 16 比特端口号。
􀀁    目的端口:这是目的设备上作为本报文最终希望的接收方进程的 16 比特端口号。
􀀁    序列号:在正常传输情况下,这是本段数据第一个字节的序列号,在连接请求 SYN报文中,该字段携带了源 TCP 的 ISN,数据第一个字节的序列号将被指定为紧跟该字段内容的下一个编号。
􀀁    确认序列号:若 ACK 比特置位,说明本段充当一个确认,该字段含有源正在期待的目的地将要发送下一个序列号。
􀀁    数据偏移:该项详细说明了 TCP 首部含有多少个 32 比特字的数据,换句话说,该值乘以 4 就等于首部字节数,而后者必须总是 4 的倍数,该字段称为数据偏移是因为它指明数据起点距TCP 段开头偏移了多少个 32 比特。
􀀁    保留:该字段留给将来使用,发送时置 0。
􀀁    URG:紧急指针(urgent pointer)有效,置为 1 时,说明数据段的优先数据传输特性已经被激活,且紧急指针字段有效。
􀀁    ACK:确认序号有效,置为 1 时,说明数据段携带一个确认,确认编号字段值有效且携带着期望从数据段目的地收到的下一个序列号。
􀀁    PSH:接收方应该尽快将这个报文段交给应用层,数据段发送方正在使用 TCP 推特性,请求立即将段中数据推向接收设备上的应用程序。
􀀁    RST:重建连接
􀀁    SYN:同步序号用来发起一个连接。序列号字段含有发送方的 ISN。
􀀁    FIN:发送端正在请求连接关闭。
􀀁    窗口:该字段指出本端的发送方愿意从接收方处一次接受多少个8 比特数据。它通常等于分配给该条连接用以接受数据缓冲区的当前长度。
􀀁    校验和:16 比特检验和
􀀁    紧急指针:该字段与 URG 控制比特联合用于优先数据传输,该字段包含了紧急数据最后一个字节的序列号。

5、TCP的特点及工作原理

特点: (1)面向连接的运输层协议; (2)基于字节流的方式; (3)可靠交付的服务; (4)提供全双工通信 (5)通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。

6、记住IP报文首部信息各字段及各字段的作用

img

􀀁    版本:长度为 4 比特,含义为版本号,对于 IPv4 来说,版本号为 4。
􀀁    报头长度:报头长度字段为 4 比特,用于表示 IP 报头长度,在 IPv4 中,由于选项字段长度可变,因此,报头长度并不固定,报头字节长度为这一字段值的4 倍。
􀀁    业务类型:业务类型字段长度为8 比特,主要用于标识 QOS 服务等级。
􀀁    总长度:总长度字段共16 比特,因此 IP 报的最大长度为 65535 字节。
􀀁    标识符(Identifier):长度16 比特。该字段和标识及分段偏移字段联合使用,对大的上层数据包进行分段(fragment)操作。
􀀁    标记(Flags):长度 3 比特。该字段第一位不使用,第二位是 DF 位,DF 位设为1 时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的 IP 包的包头中将 MF 位设为1。
􀀁    分段偏移(Fragment Offset):长度 13 比特。用于指明分片 IP 包在原 IP 包中的偏移量。由于 IP 包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接受到 IP 包之后能够还原分段的上层数据包。当某个包含分段的上层数据包的 IP 包在传送时丢失,则整个一系列包含分段的上层数据包的 IP 包都会被要求重传。
􀀁    生存时间(TTL):长度8 比特。当 IP 包进行传送时,先会对该字段赋予某个特定的值。当 IP 包经过每一个路由器的时候,路由器会将 IP 包的TTL 值减少1。如果TTL 减少为 0,则该 IP 包会被丢弃。这个字段可以防止由于路由故障而导致 IP 包在网络中不停被转发。
􀀁    协议号(Protocol):长度8 比特。标识了上层所使用的协议。
􀀁    报头校验和(Header Checksum):长度16 位,由于 IP 包头是变长的,所以提供一个头部校验来保证 IP 包头中信息的正确性。
􀀁    源和目标地址(Source and Destination Addresses):这两个地段都是 32 比特。标识了这个 IP 包的起源和目标地址。
􀀁    可选项(Options):这是一个可变长的字段。该字段由起源设备根据需要改写。

7、OSI参考模型中,各层的数据传输单元

物理层:比特 数据链路层:帧 网络层:数据包 传输层:数据段 会话层、表示层、应用层:应用数据

8、tracert命令工作原理及与ICMP的关系,掌握ICMP协议的作用

tracert命令工作原理---linux 上为traceroute

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

首先,tracert送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2个路由器...... tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。(注意:默认是最多30跳就结束 )

img

ICMP协议的作用:检测网络通信故障和实现链路追踪,负责提供TCP/IP网络上的设备、服务以及路由器可用性的信息。

9、必须掌握UDP协议首部格式及各字段的位置及作用,能根据给出的首部十六进制值来说明各字段的值代表的具体含义,从而分析出UDP报文的作用。

UDP的首部格式:      用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,由四个字段组成,每个字段的长度都是两个字节。各字段的意义如下:

(1)  源端口      源端口号。在需要对方回信时选用。不需要时可用全0。
(2)  目的端口    目的端口号。 这在终点交付报文时必须要使用到。
(3)  长度        UDP用户数据报的长度,其最小值是8(仅有首部)
(4)  检验和      检测UDP用户数据报在传输中是否有错。有错就丢弃。

img

一个UDP模块必须提供产生和验证检验和的功能,但是一个应用程序在使用UDP服务时,可以自由选择是否要求产生校检和。在计算校检和时,要在UDP用户数据报之前增加12字节的伪首部。校检和就是按照这个临时的UDP用户数据报来计算的。

      UDP计算校检和的方法和计算IP数据报首部校检和的方法相似。但不同的是:IP数据报的校检和只校检IP数据报的首部,但UDP的校检和使把首部和数据部分一起都校检。

10、网络地址、子网掩码的计算方法;子网广播地址、网关等概念

IP地址、子网掩码和网络号的计算 子网掩码的计算及与子网数、主机数关系 对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0 网络流量分为:广播、组播、单播 广播:数据包会被发送到一个网段的所有端口,在一个IP网络范围中最大的IP地址是被保留作为广播地址 例如:IP范围192.168.0.xxx,子网掩码是255.255.255.0,则广播地址为192.168.0.255 组播:一种将单一来源数据包同时传输给多个目标的通信方式 单播:数据包会从一台计算机直接传输到另一台计算机 网关:网关(Gateway)就是一个网络连接到另一个网络的“关口”。也就是网络关卡。

11、 IPv4协议的校验和域

IP数据报的校验和只检验IP数据报的首部。

当发送IP包时,需要计算IP报头的校验和: 把校验和字段置为0; 对IP头部中的每16bit进行二进制求和; 如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值; 将该16bit的值取反,存入校验和字段。

12、PPP协议

PPP协议 计算机网络76页

13、IPv4特点

IPv4地址可以分为网络地址和主机地址两部分,IPv4采用32位地址长度 ①IP协议是一种无连接、不可靠的分组传送服务的协议。 ②IP协议是点-点线路的网络层通信协议。 ③IP协议屏蔽了网络在数据链路层、物理层协议与实现技术上的差异。 OSI参考模型——网络层:IPv4协议和IPv6协议详解

14、Ping与ICMP

Ping命令是基于ICMP协议的,主要目的是测试设备之间的通信。它先发送一个ICMP请求给目的地址,ICMP协议规定目的主机必须返回ICMP回送应答消息给主机。

15、了解TCP与流量控制

如果主机A 一直向主机B发送数据,不考虑主机B的接受能力,则可能导致主机B的接受缓冲区满了而无法再接受数据,从而会导致大量的数据丢包,引发重传机制。而在重传的过程中,若主机B的接收缓冲区情况仍未好转,则会将大量的时间浪费在重传数据上,降低传送数据的效率。 所以引入流量控制机制,主机B通过告诉主机A自己接收缓冲区的大小,来使主机A控制发送的数据量。流量控制与TCP协议报头中的窗口大小有关。 TCP报头中的16位窗口大小,指自己接收缓冲区的剩余大小。

img

16、TCP和UDP端口

43  TCP  whois协议
57  TCP  MTP,邮件传输协议
80  TCP  HTTP协议
88  TCP  Kerberos-认证代理
107  TCP  远程Telnet协议
109  TCP  POP(邮局协议)
110  TCP  POP3(邮局协议第三版)
69  UDP  TFTP(小型文件传输协议)

17、SYN,ACK,RST,URG等的使用

URG:表示本报文段中发送的数据是否包含紧急数据。URG=1,表示有紧急数据。紧急指针字段只有当URG=1时才有效。
ACK:表示是否前面的确认号字段是否有效。ACK=1,表示有效。TCP规定,连接建立后,ACK必须为1。
PSH:告诉对方收到该报文段后是否应该立即把数据推送给上层。如果为1,则表示对方应当立即把数据提交给上层,而不是缓存起来。
RST:只有当RST=1时才有效。如果收到一个RST=1的报文,说明与主机的连接出现了严重错误,必须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应。
SYN:在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。只有在前两次握手中SYN才置为1。
FIN:标记数据是否发送完毕。如果FIN=1,则可以释放连接。

TCP中的URG与PSH TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)

18、常见端口号及对应的协议

img

19、熟悉FTP、DNS、Telnet、电子邮件

FTP:21 DNS:53 提供域名到IP地址的解析 DNS服务器分为4种:本地域名服务器(也称默认域名服务器),根域名服务器,顶级域名服务器,权限域名服务器 查询过程:主机向本地域名服务器进行递归查询,即本地域名服务器如果不知道域名的IP,就以DNS客户的身份向其他根域名服务器发起查询。本地域名服务器向根域名服务器发起的查询为迭代查询,即要么返回IP地址,要么返回下一个查询的DNS服务器,由本地域名服务器再进行查询。 Telnet: 23 什么是telnet服务:远程登录的服务,管理服务器的操作 原理 1)与远程主机建立一个TCP连接,用户必须知道远程主机的Ip地址或域名; 2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包; 3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果; 4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。 NVT格式进行发送 电子邮件:(SMTP:25,POP3:110,IMAP:143) SMTP发送,POP3和IMAP读取 由发件人写邮件,用SMTP发到发送方邮件服务器。 发送方邮件服务器与接收方邮件服务器建立TCP连接,发邮件。 收件人使用POP3读取邮件。

20、网络分流器分类

网络分流器类型按速度分四种: 千兆的网络分流器,10G的网络分流器,40G的网络分流器,100G的网络分流器 网络分流器按网络技术分四种: POS技术,LAN技术,以太网技术,WAN技术 网络分流器按外形来分两种: 盒式1U设备,ATCA设备 网络分流器如果按功能划分: 通用型汇聚分流设备,警口设备,D设备,定制设备等 网络分流器如果按网络来分: 移动互联网网络分流器,固网网络分流器

21、物理地址、端口地址、逻辑地址

a.物理地址--MAC地址
物理地址工作在最底层,即数据链路层和物理层的帧(frame,一种数据单位,由比特构成)中,它每一次传输都会改变,比如从帧A一台计算机a到一个路由器b使用了一组地址,该帧A在路由器b到路由器c中就会换另一组地址,它是可变的。
b.逻辑地址--IP地址
即世界上所有的计算机都有一个32位的地址(IPv4),它唯一的表示每一台计算机,后来IPv4地址不够用了,就出现了IPv6地址,128位长。只需记住一点,无论IPv4还是IPv6地址都是逻辑地址,它们是唯一的表示一台计算机的IP地址。它工作在网络层,在传输的过程中是不会变的。
c.端口地址
我们通过逻辑地址实现了计算机之间的通信,但是这样并没有什么意义,比如你在打英雄联盟,这时你需要把数据传输到其他玩家的计算机上还是传输到其他玩家的英雄联盟上呢?你打出了100点伤害,这样一个数字,传到计算机上毫无意义,但是传输到英雄联盟中,英雄联盟就知道你造成了100点伤害,并在游戏里计算。这样一个简单的例子说明计算机之间的通信实质上是不同计算机之间进程的通信。而端口号就是唯一的表示这些进程的编号。(进程:运行着的程序)端口号有16位,065535,一共有2^16个端口号。通过端口号可以找到计算机运行的应用程序。如Web服务器对应的端口号是80,我们通过80端口实现了上网的功能。端口地址工作在传输层,在传输的过程中是不会变的,端口地址就是端口号。


端口地址——传输层
逻辑地址——网络层
物理地址——数据链路层和物理层

22、交换式网络中捕获网络流量的基本方法

4种 端口镜像、集线器接出、使用网络分流器、ARP缓存污染攻击

23、传输层可靠性的保障机制

(1)校验和 (2)面向连接 (3)序号和确认序号 (4)确认应答机制 (5)超时重传机制 (6)流量控制 (7)拥塞避免

24、以太网帧的最大帧长(MTU)1516字节,以太网帧的最小帧长64字节

25、通信服务可以分为两大类

面向连接服务和无连接服务

26、了解 PPPoE

PPPoE(英语:Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。由于协议中集成PPP协议,所以实现出传统以太网不能提供的身份验证、加密以及压缩等功能,也可用于缆线调制解调器(cable modem)和数字用户线路(DSL)等以以太网协议向用户提供接入服务的协议体系。 PPPoE协议的作用是:实现有效的用户管理,进行网络接入计费等

27、以太网帧的最大传输单元1500字节

28、什么是“网络地图”及在网络协议分析的作用?

网络地图,又称网络拓扑图,是指用传输媒体互连各种设备的物理布局 确定数据包嗅探器的安装位置,在故障排除和分析中有重要作用

29、数据包嗅探过程中涉及到软件和硬件之间的协作。

30、在交换式网络环境中进行数据包嗅探的指导准则

img

img

31、通过在Wireshark的Packet Details面板中对捕获的ARP请求数据包进行分析

认识wireshark的界面

32、网络协议通常可以用来解决哪些问题?

发起连接:是由客户端还是服务器发起连接?在真正通信之前必须要交换哪些信息? 协商连接参数:通信需要进行协议加密吗?加密密钥如何在通信双方之间进行传输? 数据格式:通信数据在数据包中如何排列?数据到达接收设备时以什么样的顺序进行处理? 错误检测与校正:当数据包花了太长的时间才到达目的地时如何处理?当客户端暂时无法和服务器建立通信时,该如何恢复连接? 连接终止:一台主机如何告知另一台主机通信已经结束?为了礼貌地终止通信,应该传送什么样的最终信息?

33、ARP协议格式首部,用图表给出各个字段名称和长度。

img

34、选择一款数据包嗅探器时,需要考虑哪些因素。并简述每个因素。

支持的协议:数据包嗅探器对协议解析的支持范围各不相同,大部分通常都能解析常见的网络协议(如IPv4和ICMP)、传输层协议(如TCP和UDP),甚至一些应用层协议(如DNS和HTTP)。然而,它们可能并不支持一些非传统协议或新协议(如IPv6、SMBv2、SIP等)。在选择一款嗅探器时,需要确保它能够支持你所要用到的协议。 用户友好性:考虑数据包嗅探器的界面布局、安装的容易度,以及操作流程的通用性。你选择的嗅探器应该适合你的专业知识水平。如果你的数据包分析经验还很少的话,你可能需要避免选择那些命令行的嗅探器,比如tcpdump。另一方面,如果你拥有丰富的经验,你可能会觉得这类命令行程序会更具有吸引力。在你逐步积累数据包分析经验时,你甚至会发现组合使用多种数据包嗅探器软件将更有助于适应特定的应用场景。 费用:关于数据包嗅探器最伟大的事情是有着很多能够与任何商业产品相媲美的免费工具。商业产品与其他替代品之间最显著的区别是它们的报告引擎,商业产品通常包括各种花哨的报告生成模块,而在免费软件中则通常缺乏,甚至没有该模块。 技术支持:即使你已经掌握了嗅探软件的基本用法,但是你还是偶尔会在遇到一些新问题时需要技术支持。在评估技术支持时,你可以寻找开发人员文档、公众论坛和邮件列表。虽然对于一些像Wireshark这样的免费软件可能缺乏一些开发人员文档,但使用这些应用软件的社区往往可以填补这些空白。使用者和贡献者社区会提供一些讨论区、维基、博客,来帮助你获得更多关于数据包嗅探器的使用方法。 操作系统支持:遗憾的是,并不是所有的数据包嗅探器都支持所有的操作系统平台。你需要选择一款嗅探器,能够支持所有你将要使用的操作系统。如果你是一位顾问,你可能需要在大多数操作系统平台上进行数据包捕获和分析,那么你就需要一款能够在大多数操作系统平台上运行的嗅探器。你还需要留意,你有时会在一台机器上捕获数据包,然后在另一台机器上分析它们。操作系统之间的差异,可能会迫使你在不同的设备上使用不同的嗅探器软件。

35、通过在Wireshark的Packet Details面板中对捕获的IP协议头数据包进行分析

36、绘制IPv4数据报首部,给出各个字段名称和长度。

img

一、选择题(30小题,总计30分) 二、填空题15分 三、问答题(5小题共40分) 四、分析题15分

参考: 计算机网络(第7版)读书笔记 计算机网络及 Wireshark 学习笔记