网络层协议与应用
目录
一、IP数据包格式
二、ICMP协议
2.1、ICMP的主要功能介绍
2.2、ICMP协议封装
2.3、ICMP的基本使用
三、ARP协议
3.1 ARP概述
3.2 ARP攻击和ARP欺骗
一:IP数据包格式
网络层负责定义数据通过网络流动所经过的路径。主要功能
-
定义了基于IP协议的逻辑地址
-
选择数据通过网络的最佳路径
-
连接不同的媒介类型
如图为IP 数据包头的格式,字段含义如下:
- 版本(Version)该字段包含的是IP的版本号,4比特
- 首部长度(Herder Length)该字段用于表示IP数据包头长度,4比特
- 优先级和服务型(Priority&Type of Service)该字段用于表现数据包的优先级和服务类型,8比特
- 总长度(Total Length)该字段用于指示整个IP数据包的长度,16比特,最长为65535字节,包括包头和数据
- 标识符(Identification)该字段用于表示IP数据包的标识符,16比特。
- 标志(Flags)标志字段,3比特。标志和分片一起被用来传递消息。
- 段偏移量(Fragment Offset)该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将各分片重新连接起来
- TTL(Time to Live)该字段用于表示IP数据包的生命周期,8比特
- 协议号(Protocol)协议字段,8比特。该字段用于指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号是6,UDP的协议号是17。
- 首部校验和(Header Checksum)该字段用于表示检验和,16比特。检验和是16位的错误检测字段
- 源IP地址(Source IP Address)该字段用于表示数据包的源地址,32比特。这是一个网络地址,指的是发送该数据包的设备的网络地址
- 目标IP地址(Destination IP Address)该字段用于表示数据包的目的地址,32比特。这也是一个网络地址,但指的是接收节点的网络地址
- 可选项(Options)可选项字段根据实际情况可边长,可以和IP一起使用的选项有多个。例如可以输入创建该数据包的时间等,在可选项之后,就是上层数据
二、ICMP协议
1. ICMP 的主要功能介绍
- ICMP 协议是一个“错误帧测与回馈机制 ”
- 是通过IP 数据包封装的
- 用来发送错误和控制信息
2. IP 协议的封装
1) ICMP 协议属于网络层协议
2)ICMP 数据的封装过程
3. ICMP 的基本使用
Ping 命令
1) Ping 命令的基本格式为:
C:>ping【-t】【-|字节数】 【-a】【-i】IP_Address| target_name
2) windows 系统中ping 命令常用选项
① -t:若 ping 192.168.1.25 -t,系统将一直执行ping命令,按CTRL+C 可结束
② -a: 若ping 192.168.1.25 -a,可以返回对方主机的主机名(若对方开启防火墙有可能不显示)
③ -l:一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可使用参数“-l”改变ping 包的大小
三、ARP 协议
1. ARP 概述
1)局域网中主机的通讯
① IP 地址与MAC 地址
2)什么是APR 协议
① APR(Address Resolution Protocol)协议,地址解析协议
② 将一个已知的IP 地址解析成MAC 地址
- PC1 发送数据给PC2,查看缓存没有PC2的MAC 地址
- PC1 发送ARP 请求消息(广播)
- 所用主机收到ARP 请求消息
PC2 回复ARP 请求消息(单播)
其他主机丢弃
- PC1 将PC2 的MAC 地址保存到缓存中,发送数据
2. ARP 攻击和ARP 欺骗
1)ARP 攻击原理
- 欺骗其他所有计算机
- 欺骗被攻击计算机
2)ARP 欺骗原理
- ARP 欺骗网关
- ARP 欺骗主机:利用ARP 回应报文欺骗