络协议分析总结

络协议分析

  • ARP协议
    • 协议格式
    • 工作原理
  • TCP/IP协议簇的层次及OSI/RM模型的 络层次及各层的主要作用及各层的主要协议
    • TCP/IP协议簇的层次
      • 物理层:
      • 数据链路层
      • 络层
      • 传输层
      • 应用层
    • OSI七层参考模型
    • ISO/OSI参考模型与TCP/IP协议模型中各层的对应关系
  • 面向连接、无连接的最主要区别;哪些协议是面向连接的些协议是无连接的/li>
  • TCP协议首部各字段含义及作用
  • TCP的特点及工作原理
      • 工作原理
      • TCP的流量控制机制
  • IP 文首部信息各字段及各字段的作用
  • OSI参考模型中,各层的数据传输单元
  • ICMP的两大应用Ping 和 tracert
    • ping
    • tracert
  • UDP协议首部格式及各字段的位置及作用
  • PPP协议包括哪两个协议
  • IPv4特点
  • TCP和UDP常用的熟知端口 及常见端口 及对应的协议
  • 络分流器的分类
  • 交换式 络中捕获 络流量的基本方法
    • 1.端口镜像
    • 2.集线器接出
    • 3.分流器
    • 4.ARP缓存污染
  • 传输层可靠性的保障机制
  • 以太 帧的最大帧长最大传输单元
  • 三个私有地址块
    • A类地址
    • B类地址
    • C类地址
  • 什么是 络协议及 络协议在“ 络地图”中的作用
    • 什么是“ 络地图”
  • DHCP协议格式首部,用图表表示
  • 通过在Wireshark的Packet Details面板中对捕获的IP协议头数据包进行分析
  • 通过在Wireshark的Packet Details面板中对捕获的ICMP请求与响应数据包进行分析
  • 通过在Wireshark的Packet Details面板中对捕获的HTTP协议数据包进行分析
  • 通过在Wireshark的Packet Details面板中对捕获的DHCP协议各阶段数据包进行分析
    • DHCP发现阶段
    • DHCP提供阶段
    • DHCP的选择阶段
    • DHCP确认阶段
  • 通过在Wireshark的Packet Details面板中对捕获的DNS协议各阶段数据包进行分析

ARP协议

协议格式

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

TCP/IP协议簇的层次

物理层:

为传输数据所需要的物理链路创建、维持、拆除,提供物理条件保证传输过程数据的安全性

数据链路层

主要提供链路控制(同步,异步,二进制,HDLC),差错控制(重发机制),流量控制(窗口机制)

络层

提供阻塞控制,路由选择(静态路由,动态路由)等
主要协议
IP:IP协议提供不可靠、无连接的传送服务
ARP:地址解析协议。基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。以太 中的数据帧从一个主机到达 内的另一台主机是根据48位的以太 地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核必须知道目的端的硬件地址才能发送数据。P2P的连接是不需要ARP的。
RARP:反向地址转换协议。允许局域 的物理机器从 关服务器的 ARP 表或者缓存上请求其 IP 地址。局域 关路由器中存有一个表以映射MAC和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器。
IGMP:组播协议包括组成员管理协议和组播路由协议。组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。IGMP 信息封装在IP 文中,其IP的协议 为2。
ICMP:Internet控制 文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指 络通不通、主机是否可达、路由是否可用等 络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
BGP :边界 关协议。处理像因特 大小的 络和不相关路由域间的多路连接。
RIP:路由信息协议。是一种分布式的基于距离矢量的路由选择协议。

传输层

提供分割与重组数据,按端口 寻址,连接管理差错控制和流量控制,纠错的功能。传输层要向会话层提供通信服务的可靠性,避免 文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
协议
TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP: 用户数据 协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
RTP: 实时传输协议,为数据提供了具有实时特征的端对端传送服务,如在组播或单播 络服务下的交互式视频音频或模拟数据。
SCTP: 一个面向连接的流控制传输协议,它可以在两个端点之间提供稳定、有序的数据传递服务。SCTP可以看做是TCP协议的改进,它继承了TCP较为完善的拥塞控制并改进TCP的一些不足:
. SCTP是多宿主连接,而TCP是单地址连接。
.一个TCP连接只能支持一个流,一个SCTP连接可以支持多个流。
.SCTP有更好的安全性。

应用层

HTTP:超文本传输协议,基于TCP,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使 络传输减少。
SMTP:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SNMP:简单 络管理协议,由一组 络管理的标准组成,包含一个应用层协议、数据库模型和一组资源对象。
FTP:文件传输协议,用于Internet上的控制文件的双向传输。同时也是一个应用程序。
Telnet:是Internet远程登陆服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
SSH:安全外壳协议,为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他 络服务提供安全性的协议。
NFS: 络文件系统,是FreeBSD支持的文件系统中的一种,允许 络中的计算机之间通过TCP/IP 络共享资源。

OSI七层参考模型

物理层:在物理媒体上传输原始的数据比特流。

数据链路层:将数据分成一个个数据帧,以数据帧为单位传输。有应有答,遇错重发。

络层:将数据分成一定长度的分组,将分组穿过通信子 ,从信源选择路径后传到信宿。

传输层:提供不具体 络的高效、经济、透明的端到端数据传输服务。

会话层:进程间的对话也称为会话,会话层管理不同主机上各进程间的对话。

表示层: 为应用层进程提供格式化的表示和转换数据服务。

应用层:提供应用程序访问OSI环境的手段

ISO/OSI参考模型与TCP/IP协议模型中各层的对应关系

面向连接、无连接的最主要区别;哪些协议是面向连接的些协议是无连接的/h1>

面向连接和无连接指的都是协议,两者的区别与承载数据的物理介质无关
它们的本质区别在于,对无连接协议来说,每个分组的处理都独立于所有其他分组,而对面向连接的协议来说,协议实现则维护了与后继分组有关的状态信息。
如TCP就是面向连接的协议而UDP则是无连接TCP中的IP协议又是无连接的

TCP协议首部各字段含义及作用

32位序

序 用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个 文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序 对每个字节进行计数。序 是32bit的无符 数,序 到达2^32-1后又从0开始。

32位确认序

确认序 包含发送确认的一端所期望收到的下一个序 。因此,确认序 应当是上次已成功收到数据字节序 加1。只有ACK标志为1时确认序 字段才有效。

4位首部长度

首部长度给出首部中32bit字的数目。需要这个值是因为任选字段的长度是可变的。

例如首部长度4位比特是0011,则表示该TCP首部长度为3*8=24字节。

6个标志比特

URG紧急指针(urgentpointer)有效

ACK确认序 有效。

PSH接收方应该尽快将这个 文段交给应用层。

RST重建连接。

SYN同步序 用来发起一个连接。这个标志和下一个标志将在第18章介绍。

FIN发端完成发送任务。

16位窗口大小

TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序 字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大小最大为65535字节。在24.4节我们将看到新的窗口刻度选项,它允许这个值按比例变化以提供更大的窗口。

16位检验和

接收端根据此检验和再计算判断该TCP包是否正确(传输过程中是否出错)。

TCP的特点及工作原理

特点

工作原理

tcp的三次握手
在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列 区域合法,需要检查。客户端在TCP 头的序列 区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。

IP 文首部信息各字段及各字段的作用

1)目前的协议版本 是4,因此IP有时也称作IPv4

2)首部长度指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。

3)服务类型(TOS)字段包括一个3bit的优先权子字段(现在已被忽略),4bit的TOS子字段和1bit未用位但必须置0。4bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4bit中只能置其中1bit。如果所有4bit均为0,那么就意味着是一般服务。
下图列出了对不同应用建议的TO S值。

4)总长度字段是指整个IP数据 的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据 中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据 最长可达65535字节,但是一般不会这么长。

5)标识字段唯一地标识主机发送的每一份数据 。通常每发送一份 文它的值就会加1。

6)3位标志和13位偏移字段用于分片过程。对于发送端发送的每份IP数据 来说,其标识字段都包含一个唯一值。该值在数据 分片时被复制到每个片中(我们现在已经看到这个字段的用途)。标志字段用其中一个比特来表示“更多的片”。除了最后一片外,其他每个组成数据 的片都要把该比特置1。片偏移字段指的是该片偏移原始数据 开始处的位置。另外,当数据 被分片后,每个片的总长度值要改为该片的长度值。

标识字段代表划分每个分组属于的同一个数据 ,等待重新组装。

偏于字段代表该分组位于总ip数据 偏移的长度(获取位置)

分片:物理 络层一般要限制每次发送数据帧的最大长度。任何时候IP层接收到一份要发送的IP数据 时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其MTU。IP把MTU与数据 长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上。

当IP数据 被分片后,每一片都成为一个分组,具有自己的IP首部,并在选择路由时与其他分组独立。这样,当数据 的这些片到达目的端时有可能会失序,但是在IP首部中有足够的信息让接收端能正确组装这些数据 片。

IP数据 是指IP层端到端的传输单元(在分片之前和重新组装之后),

分组 是指在IP层和链路层之间传送的数据单元。一个分组可以是一个完整的IP数据 ,也可以是IP数据 的一个分片。

PPP协议包括哪两个协议

LCP 链路控制协议
NCP 络控制协议

IPv4特点

1)IPv4地址空间少于40亿个,实际可以使用的更少。

(2)IPv4不区分 络终端主机和终端设备,每台电脑都可以作为主机和路由器。路由协议管理路由表记录,常用的路由协议有路由信息协议、开放最短路径协议、边界 关协议等。

(3)IPv4独立于特定的 络硬件,可以运行在局域 、广域 、互联 中。 络地址分配方案唯一,设备有唯一的地址。

(4)IPv4缺乏对安全性的支持,无法实现 络实名制。 络中节点配置很复杂,不能满足用户“即插即用”的需求

TCP和UDP常用的熟知端口 及常见端口 及对应的协议

络分流器的分类

络分流器的类型主要有四种,一种是千兆的 络分流器,还有一种是10G的 络分流器,一种40G的 络分流器,最后一种就是100G的 络分流器

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

1.端口镜像

端口镜像是交换式 络中捕获一个目标设备所有 络通信的最简单的方法,翻译成白话文就是端口镜像就是在一个局域 中,捕获别人电脑上接收和发送数据包的最简单的方法,为了使用端口镜像,你必须能够通过命令行或者web管理界面来访问你局域 的交换机,并且,该交换机必须支持端口镜像这个功能,并且,还有一个空闲端口,方便你的嗅探器连接这个端口
要启用端口镜像,你需要发出一个命令,来强制交换机将一个端口(假设是端口B)上的所有通信,都额外复制一份到另一个端口(假设是端口A)上,然后你的嗅探器连接到A端口上,这样,B电脑的所有通信,都可以被嗅探到,设置端口镜像的具体方法,取决于不同的交换机厂商,需要我们阅读交换机说明书
启用端口镜像的时候,还需要注意流量,假设交换机有100个端口,我把99个全双工端口,都镜像到1个端口上,那么这一个端口上的物理承受能力应该是扛不住这么多流量冲击的,这会导致数据 丢失,如果数据包丢失,那么嗅探的准确性也就降低了,得不偿失
在有持续 络流量安全监控需求的常经理,端口镜像虽然简单,但是很不稳定,所以,一会我会介绍分流器

2.集线器接出

这个方式,因为集线器很少见了,并且这个方式,当我第一次见到这个方式的时候,心中第一反应就是:“这种方式也叫方式,那么这种方式是什么呢,我大概阐述一下吧
(1)找到目标设备所连接的交换机,并将目标设备的 线从交换机上拔掉
(2)将目标设备插到我自己的集线器上
(3)将我的嗅探器插到我自己的集线器上
(4)将我自己的集线器插到交换机上

3.分流器

分流器也是个硬件设备,分两种,一种是聚集的,一种是非聚集的,不想过多介绍了, 上很多

4.ARP缓存污染

简单来说,就是如果你的局域 中的一台机器被感染上病毒(例如通过一个IE的安全漏洞等等),病毒程序可以以这台机器(A),在局域 内部发起ARP cache poison的攻击,来把这台机器作为中间人插入到其它的机器(假设为B)和 关中。

传输层可靠性的保障机制

TCP保证可靠性:
(1)校验和
(2)面向连接
(3)序 和确认序
(4)确认应答机制
(5)超时重传机制
(6)流量控制
(7)拥塞避免
TCP提高效率:
(1)滑动窗口
(2)快重传
(3)延迟应答
(4)捎带应答

以太 帧的最大帧长最大传输单元

最小帧长64
最大1500
最大传输单元(MTU)1500个字节

三个私有地址块

A类地址的第一组数bai字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

B类地址的第一组数字为128~191。

C类地址的第一组数字为192~223。

A类地址

A类地址的表示范围为:0.0.0.0~126.255.255.255,默认 络掩码为:255.0.0.0;A类地址分配给规模特别大的 络使用。A类 络用第一组数字表示 络本身的地址,后面三组数字作为连接于 络上的主机的地址。分配给具有大量主机(直接个人用户)而局域 络个数较少的大型 络。例如IBM公司的 络。

B类地址

B类地址的表示范围为:128.0.0.0~191.255.255.255,默认 络掩码为:255.255.0.0;B类地址分配给一般的中型 络。B类 络用第一、二组数字表示 络的地址,后面两组数字代表 络上的主机地址。

C类地址

C类地址的表示范围为:192.0.0.0~223.255.255.255,默认 络掩码为:255.255.255.0;C类地址分配给小型 络,如一般的局域 和校园 ,它可连接的主机数量是最少的,采用把所属的用户分为若干的 段进行管理。C类 络用前三组数字表示 络的地址,最后一组数字作为 络上的主机地址。

什么是 络协议及 络协议在“ 络地图”中的作用

为了进行 络中的数据交换而建立的规则、标准或约定称为 络协议。主要由语法、语义和同步(指事件实现中顺序的详细说明)。通信协议有层次特性,大多数 的 络组织都按层或级的方式来组织,在下一层的基础上建立上一层,每一层的目的都是向其上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏 蔽。 络协议确定交换数据格式以及有关的同步问题。

什么是“ 络地图”

络地图就是 络拓扑图,是一个显示了 络中所有技术资源及他们之间连接关系的图形表示。

DHCP协议格式首部,用图表表示

响应 文分析:

该响应 文由起始行、首部和主体三部分组成。起始行中的版本 是HTTP/1.1,状态码是200,原因短语是OK。接下来是十五个首部
1、Server:nginx
标识了服务器软件是ngix
2、Date:Sat,15 Aug 2015 02:31:08 GMT
说明了响应 文产生的时间
3、Content-Type: text/html; charset=utf-8
说明了主体的媒体类型是text/html,字符集是utf-8
4、Transfer-Encoding: chunked
说明了响应 文采用了分块编码的传输编码,这也是首部中没有Content-Length首部的原因
5、Connection: keep-alive
说明了客户端与服务器之间通信是持久连接
6、Status: 200 OK
说明了对请求 文的响应状态
7、X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-UA-Compatible: IE=edge
上面的四个首部是扩展首部
8、Cache-Control: max-age=0, private, must-revalidate
该首部说明了缓存状态,max-age=0说明了服务器请求缓存不要缓存文档,即每次访问的时候都进行刷新,must-revalidate进一步说明了缓存没有跟服务器进行验证的情况下,不能提供这个对象的陈旧副本
9、Set-Cookie:………………………
服务器贴到客户端的标签,该首部中有强制的名值组合,还有path属性,还有该cookie的生存周期
10、X-Request-Id: 76494f45-4f41-4222-be4e-db9dfa0828b5
X-Runtime: 0.470905
这两个首部也是扩展首部
11、Content-Encoding: gzip
说明了主体的编码类型为gzip

通过在Wireshark的Packet Details面板中对捕获的DHCP协议各阶段数据包进行分析

DHCP发现阶段

对应的是94帧,可以明显的看到Info信息中显示的是: DHCP Discove

DHCP提供阶段

对应的是99帧可以明显的看到Info信息中显示的是: offer

这时候DHCP客户端已经收到DHCP服务器的数据包了,当然如果有多台DHCP服务器,就必须回复DHCP服务器确认用那台DHCP服务器。

DHCP的选择阶段

DHCP服务器需要对提供的给自己IP的DHCP服务器做出相应的响应,对应的数据帧是100帧

Transaction ID(交易口):这个数值的作用是将一个域名查询消息和对应的响应消息对应起来。

query/response(查询/响应):每个DNS数据包都会被标记为查询消息或者响应消息,具体哪一类取决于消息中包含的内容。

Flags(标记):每个查询和响应消息都有不同的标记位置位。

Response(响应):标识该消息为查询消息还是响应消息。

Opcode(操作码):这个标记决定了查询消息的类型。Opcode范围是0~15。

Truncated(截断):这个标记决定了如果数据包过大(大于512字节)时,是否对数据包进行截断。

Recursion desired(期望递归):如果要所查的记录不存在,那么客户端发送的消息就会从一台DNS服务器到另一台DNS服务器这样执行一个递归的搜索流程。

Type(类型):这个字段显示的是查询的类型。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月4日
下一篇 2020年11月4日

相关推荐