网络层协议与应用

一、IP数据包格式

1.1.1、ip数据包头的介绍

在这里插入图片描述
如图:

  • 首部长度(Header Length):该字段用于表示IP数据包头长度,4比特。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
  • 优先级与服务类型( Priority & Type of Service):该字段用于表示数据包的优先级和服务类型,8比特。通过在数据包中划分一定的优先级, 用于实现QoS(服务质量)的要求。
  • 总长度(Toual Length):该字段用以指示整个IP数据包的长度,16比转最长为65535字节,包括包头和数据。
  • 标识符(Identifcation) :该字段用于表示IP数据包的标识符,IP对上层数据分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。
  • 标志(Flags) :标志字段,3比特。标志和分片起被用来传递信息。 例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在系列的分片中最后一个分片 是否已发出。
  • 段偏移量(Fragment Offset) :该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将各分片重新连接起来。
  • TTL (Time to Live) :该字段用于表示IP数据包的生命周期,8比特。该字段包含的信息可以防止一个数据包在网络中无限循环地转发下去。
  • ttl 值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间。数据包经过的每一.个路由器都会检查该字段中的值,当TTl的值为0时,数据包将被丢弃。
  • TIL 对应于一个数据包通过路由器的数目。一个数据包每经过一个路由器,TTL将减去1。
  • 协议号(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协议

2.2.1、ICMP的主要功能介绍

在这里插入图片描述

  • ICMP采取“错误侦测与回馈机制”,通过IP数据包封装,用来发送错误和控制消息。其目的是使管理员能够掌握网络的连通状况。
  • 例如,当路由器收到一个不能被送达最终目的地的数据包时,路由器会向源主机发送个主机不可达的ICMP消息。
  • ICMP属于网络层协议(也有高于网络层协议的说法),因为传输ICMP信息时,要先封装网络层IP包头,再交给数据链路层,即ICMP报文对应IP层的数据。
2.2.2、ICMP的基本使用

1、ping命令常用参数

  • -t:默认情况下发送4个ping包,加上-t参数会一直不停地ping下去。
  • -a:在ping命令中加入-a参数可以返回对方主机的主机名
  • -l:一般情况下,ping包的大小为32位字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小

2、traceroute命令

通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。
当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
UNIX系统中,我们称之为Traceroute,MSWindows中为Tracert。Traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。
一条路径上的每个设备Traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

三、ARP协议

3.3.1、ARP协议介绍
  • ARP协议是“Address Resolution
    Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
  • 在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。
  • 所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
    在这里插入图片描述
3.3.2、ARP工作原理
  • 首先
    每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
    当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址
  • 如果有
    就直接将数据包发送到这个MAC地址;
  • 如果没有
    就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。
    此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。
    网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
  • 如果不相同
    就忽略此数据包;
  • 如果相同
    该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,
    如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;
    源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
    如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
四、ARP攻击和ARP欺骗的原理和应用
4.4.1、ARP攻击

在这里插入图片描述
一般情况下,ARP攻击的主要目的是使网络无法正常通信,主要包括以下两种攻击行为

  • 1、攻击主机制造假的 ARP应答,并发送给局域网中除被攻击主机之外的所有主机。ARP应答中包含被攻击主机的IP地址和虚假的MAC地址。
  • 2、攻击主机制造假的ARP应答,并发送给被攻击主机。ARP应答中包含除被攻击主机之外的所有主机的IP地址和虚假的MAC地址。
4.4.2、ARP欺骗的原理

在这里插入图片描述

  • 一般情况下
  • ARP 欺骗并不会使网络无法正常通信,而是通过冒充网关或其他主机使到达网关或主机的流量通过攻击主机进行转发。通过转发流量可以对流量进行控制和查看,从而可以控制流量或得到机密信息。
  • ARP欺骗发送ARP应答给局域网中其他主机,其中包含网关的IP地址和进行ARP欺骗的主机MAC地址;
  • 并且也发送ARP应答给网关,其中包含局域网中所有主机的IP地址和进行ARP欺骗的主机MAC地址(有的软件只发送ARP应答给局域网中的其他主机,并不发送ARP应答欺骗网关)。
  • 当局域网中主机和网关收到ARP应答更新ARP表后,主机和网关之间的流量就需要通过攻击主机进行转发,冒充主机的过程和冒充网关相同
五、总结
  • 1、IP数据包头最短为20字节,但其长度是可以变的,具体长度取决于可选项字段的长度。
  • 2、在网络中,ICMP协议的使用是靠各种命令来实现的,例如ping命令。
  • 3、ARP协议的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信。
  • 4、无论是ARP攻击还是ARP欺骗,它们都是通过伪造ARP应答来实现的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值