文章目录
一、网络层
1.基本功能

-
分组与分组交换:把从传输层接收到的数据报文封装成分组(Packet,也称为“包”)再向下传送到数据链路层。
-
路由:通过路由选择算法为分组通过通信子网选择最适当的路径。
-
网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(多采取时分复用技术)。
-
差错检测与恢复:一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复。
-
服务选择:网络层可为传输层提供数据报和虚电路两种服务,但 Internet的网络层仅为传输层提供数据报一种服务。
-
网络管理:管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务。
-
流量控制:通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。
-
拥塞控制:当网络的数据流量超过额定容量时,将会引发网络拥塞,致使网络的吞吐能力急剧下降。因此需要采用适当的控制措施来进行疏导。
-
网络互连:把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。
-
分片与重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片,分片到达目的主机之后,有目的节点的网络层再重新组装成原分组。
2.IP数据包格式

版本(version):该字段包含的是 IP的版本号,4bit。目前IP 的版本为4(即 IPv4)。
首部长度(Header Length):该字段用于表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
优先级与服务类型(Priority & Type of Service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现Qos (服务质量)的要求。
总长度(Total Length):该字段用以指示整个IP数据包的长度,16bit。最长为65535字节,包括包头和数据。
标识符(Identification):该字段用于表示IP数据包的标识符,16bit。当IP对上层数据进行分片时,它将给所有的分片分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。
路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分
标志(Flags) :标志字段,3bit。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否己发出。
段偏移量(Fragment offset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。
TTL (Time to Live):该字段用于表示IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTL将减去1。当TTL的值为0时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
协议号(Protocol):协议字段,8bit。该字段用以指示在 TP数据包中封装的是哪一个协议,是TCP还是 UDP,TCP 的协议号为6,UDP的协议号为17。
首部校验和(Header Checksum):该字段用于表示校验和,16bit。接收方和网关用来校验数据有没有被改动过。
源IP地址(Source IP Address):该字段用于表示数据包的源地址,32bit。
目标IP地址(Destination IP Address):该字段用于表示数据包的目的地址,32bit。
可进项(options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
二、ICMP协议
1.基本介绍
ICMP协议:Internet控制报文协议。它是TCP/IP协议簇的一个子协议,主要工作在网络层,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等用来探测节点之间网络连通性。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
2.封装过程

当IP头部的协议类型是 1 的时候,代表后面的是ICMP协议。ICMP报文是紧跟着IP头部的,相当于IP协议的数据部分内容就是ICMP的报文。IP协议的结构可参考前面的IP协议的内容。
ICMP报文也分为ICMP头部和ICMP数据两部分。
3.常用命令
Ping命令
Windows系统:
ping -t ip地址 //参数会一直不停的执行,若要停止可以执行Ctrl+c停止

ping -a ip地址 //参数可以显示主机名称

ping -l 数据 ip地址 //参数可以设定ping包的大小

ping -n 数值 ip地址 //指定发送包的个数

ping -S 源地址 目的地址 //指定源IP去ping

Linux系统:
ping -s //参数可以设定ping包的大小

ping -c //指定发送包的个数
)
ping -I 源地址 目的地址 //指定源IP去ping,其中地址可以通过ifconfig查询(linux)

跟踪路由器路径命令
Windows:
tracert IP/域名

Linux:
traceroute IP/域名

4.广播与广播域
广播与广播域:
广播:将广播地址做为目的地址的数据帧
广播域:网络中能接收到同一个广播所有节点 的集合
MAC地址广播:
广播地址为FF-FF-FF-FF-FF-FF
IP地址广播:
广播MAC地址为FF-FF-FF-FF-FF-FF
广播IP地址为IP地址网段的广播地址

三、ARP协议
1.介绍
地址解析协议,即ARP,是根据IP地址获取物理地址的一个TCP/IP协议,工作在网络层。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
2.ARP工作原理
(1)PC1发送数据给PC2前,会先查询自己ARP缓存表有没有对方主机的IP与MAC的记录,如果有直接单播通信
(2)若ARP缓存表中没有相关记录,则会通过广播的方式发送ARP请求消息(目的MAC地址为广播地址的FF-FF-FF-FF-FF-FF),交换机接收到消息后会广播泛洪
(3)只有拥有对应的TP的主机会按收ARP请求消息,其它主机则会丢弃ARP消息,目的主机会先根据ARP消息将源主机的IP和MAC地址保存到自己ARP缓存表中
(4)目的主机通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发
(5)PC1将PC2的IP与MAC地址保存到ARP缓存表中,此后通过单播发送数据给PC2
3.ARP相关命令
注意:动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失。
arp -a //查看ARP缓存表
当你需要了解你网络中设备对应的mac地址时,你可以使用arp地址进行显示,这个有利于我们可以清楚了解到ip地址对应的mac地址是哪台设备

arp -d [IP] //清楚ARP缓存
其实如果想彻底清空ARP列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。
当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。

要在管理员终端下运行
arp -s [IP] [MAC]:ARP静态绑定
手工输入一条ARP项目,格式为“ARP+空格±a+IP地址+MAC地址”;
在网络中,通常在办公网络或监控项目中,为了防止用户乱改ip地址或ip地址冲突,我们需要给ip地址绑定设备的mac地址。

4.配置网关绑定参数
第一步:
arp –a //查看网关的IP地址与Mac地址
默认网关IP地址与Mac地址为动态类型,将网关的IP地址与Mac地址改为静态类型即可成功。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qdI67fy0-1678717999657)(F:\博客存放\arp-a1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/deff0d9d1c6069901ec15bc4055ba95c.jpeg#pic_center)
第二步:
netsh i i show in //查看网络适配器参数"Idx号"
Idx号参数在下一步更改中尤为重要,PC用户一般查看以太网的Idx号。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y3J70NnW-1678717999658)(F:\博客存放\查看网络适配器参数Idx号.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/52a944a09f2b3596abc55a3ce20d00fe.jpeg#pic_center)
第三步:
netsh –c “i i” add neighbors 网络适配器ID号 网关IP地址 网关Mac地址 //配置网关IP地址与网关Mac地址绑定
例如:网络适配器ID号为16,网关IP为
192.168.1.1,网关Mac地址为ff-ff-ff-ff-ff-ff
则输入
netsh –c “i i” add neighbor 16 192.168.1.1 ff-ff-ff-ff-ff-ff
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QJs5n42R-1678717999658)(F:\博客存放\绑定mac.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/06dbe9f91624b143819da1f9a7868e00.jpeg#pic_center)
第四步:
netsh -c “i i” delete neighbors 网络适配器Idx号 //将静态网关IP地址与Mac地址改为动态
此命令用于将已经绑定为静态的网关IP地址与mac地址更改为动态
用于删除以绑定的静态的网关IP地址与mac地址
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YKp6oAL5-1678717999658)(F:\博客存放\静态ip与mac改为动态.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/dadc55bb4553d4e386e89f3bea2cc35f.png#pic_center)
5.华为系统的的ARP命令
[Huawei]dis mac-address //查看MAC地址信息
[Huawei]arp static <IP> <MAC> //绑定ARP
[Huawei] undo arp static <IP ><MAC> //解绑定
<Huawei>reset arp all //清除mac地址表
6.ARP攻击原理与欺骗原理
ARP攻击原理
一般情况,arp攻击主要目的是使网络无法正常通信,其主要是以下行为:
-
攻击主机制造假的arp应答,并发送给局域网中除被攻击之外的所有主机。arp应答中包含被攻击主机的IP地址和虚假的MAC地址。
-
攻击主机制造假的arp应答,并发送给被攻击的主机,arp应答中包含除被攻击攻击主机之外的所有主机的IP地址和虚假的MAC地址。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIc6XWPA-1678717999659)(F:\博客存放\攻击原理.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/8818472d314ae04e1743b9f139242500.png#pic_center)
ARP欺骗原理
-
一般情况下,ARP欺骗并不是使网络无法正常通信,而是通过冒充网关或其他主机使得到达网关或主机的流量通过攻击进行转发。通过转发流量可以对流量进行控制和查看,从而控制流量或得到机密信息。
-
ARP欺骗发送arp应答给局域网中其他的主机,其中包含网关的IP地址和进行ARP欺骗的主机MAC地址;并且也发送了ARP应答给网关,其中包含局域网中所有主机的IP地址和进行arp欺骗的主机MAC地址。当局域网中主机和网关收到ARP应答跟新ARP表后,主机和网关之间的流量就需要通过攻击主机进行转发。冒充主机的过程和冒充网关相同。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28h6ul15-1678717999659)(F:\博客存放\欺骗.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b3d96ba243a39a83582e1c77f1e508d4.jpeg#pic_center)

被折叠的 条评论
为什么被折叠?



