网络层协议与应用
IP数据包格式
版本:该字段包涵的是IP 的版本号,目前IP的版本为IPv4,IPv4面临最大的问题是IP地址不足,即将使用的是IPv6的下一个版本
首部长度:该字段用于表示IP数据包头长度,IP数据包头最短为20字节,但是其长度是可变的,具体取决选项字段的长度
优先级与服务类型:用于表示数据包的优先级和服务类型,通过在数据包中划分一定的优先级,用于实现QoS的要求
总长度:用以指示整个IP数据包的长度,最长为25535字节,包括包头和数据
标识符:该字段表示IP 数据包的标识符,用于标识一个数据包
TTL:表示IP数据包的生命周期。可以防止一个数据包在网络中无限循环地转发下去
协议号:用以表示在IP数据包中封装的是哪一个协议,例如是TCP还是UDP,TCP的协议号为6,UDP的协议号为17
首部校验和:校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头和校验和
源IP地址:表示数据包的源地址,指的是发送该数据包的设备网络地址
目标IP地址:表示数据包的目的地址,接受节点的网络地址
可选项:选项字段根据实际情况可以变长
ICMP协议
ICMP是一个“错误回馈机制”
通过IP数据包封装的,用来发送错误和控制消息
例如,当路由器收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个ICMP主机不可达的消息
ICMP协议属于网络层协议
传输ICMP信息时,要先封装ICMP头部
然后再封装IP头部
最后再交给数据链路层
Ping命令的返回信息
在检查网络连通性时,Ping命令是用的最多的
当我们ping一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试两台h是否能够顺利连通
ping命令能够检测两台设备之间的双向连通性,即数据包能够到达对端,并能够返回
ping命令的参数
-t ping 指定的主机,直到停止。若要停止,键入 Ctrl+C。
-n 发送指定的数据包数,默认发送四个。
-l 指定发送的数据包的大小,默认发送的数据包大小为32byte。
-f 在数据包中设置“不分段”标记。
-i 将"生存时间"字段设置为TTL指定的值。
-r 记录计数跃点的路由,最多记录9个。
-w 指定超时间隔,单位为毫秒。
ARP协议
ARP地址解析协议的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信
ARP攻击与欺骗的工作原理
PC2向PC1发送一个虚假的网关MAC地址,PC1向PC2发送数据时,
就会发送到虚假的MAC地址当中,不会传到正常internet网关,而
虚假位置不提供internet网络服务,所以PC1的数据一直发不出去,
导致无法通信
PC1和PC2建立通信时,PC3分别向PC1和PC2提供虚假MAC地址
PC3向PC1发送一个PC2的虚假的网关MAC地址
PC3向PC2发送一个PC1的虚假的网关MAC地址
PC1向PC2发送数据时,就会发送到虚假的MAC地址(PC3)当中,
PC3就会收到并查看PC1发送的数据,之后PC3将数据原封不变的转
发给PC2PC1和PC2之间仍然可以通信,只是通信信息被PC3获取了