网络层的功能 一,定义了基于IP协议的逻辑地址 二,连接不同的媒介类型 三,选择数据通过网络的最佳路径 IP数据包格式 从上图中可以看出一个IP数据包格式所包括的有很多。 IP字段 该字段包含的是IP的版本号 首部长度 该字段用于表示IP数据包头的长度 优先级与服务类型 该字段用于表示数据包的优先级与服务类型 总长度 该字段用于指示整个IP数据包的长度 标识符 该字段用于表示IP数据包的标识符,当IP对上层数据进行分片时,它将给所有分片分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分那个包属于被拆分开的包的一部分。 标志 标志字段,对当前的包不能进行拆分,或当一个包被分开后用以指示在一系列的分片中,最后一个分片是否已发出。 段偏移量 该字段用于表示段偏移量,其中包含的信息是指在一个分片序列中如何将各分片重新连接起来。 TTL 该字段用于表示整个IP数据包的生命周期。一个数据包路过一个路由器,TTL减一。当TTL为0时就会丢弃。 协议号 协议字号,该字段用以指示在IP数据包中封装的是哪一个协议。时TCP还是UDP。TCP的协议号是6,UDP的协议号是17. 首部校验和 该字段用于表示校验和,接收方和网关用来校验数据有没有被改动过。 源IP地址 该字段用以表示数据包的源地址。 目标IP地 该字段用以表示数据包的目的地址。 可选项 可选项字段可根据实际情况变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等,在可选项之后就是上层数据。 ICMP协议(Internet控制报文协议) 一,ICMP是一个“错误侦测与回馈机制” 二,通过IP数据包封装的 三,用来发送错误和控制消息这 ICMP协议的封装 一,ICMP协议属于网络层协议 二,ICMP数据的封装过程 Windows中ping命令的常用选项 -t参数会一直不停的执行ping -a参数可以显示主机名称 -l参数可以设定ping包的大小 -n指定发送包的个数 -s指定源IP去ping 跟踪路由路径命令: WIN: tracert IP/域名 Linux:traceroute IP/域名 此外在不同的主机中TTL的返回值也会不同。 ARP 一,局域网中主机的通信 IP地址与MAC地址 二,什么是ARP协议 Address Resolution Protocol,地址解析协议 将一个已知的IP地址解析成MAC地址 ARP工作原理 1,当PC1想发送数据给PC2,首先会查看自己的ARP缓存表。 2,如果发现查看的MAC地址不在表中时,会发送一个ARP请求广播,用来发现目的方的MAC地址。ARP请求消息中包括自己的IP和MAC地址,目的方的IP地和MAC地址。这时因为不知道目的方的MAC地址便用广播地址(FF-FF-FF-FF-FF-FF)来表示 3,交换机收到PC1发送的ARP请求后,做泛洪处理。此时,除了PC1外所有连接在交换机上的PC端都会收到这个ARP请求,因为在PC1发出的ARP请求中包括PC2的IP地址,所以,除PC2的IP地址会与之匹配外,其他PC端会自动丢弃这个请求。当PC2收到请求后,会将PC1的IP地址与MAC地址缓存在自己的ARP缓存表中。PC2再将自己的IP和MAC地址作为源地址,PC1的IP和MAC地址作为目的地址发送ARP请求,经过交换机发到PC1上。 4,PC1收到来自PC2的消息后在自己的ARP缓存表中添加来自PC2的IP地址和MAC地址。此后以单播的方式与PC2通信。 广播与广播域 广播:将广播地址作为目的地址的数据帧 广播域:网络中能接收到同一个广播的所有节点的集合 广播地址为FF-FF-FF-FF-FF-FF Windows系统中ARP命令 arp -a 查看ARP缓存表哦 arp -d 清除ARP缓存 arp -s IP MAC ARP静态绑定。(动态学习的ARP老化时间是120S,并且静态绑定的ARP条目在计算机关机或重启后会消失) ARP攻击原理 一,欺骗其他所有计算机 PC1发送ARP上网请求,PC2利用软件将PC1发送到网关的ARP请求拦截并将PC1的地址记录下来,在利用记录下的地址,将更改的数据发送给PC1。PC2拦截PC1的ARP请求,获得PC1地址后可以随意更改PC1的上网数据。 二,欺骗被攻击计算机 PC2截获PC1的ARP请求,获得网关地址与PC1的地址,在冒充网关的MAC地址,将ARP请求返回给PC1,此后,PC1上网就要经过PC2,因为PC2冒充网关与PC1互联。PC1的隐私全部曝光。