目录
1.网路层功能
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳途径
2.IP数据包格式
- IP字段:版本(Version): 该字段包含的是 IP 的版本号,4bit。目前 IP 的版本为 4(即 IPV4)。
- 首部长度(Header Length): 该字段用表示IP数据包头长度,4bt。数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度
- 优先级与服务类型(Priority Type of Service): 该字用于表示数据包的优先级和服务类型,bit。通过在数据包中划分一定的优先级,用于实现Qos (服务质量) 的要求。
- 总长度(Total Length): 该字段用以指示整个 IP数据包的长度,16bit。最长为65535字节,包括包头和数据。
- 标识符(Idetification);该字段用于表示数据包的标识符,16bt。当对上层数据进行分片时,它将给所有的分片分配同一组编号,然后将这些编号放入标识符字股中,保证分片不会被错误地重组。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。
- 标志(Flags):标志字段,3bt。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。
- 段偏移量(Eragment Offset): 该字段用于表示段偏移量,13bt。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。ITI (Time to live) : 该宁段用于表示 IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTI将减去 1。当 TTL 的值为 0时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
- 协议号 (Protocol):协议字段,8bit。该字段用以指示在 P数据包中封装的是哪一个协议,是 TCP还是 UDP,TCP 的协议号为 6,UDP的协议号为17。
- 首部校验和(Header Checksum) : 该字段用于表示校验和 ,16bt。接收方和网关用来校验数据有没有被改动过。
- 源 IP 地址 (Source IP Address) : 该字段用于表示数据包的源地址,32bit。
- 目标 IP地址(Destination IPAddress): 该字段用于表示数据包的目的地址,32bit。
- (可选项Otins):可选项字段根据实际情况可变长,可以和P一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据
3.ICMP协议(Internet控制报文协议)
- ICMP是一个“错误侦测与回馈机制”
- 通过IP数据包封装的
- 用来发送错误和控制消息
3.1.ICMP协议的封装过程
-
ICMP协议属于网络层协议
-
ICMP数据的封装过程
3.2.Ping命令
-
ping命令
-
ping命令的返回信息
-
ping命令的参数
-
-t参数会一直不停的执行ping
-
Ctrl+C可以中断命令
-
-a参数可以显示主机名称
-
-l参数可以设定ping包的大小(Linux:-s)s
-
-n指定发送包的个数(Linux:-c)
-
-s指定源IP去ping(Linux:-I)
-
tracert IP/域名(Linux:traceroute IP/域名)
-
4.广播与广播域
-
广播:将广播地址作为目的地址的数据帧
-
广播域:网络中能接收到同一个广播的所有节点的集合
-
广播地址为FF-FF-FF-FF-FF-FF
5.ARP协议
5.1ARP协议概述
-
局域网中主机的通信
- IP地址与MAC地址
-
什么是ARP协议
- Address Resolution Protocol,地址解析协议
- 将一个已知的IP地址解析成MAC地址
-
ARP协议
-
IP地址解析为MAC地址
-
PC1发送数据给PC2,查看缓存没有PC2的MAC地址
-
PC1发送ARP请求消息(广播)
-
所有主机收到ARP请求消息
- PC2回复ARP应答(单播)
- 其他主机丢弃
-
PC1将PC2的MAC地址保存到缓存中,发送数据
总体概述:
- PC1发送数据给PC2前,会先查询自己ARP缓存表有没有对方主机的IP与MAC的记录,如果有直接单播通信
- 若ARP缓存表中没有相关记录,则会通过广播的方式发送ARP请求消息(目的MAC地址为广播地址FF-FF-FF-FF-FF-FF),交换机接收到消息后会广播泛洪
- 只有拥有对应的IP的主机会接收ARP请求消息,其它主机则会丢弃ARP消息,目的主机会先根据ARP消息将源主机的IP和MAC地址保存到自己ARP缓存表中
- 目的主机通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发
- PC1将PC2的IP与MAC地址保存到ARP缓存表中,之后通过单播发送数据给PC2
-
-
5.2.ARP相关命令
-
Windos系统中ARP命令
-
arp -a ####查看arp缓存表(a表示为:all) arp -d[ip] ####删除指定的arp缓存表(d表示为:delete) arp -s IP MAC ##### 删除arp静态绑定(s表示为:static)
-
华为系统中的ARP命令
-
[Huawei]dis mac-address ###查看mac 地址信息 [Huawei]arp static 'IP' 'MAC' ###绑定ARP [Huawei]undo arp static 'IP''MAC'###解绑定 <Huawei>reset arp all ###清除mac地址
-
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失
5.3.ARP攻击原理
- 欺骗其他所有主机
- 欺骗被攻击计算机
- ARP攻击发送的是ARP应答,也是ARP应答的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的的MAC地址设置成此虚假MAC地址,导致其无法正常通信。
- 例如:当主机pc1(被攻击主机)想访问外网时,会发送数据到达网关,此时数据会被主机pc2(攻击主机)获取,主机pc2将发送虚假的MAC地址到达网关,当网关收到虚假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。
5.4.ARP欺骗原理
-
ARP欺骗原理与ARP攻击原理类似,但是效果不一样,ARP攻击是导致网络中断,而ARP欺骗的最终结果是流量通过自身达到监控或控制的目的。
假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。
-
ARP欺骗原理与ARP攻击原理类似,但是效果不一样,ARP攻击是导致网络中断,而ARP欺骗的最终结果是流量通过自身达到监控或控制的目的。
假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。