网络层协议介绍
目录
1.IP数据包格式
2.ICMP协议介绍
3.ARP协议介绍
4.ARP攻击原理
总结
1.IP数据包格式
网络层的功能
定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径
IP数据包格式
协议字段
版本号:(4bit):指IP协议版本,并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示0100
首部长度(4):IP数据包的包头长度
优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现QoS(服务质量)的要求。
总长度(16):IP数据包的总长度,最长为65535字节,包括包头和数据
标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包
标志(3):和标志符一起传递,指示不可以被分片或者最后一个分片是否发出
段偏移量(13):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
TTL生命周期(8):可以防止一个数据包在网络中无限循环转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃
协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17
首部校验和(16):这个字段只检验数据报文的首部,不包括数据部分。这是因为数据报文没经过一次路由器,都要重新计算一下首部校验验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)
源地址(32):源IP地址,发送端IP地址
目标地址(32):目标IP地址,表示接收端的IP地址
可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如可以输入创建该数据包的时间等。在可选项之后,就是上层数据
注:根据实际情况可变长,例如创建时间等 上层数据
2.ICMP协议介绍
ICMP协议
ICMP是一个“错误侦测与回馈机制”
通过IP数据包装的
用来发送错误和控制消息
ICMP协议的封装
ICMP协议属于网络层协议
ICMP数据的封装过程
|
|
ICMP头部 |
ICMP数据 |
|
|
IP头部 |
上层数据(ICMP报文) |
|
|
帧头部 |
上层数据 |
帧尾部 |
ICMP报文有两种类型:差错报告报文和查询报文
Ping命令
“-t” 在Windows 操作系统中,默认情况下发送4个ping 包,如果在ping命令后面加上参数“-t”,系统将会一直不停地ping下去
Ctrl+C可以中断命令
-a 显示主机名
-l 一般情况下,ping 包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping 包的大小
输入100 字节就变成100了如上图
- S指定源IP去ping
-n指定发送包的个数
WIN:
tracert命令:在命令行中输入"tracert”并在后面加入--个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址
Linux:traceroute IP/域名
(补充)如果在其中一个不往下走 就是网工的责任
3.ARP协议介绍
ARP协议概述
局域网中主机的通信
IP地址与MAC地址
arp协议
什么是arp协议
ARP协议是地址解析协议( Address Resolution Protocol)是通过解析IP地址得到MAc地址的,是--个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有--个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有-一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道
5 arp协议如何工作的
为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一-个ARP缓存表(ARP table)这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我称之为ARP表项,如我们前面那张图所展示的一样,他们是主机最近运行时获得关于其他主机的IP地址到MAc地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC 地址,最后通过网卡将数据发送出去。ARP缓存表包含-个寿命值(TTL,也称作生存时间) ,它将 记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。从一个表项放置到ARP缓存表中开始,一个表项通常的生存时间一般是10分钟吗,当然,这些生存时间是可以任意设置的,我们一般使用默认即可。
ARP协议
IP地址解析为MAC地址
ARP工作原理:
1. PC1想发送数据给PC2,会 先检查自己的ARP缓存表。
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FE-FF-FF-FF-FF-FF)。
3.交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4. PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。(两分钟不联系会自动断开)
4.ARP攻击原理
欺骗其他所有计算机
欺骗被攻击计算机
ARP攻击发送的是ARP应答,但是ARP应答中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信。
例如如果希望被攻击无法访问互联网,就需要对网关发送或被攻击主机发送虚假ARP应答。当网关接收到虚假的ARP条目后,如果网关再发生数据给PC时,就会发送到虚假的MAC地址导致通信故障。
此处可以举例说明,例如张三要给李四打电话,他首先要知道李四的电话号码,这时有人告诉他李四的电话号码是12345678(不存在的号码),于是张三就把电话打到12345678,这样就无法找到李四。
ARP欺骗的原理和ARP攻击基本相同,但效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。
利用ARP欺骗管理网络
通过长角牛网络监控机软件管理网络
设置监控范围
进行网络管理
验证效果
总结
IP数据包格式重点理解各字段的含义
版本号 首部长度 优先级与服务类型 总长度 标志符 标志 段偏移量 TTL(生命周期) 协议号 首部校验和 源地址 目的地址 可选项 数据
ICMP用来发送错误和控制信息
ARP协议用于实现IP到MAC 地址的解析
ARP协议通过广播查询目标主机MAC地址
ARP攻击是通过伪造ARP应答进行欺骗攻击
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律