首页 > 技术文章 > 网络层协议介绍

ly159357 2021-05-18 23:32 原文

一、网络层的功能

1.定义了基于IP协议的逻辑地址

2.连接不同的媒介类型

3.选择数据通过网络的最佳路径

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):该字段用于表示段偏移量,3bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来;

TTL(Time to Live):该字段用于表示IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTL将减去1.当TTL的值为0时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环的转发下去;

协议号(Protocol):协议字段,8bit。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6,UDP的协议号为17

首部校验和(Header Checksum):该字段用于表示校验和,16bit。接受方和网格用来校验数据有没有被改动过

源IP地址(Source IP Address):该字段用于表示数据包的源地址,32bit;

目标IP地址(Destination IPAdress):该字段用于表示数据包的目的地址,32bit;

可选项(Options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。

二、ping命令

1.ping命令的返回信息

ICMPping不通的原因:开通防火墙,IP地址有问题,本局域网拼不通,可能是交换机口插错了,等,这些情况ping不通。

2.-t参数会一直执行ping,需要用(Ctrl+c)停止

3. -a 可以显示主机名称

4. -l :参数可以设定ping包的大小(在Linux系统中为-s

5. -n :指定发送包的个数(在Linux系统中为-c)

6.-s :指定源IP去ping(在Linux系统中为-I)

7. tracert IP/域名 :跟踪路由器路径命令(Linux系统为traceroute IP/域名)

三、ARP协议概述

1.局域网中主机的通信:IP地址与MAC地址

2.什么是ARP协议:Address Resolution Protocol,地址解析协议。将一个已知的IP地址解析成MAC地址。

3.IP地址解析为MAC地址

PC1发送给PC2,查看缓存没有PC2的MAC地址 

PC1发送ARP请求消息(广播)

所有主机收到ARP请求消息

PC2回复ARP应答(单播)

其他主机丢弃

PC1将PC2的MAC地址保存到缓存中,发送数据

四、ARP攻击原理

1.欺骗其他所有计算机:

2.欺骗被攻击的计算机

如上图:
攻击主机B向网关发送虚假的ARP应答,当网关收到虚假的ARP应答后会更新ARP条目,然后发送数据给主机A,就会发送到虚假的MAC地址,从而导致通信故障。
攻击主机B向局域网中的所有主机发送ARP应答,其中包括了网关的IP地址和和虚假的MAC地址,局域网中的主机收到ARP应答后更新ARP缓存表,然后就会向虚假的MAC地址发送数据,然后就无法与网关正常通信。

五、ARP欺骗原理

如上图所示:

欺骗ARP(主机B)发送ARP应答到局域网的所有其他主机,其中包括了网的IP地址和欺骗主机的MAC地址,同时发给了网关ARP应答,其中包括了局域网中所有主机的IP地址和欺骗主机的MAC地址,当局域网中的其他主机和网关收到ARP应答后会更新ARP缓存表中的IP地址和MAC网关,然后局域网中的主机和网关之间的通信就只能通过欺骗主机进行转发了。

 

推荐阅读