浅析网络层协议

一、IP数据包格式

1.1网络层功能

网络层负责定义数据通过网络流动所经过的路径主要功能有
1.定义可基于IP协议的逻辑地址
2.连接不同的媒介类型
3.选择数据通过网络的最佳路径

1.2 IP数据包格式

在这里插入图片描述
版本: 该字段包含的是IP的版本号,4比特。目前IP的版本为IPV4,现在无论是在局域网还是在广域网中,使用的都是IPv4。目前IPv4所面临的最大问题是IP地址空间不足,即使使用的IP下一个版本IPV6,也无法解决IP地址缺乏的问题。
首部长度: 该字段用于表示IP数据包头长度,4比特。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选字段的长度。
优先级与服务类型: 该字段用于表示数据包的优先级和服务类型,8比特。用来区分哪些数据包优先级高和哪些数据优先级低。例:同时迅雷下载和聊QQ,其中QQ的优先级就比迅雷下载的优先级高,否则就需要等待迅雷下载完毕才能进行QQ聊天。
总长度: 该字段用以指示整个IP数据包的长度,16比特。最长为65535(2^16-1)字节,包括包头和数据。
标识符: 该字段用于表示IP数据包的标识符,16比特。当IP对上层数据分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。
标志: 标志字段,3比特。标志和分片一起被用来传递信息。例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出。
段偏移量: 该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将分片重新连接起来。
TTL: 该字段用于表示IP数据包的生命周期,8比特。该字段包含的信息可以防止一个数据包在网络中无限循环的转发下去。即防止路由环路。
TTL值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间。数据包经过的每一个路由器都会检查该字段中的值,当TTL的值为0时,数据包将被丢弃。
TTL对应一个数据包通过路由器的数目。一个数据包经过每一个路由器,TTL将减去1。
协议号: 协议字段,8比特。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6,UDP的协议号为17.
首部校验和: 该字段用于表示校验和,16比特。校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机做的一样。如果数据包没有被改动过,两个计算结果应该是一样的。
源IP地址: 该字段用于表示数据包的源地址,32比特。这是一个网络地址,指的是发送该数据包设备的网络地址。
目标IP地址: 该字段用于表示数据包的目的地址,32比特。这也是一个网络地址,但指的是接收节点的网络地址。
可选项: 可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。
数据: 上层数据

二、ICMP协议

ICMP协议(Internet Control Message Protocol)的全称是“Internet控制消息协议”,主要用于在IP网络中发送控制消息,提供在通信环境中可能发生的各种问题的反馈。
作为网络管理员,必须要知道网络设备之间的连接情况,因此就需要有一种机制来侦测或通知网络设备之间可能发生的各种各样的情况,这就是ICMP协议的作用。
通过ICMP协议反馈的信息管理员就可以对所发生的问题作出判断,然后采取适当的措施去解决。

2.1 ICMP的功能

ICMP采取的是“错误侦测与回馈机制”,通过IP数据包封装,用来发送错误和控制消息。其目的是使管理员能够掌握网络的连通状况。例:当路由器接收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个主机不可达的ICMP消息。

ICMP属于网络层协议(也有高于网络层协议的说法),因为传输ICMP信息时,要先封装网络层的IP报头,再交给数据链路层,即ICMP报文对应IP层的数据。
在这里插入图片描述

2.2 ICMP的基本使用

在网络中,ICMP协议的使用是靠各种命令来实现的。
以ping命令为例:
ping命令的基本格式为

在这里插入图片描述

2.2.1ping命令的返回信息

在检查网络连通性时,ping 命令是用得最多的。当我们ping一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试两台主机是否能够顺利连通。ping命令能够检测两台设备之间的双向连通性,即数据包能够到达对端,并能够返回。如图所示:
连通的应答
在这里插入图片描述
不能连通的应答

在这里插入图片描述
如图所示,ICMP返回信息为“无法访问目标主机”,说明两台主机之间无法建立连接,可能是没有正确配置网关等参数。由于找不到去往目标主机的“路”,所以显示“无法访问目标主机“。
连接超时的应答
在这里插入图片描述

2.2.2 ping命令的常用参数

-t:在window系统中,默认情况会发送4个ping包,如果在ping命令后面加上参数“-t”,系统会一直不停的ping下去(按ctrl+c结束)。
-a:可以显示对方主机名称
-1:一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小。
-n:指定发送包的个数
-s:指定源IP去ping

三、ARP协议

在局域网中,交换机通过MAC地址进行通信,要获得目标主机的MAC地址就需要使用ARP协议将目的IP地址解析成目的MAC地址。所以,ARP(Address Resolution Protocol,地址解析协议)的基本功能是将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信。

3.1ARP工作原理

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

1.PC1想要发送数据给PC2,它检查自己的ARP缓存表。发现并没有PC2的MAC地址,这时,PC1会初始化ARP请求过程(发送一个ARP请求广播),用于发现目的地的MAC地址。
在这里插入图片描述

2.PC1发送ARP请求信息,信息包括源IP、源MAC和目标IP、目标MAC(MAC广播地址FF-FF-FF-FF-FF-FF)。从而保证所有设备都能收到此请求。
3.交换机收到广播地址后,发现是MAC地址广播,所以将数据帧从除了接收口之外的所有接口转发出去。
PC3 和PC4 收到数据帧后,进行和自己的IP地址比较,发现与自己的IP地址不同,便会丢弃此数据包,并不做回应。但是它们的ARP缓存表中会记录PC1的IP地址和MAC地址。
在这里插入图片描述

而PC2接收到数据震后,进行和自己的IP地址比较,发现数据帧中的目标IP地址就是自己,所以会发送一个ARP应答,来告诉PC1自己的MAC地址(这个数据帧是单播)。并且会在自己的ARP缓存表中添加PC1的IP地址和MAC地址的对应关系。在这里插入图片描述

PC1收到PC2的回应数据帧后,将PC2的IP地址和MAC地址的对应关系添加到自己的ARP缓存表中。
在这个过程中,交换机已经学习到了PC1和PC2的MAC地址,之后传输数据时,PC1 和PC2 之间将采用单播方式。

3.2 ARP相关命令

在这里插入图片描述

四、ARP攻击与ARP欺骗

无论是ARP攻击还是ARP欺骗都是通过伪造ARP应答来实现的

4.1ARP攻击

一般情况下,ARP攻击的主要目的是使网络无法正常通信,主要包括以下两中攻击行为:
1.欺骗其他所有计算机
攻击主机制造假的ARP应答,并发送给局域网中除被攻击主机之外的所有主机。ARP应答中包含被攻击主机的IP地址和虚假的MAC地址。
2.欺骗被攻击计算机
攻击主机制造假的ARP应答,并发送给被攻击主机。ARP应答中包含除被攻击主机之外的所有主机的IP地址和虚假的MAC地址。
在这里插入图片描述

4.2 ARP欺骗

攻击主机发送ARP应答给网关和PC1,网关和PC1更新ARP条目后,所有数据都要经过PC2进行转发。此时PC2就达到目的了。
在这里插入图片描述
总的来说ARP欺骗的目的在于截取流量;ARP攻击的目的在于让PC1断网

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值