网络层协议与应用

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获取了

原文地址:https://www.cnblogs.com/wanghs8/p/11195187.html