IP 数据包格式与 ICMP 协议:网络层的关键组成部分

日期: 2024-07-30 02:03:03|浏览: 627|编号: 58944

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

目录

1. IP数据包格式

网络层的功能

数据封装时,在网络层封装IP地址头,形成IP数据包。IP数据包格式(分为20字节固定部分,表示每个IP数据包必须包含的部分,以及40字节可变长度部分)

尖端:

根据 TTL 返回值确定您的系统类型

Win 128左右 Linux 64左右

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

2.ICMP协议

ICMP(中间控制消息协议)是IP协议的一个辅助协议。

ICMP协议用于在网络设备之间传输各种错误和控制信息,在收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

ICMP功能:检测网络的双向连通性

ping 的格式

ping  空格    IP地址  [选项]   
-l  指定数据包的 大小

描述

回音回复

网络不可达

主机无法访问

协议无法访问

端口不可达

11

暂停

回声

功能:Ping

Ping是网络设备上的一个命令,Unix和Linux平台,其实是一个基于ICMP协议的实用小应用。

Ping 通常用于检测网络到目标节点的可达性。

Ping 选项:

显示自己 IP地址   ipconfig
ping  --help   显示帮助命令
-t 			   长ping
-l size        发送缓冲区大小。
-w             超时等待时间
-n             指定ping 几次        
ping  -t  ip地址  长ping   ctrl+c  停止
ping  -l  指定包的大小(1600 2000)   ip地址
ping  -w  指定等待时间(默认是秒:2 )  ip 地址
ping  -n  指定的次数(5) ip 地址
tip:
ping的通一定通
ping不通不一定网络不通
tracert  也是 icmp协议
192.168.1.144      192.168.1.152
tracert   IP地址
tracert 192.168.1.152
经过几个路由设备
追踪
广播域  = 一个网段

IP地址获胜

Linux 的 IP 地址

3.广播域

广播域的书面定义如下:广播域是网络段中的一组设备,它们侦听该网络段上发送的所有广播。广播域的边界通常是物理介质,例如交换机和路由器,但广播域也可能是一个逻辑网络段,其中每个主机都可以通过数据链路层(硬件地址)广播访问所有其他主机。介绍完广播域的基本概念后,我们来看看半双工以太网使用的冲突检测机制。

总结:

广播域:当一台机器发出广播时,所有能收到该消息的机器都在同一个广播域内。

默认情况下,交换机的所有端口都属于同一个广播域。

路由器的每个端口都是一个独立的广播域

1. 检测地址冲突

2.将IP地址转换为MAC地址

4.ARP协议 4.1 什么是ARP协议

ARP协议就是通过解析IP地址得到MAC地址的地址解析协议( ),是网络协议包中一个极其重要的网络传输协议,它和网卡的关系非常密切。在TCP/IP分层结构中,ARP被划分到了网络层。为什么呢?因为在网络层,源主机和目的主机都是通过IP地址来标识的,而所有的数据传输都依赖于网卡底层的硬件,也就是链路层。那么就需要将这些IP地址转换成链路层能够识别的东西。所有的链路都有自己的一套寻址机制,比如以太网中就是用MAC地址来寻址,来标识不同的主机。那么就需要有一个协议把IP地址转换成MAC地址。于是,ARP协议就出现了。所有的ARP协议都是应用在网络层,它是连接网络层和链路层的重要枢纽,每当有数据要发送的时候,都需要通过ARP协议把IP地址转换成MAC地址。在IP层以上,它们只识别IP地址,从不和硬件打交道。

5、工作原理(结合开关原理)

以局域网两台主机通信为例讲解原理

ARP 解析过程

当PC1要向PC2发送数据时,它首先检查自己本地的ARP缓存表中是否存在主机PC2的MAC地址,如果在PC1的缓存中没有找到对应表项,就会向主机PC2索要MAC地址,从而向本地网络中的所有主机广播ARP请求帧,该帧中包含源主机PC1的IP地址和MAC地址。本地网络中的所有主机收到该ARP请求后,检查是否与自己的IP地址匹配,如果发现请求中的IP地址与自己的IP不匹配,则丢弃该ARP请求。主机PC2判断ARP请求中获取的IP地址与自己的IP地址匹配,将主机PC1的地址和MAC地址添加到本地的ARP缓存表中,主机PC2将包含自己MAC地址的ARP应答报文直接发回给主机PC1(该数据帧为单播)。主机PC1收到PC2发送的ARP应答报文后,将PC2的IP地址和MAC地址添加到自己的ARP缓存表中。 本地缓存是有生存期的,默认ARP缓存表有效期为120s,当超过有效期后会重复上述过程。一旦确定了主机PC2的MAC地址,主机PC1就可以向主机PC2发送IP信息,实现单播通信。

简化ARP工作原理:

当PC1要发送数据给PC2时,它会先检查自己的ARP缓存表。

2、如果要查找的MAC地址不在表中,则发送ARP请求广播来查找目标MAC地址。ARP请求消息中包含PC1的IP地址和MAC地址以及PC2的IP地址和目标MAC地址(本例中为广播MAC地址FF-FF-FF-FF-FF-FF)

3、交换机收到该广播后,进行泛洪处理,除PC1外的所有主机都收到该ARP请求报文,PC2以单播方式发送ARP应答,并将PC1的IP地址与MAC地址的对应关系缓存在自己的ARP表中,其他主机丢弃该ARP请求报文。

4、PC1在自己的ARP表中添加PC2的IP地址与MAC地址的对应关系,并以单播方式与PC2进行通信。

如何查看arp缓存表(静态arp和动态arp)

arp -a          ###查看arp缓存表 
arp -d          ###不加ip清除所有
arp -d [IP]     ###加ip  只删除改Ip
arp -s IP MAC   ###删除arp静态绑定

如果ARP表项添加失败,解决办法为:

a.使用管理员模式:右键点击电脑左下角的“开始”按钮,点击“(管理员)(A)”或者

进入C盘\文件夹找到cmd.exe,右键“以管理员身份运行”,然后执行arp -s命令:

绑定arp(win10)
cmd中输入
netsh -c i i show in 
#查看网络连接准确名称,如:本地连接、无线网络连接
netsh -c “i i” add neighbors 19 “IP” “Mac”,这里19是idx号。//绑定
netsh -c “i i” delete neighbors 19,这里19是idx号。  //解绑
netsh interface ipv4 set neighbors <接口序号> <IP> <MAC>

6.华为系统中的ARP命令

[Huawei]dis mac- address ## #查看mac地址信息
[Huawei]arp static <IP> <MAC> ## #绑定ARP
[Huawei]undo arp static <IP> <MAC>  ###解绑定
<Huawei>reset arp all ###清除mac地址表

ARP 攻击和欺骗

ARP 攻击

ARP攻击就是发送ARP应答,但是ARP应答中的MAC地址是一个虚假的地址,因此当其他主机想要通信时,目的MAC地址就会被设置为这个虚假的MAC地址,导致无法正常通信。

比如想让被攻击的主机无法上网,就需要向网关或者被攻击的主机发送一个虚假的ARP应答,当网关收到这个虚假的ARP应答并更新ARP表项后,如果网关再次向PC1发送数据,就会被发送到虚假的MAC地址上,造成通讯失败。

这里可以举个例子,比如张三想给李四打电话,首先要知道李四的电话号码,此时有人告诉他李四的电话号码是(不存在的号码),张三就拨打这个号码,结果就找不到李四了。

ARP欺骗的原理与ARP攻击基本相同,但是产生的效果有所不同,ARP攻击的最终结果是网络中断,而ARP欺骗的最终结果是让流量穿过自己,达到监听或者控制的目的。

提醒:请联系我时一定说明是从101箱包皮具网上看到的!