网络层协议介绍

一. IP数据包格式

二. ICMP协议介绍

三. ARP协议介绍

四. ARP攻击原理

五. 总结

 

 

网络层的功能

  1. 定义基于协议的逻辑地址
  2. 连接不同的媒介类型
  3. 选择数据通过网络的最佳路径

 

一. IP数据包格式

版本

首部长度

优先级与服务类型

总长度

标识符

标志

段偏移量

TTL

协议号

首部校验和

源地址

目标地址

可选项

数据

IP数据包格式(分为20字节的固定部分,表示每个IP数据包必须包含的部分,和40字节的可变长部分)

 

版本号(4bit):IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100

 

首部长度(4):IP数据包的包头长度

 

优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现(服务质量)的要求

 

总长度(16):IP数据包的总长度,最长为65535字节,包括包头和数据

 

标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包

 

标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出

 

段偏移量(13):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来

 

TTL生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃

 

协议号(8):封装的上层哪个协议,CMP:1  TCP:6  UDP:17

 

首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报没经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)

 

源地址(32):IP地址,表示发送端的IP地址

 

目标地址(32):IP地址,表示接收端的IP地址

 

可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据

 

:根据实际情况可变长,例如创建时间等 上层数据

 

二. ICMP协议

  ICMP是一个“错误帧测与回馈机制”

  通过IP数据包封装的

  用来发送错误和控制消息

 

ICMP协议的封装

  ICMP协议属于网络层协议

  ICMP数据的封装过程

ICMP头部

ICMP数据

 

IP头部

上层数据(ICMP报文)

 

帧头部

上层数据

帧尾部

 

ICMP报文类型有两种:1.差错报告报文

  1. 查询报文

 

Ping命令的使用方法

  基本格式:C/>ping[-t][-l字节数][-a][-i]IP - Address|target-name

Ping 命令的返回信息

  数据包:已发送=4,已接受=4,丢失=0<0%丢失>

  解析:可能是因为没有正确配置网关等参数

 

数据包:已发送=4,已接受=0,丢失=4<100%丢失>

解析:在规定时间内没有收到返回的应答消息

 

ping命令的用法:结合具体在什么场景使用什么选项

 

-tWindows操作系统中,默认情况下发送4ping包,如果在ping命令后面加上参数“-t,系统将会一直不停地ping下去

-a显示主机名

-l一般情况下,ping包的大小为32字节,有时为了检大数据包的通过情况,可以使用参数改变ping包的大小       在1inux系统下为-S

-n指定发送包的个数                     -c

-S指定源IPping                       -I

 

WIN

tracert命令:

在命令行中输入 tracert并在后面加入一个IP地址,可以查询从本机到IP地址所在的电脑要经过的路由器及其IP地址

 

三. ARP协议概述

   局域网中主机的通信

      IP地址与MAC地址

  1. 什么是ARP协议

  ARP协议是地址解析协议( Address ResolutionProtoco1)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如果在以太网中使用MAC地址进行寻址,已标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢组,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识P地址,从不跟硬件打交道。

 

2.ARP协议如何工作的

为了实现IP地址与MAC地址的查询与转換,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table)这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我们称之为ARP表项,他们是主机最近运行时获得关于其他主机的IP地址到MAC地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行找对应的MAC地址,最后通过网卡将数据发送出去。ARP缓存表包含一个寿命值TTL,也称作生存时间),它将记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。从一个表项放置到ARP缓存表中开始,一个表项通常的生存时间一般是10分钟吗,当然,这些生存时间是可以任意设置的,我们一般使用默认即可。

 

3.ARP工作原理

1.Pc1想发送数据给Pc2,会先检查自己的ARP缓存表。

2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。

ARP请求消息中包括PC1IP地址和MAC地址以及PC2IP地址和目的MAC地址(此时为广播MAC地址FF--FF--FF--FF-FF--FF)

3.交换机收到广播后做泛洪处理,除PC1外所有主机收到请求消息,P2以单播方式发送ARP应答并在自己的ARP表中缓存PC1IP地址和MAC地址的对应关系,而其他主机则弃这个ARP请求消息

4.PC1在自己的ARP表中添加PC2IP地址和MAC地址的对应关系,以单播方式与PC2通信

 

 windows当中如何查看ARP缓存表(静态ARP和动态ARP)

ARP - a           查看ARP缓存表

ARP - d[IP]        删除ARP缓存表

ARP - s IP MAC     删除ARP静态绑定

 

如提示ARP项添加失败,解决方案

 

a、用管理员模式:电脑左下角开始“按钮右键,点击" Windows Powershe11(管理员)(A)“或者进入Cwindows system32文件夹找到cmd . exe,右键”以管理员身份运行“再执行ARP -s命令定

 

绑定ARP(win10)

cmd中输入

netsh -c i i show in查看网络连接准确名称,如:本地连接、无线网络连接

netsh -ei iadd neighbors  19IPMac",这里19idx号。//绑定

netsh -ci idelete neighbors19,这里19idx号。/解绑

netsh interface ipv4 set neighbors<接口序号><IP><MAC

 

动态ARP表项老化:在一段时间内(默认180s)如果表项中的ARP映射关系始终没有使用,则会被除。通过及时除不活跃表项,从而提升ARP响应效率

 

四. ARP攻击原理

  ARP攻击与欺骗

ARP攻击

ARP攻击发送的是ARP应答,但是ARP应答中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信。

例如:如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送假的ARP应答。当网关接收到假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障。

 

此处可以举例说明,例如张三要给李四打电话,他首先要知道李四的电话号码,这时有人告诉他李四的电话号码是12345678(不存在的号码),于是张三就把电话打到12345678,这样就无法找到李四了。

 

ARP欺骗的原理和ARP攻击基本相同,但是效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。

 

ARP报文(抓包分析)

重点有源IP目标IP和源mac和目标mac

目的MAC地址:54:89:98:0F:2B:BE

MAC地址:54:89:98:5B:5B:8A

帧类型:0x0806-长度为2字节,0x0806代表为 ARP packe

硬件类型:0x0001-长度为2字节,表示网络类型:以太网取值为1

协议类型:0x0800--长度为2字节,表示要映射的协议地址类型。取值为0x0800,表示根据IP地址来进行映射

硬件地址长度:0x06-长度为1字节,表示硬件地址长度:取值为0x06,以太网中表示MAC地址长度为6字节

协议地址长度:0x04--长度为1字节,表示协议地址长度:取值为0x04,以太网中表示IP地址长度为4字节

op:0x0002--长度为2个字节,表示ARP报文的种类:取值为1,表示请求报文:取值为2,表示ARP应答报文

发送端MAC地址:54:89:98:5B:5B:8A(信息体的发起端)

发送端IP地址:0A:00:00:02(转换即为10.0.0.2)

目的端MAC地址:54:89:98:0F:2B:BE

目的端IP地址:0A:00:00:01(转换即为10.0.0.1)

 

本章总结

 

IP数据包格式重点理解各字段的含义

 

ICMP用来发送错误和控制消息

 

ARP协议用于实现IPMAC地址的解析

 

ARP协议通过广播查询目标主机MAC地址

 

ARP攻击是通过伪造ARP应答进行骗攻击

 

 

 

 

posted @   零六零一  阅读(386)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示