一.网络层的功能
定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径
二.ICMP协议
ICMP是一个“错误侦测与回馈机制”
通过IP数据包封装的
用来发送错误和控制消息
ICMP协议的封装
ICMP协议属于网络层协议
ICMP数据的封装过程
ICMP消息类型和编码类型
三.Ping命令
ping命令的基本格式为
C:\ping [-t] [-l字节数] [-a] [-i] IP_Address|target_name
其中 [ ] 中的参数为可选参数。
-t 参数会一直不停的执行ping
调试故障或需进行持续连通性测试时应用
Ctrl+C可以中断命令
C:\>ping 192.168.0.11 -t
-a 参数可以显示主机名称
C:\>ping -a 192.168.0.25
四.ARP协议概述
在局域网中,交换机通过MAC地址进行通信,要获得目的主机的MAC地址就需要使用ARP协议将目的IP地址解析成目的MAC地址。所以,ARP(Address Resolution Protocol,地址解析协议)的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信。
IP地址解析为MAC地址
1.PC1发送数据给PC2,查看缓存没有PC2的MAC地址
2.PC1发送ARP请求消息(广播)
3.所有主机收到ARP请求消息
①PC2回复ARP应答(单播)
②其他主机丢弃
4.PC1将PC2的MAC地址保存到缓存中,发送数据
MAC地址:
四.TCP协议
1.TCP是面向连接的、可靠的进程到进程通信的协议
2.TCP提供全双工服务,即数据可在同一时间双向传输
3.ITCP报文段
①TCP将若干个字节构成一个分组,叫报文段(Segment)
②TCP报文段封装在IP数据报中
五.ARP攻击ARP欺骗的原理
1.ARP攻击的原理
一般情况下,ARP攻击的主要目的是使网络无法正常通信,主要包括以下两种攻击行为。
①攻击主机制造假的ARP应答,并发送给局域网中除被攻击主机之外的所有主机。ARP应答中包含被攻击主机的IP地址和虚假的MAC地址。
②攻击主机制造假的ARP应答,并发送给被攻击主机。ARP应答中包含除被攻击主机之外的所有主机的IP地址和虚假的MAC地址。
2.ARP欺骗的原理
①ARP欺骗网关
一般情况下,ARP欺骗并不是使网络无法正常通信,而是通过冒充网关或其他主机使得到达网关或主机的数据流通过攻击主机进行转发。通过转发流量可以对流量进行控制和查看,从而控制流量或得到机密信息。
②ARP欺骗主机
当主机PC1和主机PC2之间通信时,如果主机PC1在自己的ARP缓存表中没有找到主机PC2的MAC地址时,主机PC1将会向整个局域网中所有计算机发送ARP广播,广播后整个局域网中的计算机都收到了该数据。
利用ARP欺骗管理网络
通过长角牛网络监控机软件管理网络
①设置监控范围
②进行网络管理
③验证效果
Windows系统中的ARP命令
①arp-a:查看ARP缓存表
②arp-d:清除ARP缓存
③ARP绑定
windows当中如何查看arp缓存表(静态arp和动态arp)
arp-a
删除arp缓存表
arp-d
绑定arp(win10)
cmd中输入
netsh-c i i show in 查看网络连接准确名称,如:本地连接、无线网络连接
netsh -c “ii” add neighbors 19 “IP” “Mac”,这里19是idx号。//绑定
netsh-c "ii” delete neighbors 19,这里19是idx号。//解绑
第六章 传输层协议介绍
一.TCP和UDP协议
TCP/IP协议族的传输层协议
TCP:是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。
UDP:是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。
TCP协议
TCP是面向连接的、可靠的进程到进程通信的协议
TCP提供全双工服务,即数据可在同一时间双向传输
TCP报文段
·TCP将若干个字节构成一个分组,叫报文段(Segment)
·TCP报文段封装在IP数据报中
二.TCP报文段
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送的信息
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
控制位: URG ACK PSH RST SYN FIN,共6个,每个标志位表示一个控制功能,TCP的连接、传输和断开都受这六个控制位的指挥1URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。
2.ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。
3PSH:push标志,为1表示是有push标志的数据,指示接收方在接收到该文段以后,应尽快将这个报文段交给应用程序,而不是在冲区排队。
4.RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
5.SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。
6.FIN: finisht标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
窗口大小:说明本地可接收数据段的数目,这个值的大小是可变的,当网络通畅时 将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小实现的
校验和:用来做差错控制,在发送TCP数据段时,由发送端计算校验和,当到达目的地时又进行一次校验和计算。若这两次的校验和一致,则说明数据基本是正确的,否则将认为该数据已被破坏,接收断将丟弃该数据
三.TCP建立连接的过程称为三次握手
三次握手过程:
1.客户端首先要SYN=1,表示要创建连接,
2.服务端接收到后,要告诉客户端:我接受到了!所以加个ACK=1,就变成了ACK=1,SYN=1
3.理论上这时就创建连接成功了,但是要防止一个意外(见疑问三),所以客户端要再发一个消息给服务端确认一下,这时只需要ACK=1就行了。
三次握手完成!
TCP断开连接的四次挥手
1.首先客户端请求关闭客户端到服务端方向的连接,这时客户端就要发送一个FIN=1,表示要关闭一个方向的连接(见上面四次分手的图)
2.服务端接收到后是需要确认一下的,所以返回了一个ACK=1
3.这时只关闭了一个方向,另一个方向也需要关闭,所以服务端也向客户端发了一个FIN=1 ACK=1
4.客户端接收到后发送ACK=1,表示接受成功
四次挥手完成!
常用的TCP端口号及其功能
UDP协议
UDP协议
①无连接、不可靠的传输协议
②花费的开销小
UDP报文的首部格式