1、网络层的介绍
1.1定义了基于IP协议的逻辑地址
1.2连接不同的协议类型
1.3选择数据通过网络的最佳路径
2、IP数据包格式
2.1版本号(4BIT):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100
2.2首部长度(4):IP数据包的包头长度
2.3优先级与服务类型(8):该字段用于表示数据包的优先级与服务类型。通过划分数据包中一定的优先级,用于实现Qos(服务质量)的要求。注:定义数据包是否优先传送。
2.4总长度(16):定义IP数据包的总长度,最长为65535字节,包括包头和数据。
2.5标识符(16):该字段用于表示IP数据包的标识符,当IP对上层数据进行分片时它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。表示字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。
2.6标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出。
2.7段偏移量(13):在一个分片系列中如何将个分片连接起来,按什么顺序连接起来
2.8TTL生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃。
2.9协议号(8)封装的上层哪个协议,ICMP:1 ,TCP:6 ,UDP:17
2.10首部校验和(16):这个字段只检验数据报的首部:不包括数据部分。这是因为数据报没经过一次路由器,都要重新一下首部校验和(因为一些字段如生存时间、标志、片偏移等可能发生变化)。
3、ICMP协议介绍
3.1ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
ICMP协议的封装过程
3.2ping命令的使用:ping是DOS命令,通常用于检测网络连接和故障。Ping是Internet包资源管理器,用于测试网络连接量的程序。Ping向目的地发送ICMP回声清除消息,并报告是否接收到所需的ICMP回声响应。
3.3tracert命令的使用:tracert命令是用于探索源地址到目标地址当中所经过的路线。而每到达一个点,就会向源地址返回一个信号。例如A要访问D,那么当中经过B,再经过C。当经过B时,会向A返回一个信号,当经过C时,再向A返回一个信号,最后到达D时,返回信号,结束整个过程。在这当中需要注意的是两点,经过的节点需要有IP地址才能返回信号,像普通交换机或hub,没有IP地址,是不可能有信号返回的。二是,网络都是双向的,像上面的例子,如果我们发现tracert D,但到了C已经没有信号返回了,并不能说明信号到不了D,也有可能是信号到了,但中途有节点无法返回信号而已。判断时需注意。
4、ARP协议介绍
4.1ARP是地址解析协议。根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的地址,收到返回消息后将该IP地址和物理地址存入本机ARP缓存中保留一定时间,下次请求时直接查询ARP缓存。
4.2ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。
5、ARP攻击与欺骗
简单的说ARP攻击对应的是通讯的终端,ARP的欺骗对应的通讯的替换。ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。 ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
6、本章总结
6.1IP数据包格式重点理解各字段的含义
6.2ICMP用来发送错误和控制消息
6.3ARP用于实现IP到MAC地址的解析
6.4ARP协议通过广播查询目标主机MAC地址
6.5ARP攻击是通过伪造ARP应答进行欺骗攻击