ARP攻击与欺骗 、传输层协议

ARP攻击与欺骗

ARP攻击

ARP攻击,发送的是ARP应答,但是ARP应答中的Mac地址为虚假地址,所以在其他主机想要通信时,会将目的MAC地址设置为此虚假Mac地址,导致无法正常通信。

例如:如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送虚假ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障。

此处可以举例说明,例如张三要给李四打电话,他首先要知道李四的电话号码,这时有人告诉他李四的电话号码是12345678(不存在的号码),于是张三就把电话打到12345678,这样就无法找到李四了。

ARP欺骗的原理和ARP攻击基本相同,但是效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。

ARP欺骗网关

在这里插入图片描述

ARP欺骗主机

在这里插入图片描述

ARP抓包

1、利用ARP欺骗管理网络

​ 通过长角牛网络监控机软件管理网络:设置监控范围、进行网络管理、验证效果

2、简单抓包了解

在这里插入图片描述
在这里插入图片描述

3、有一台交换机时完整的通信过程时怎么样的

arp报文(抓包分析)
重点有源IP、目标IP、源mac和目标mac

目的MAC地址(Destination):54:89:98:0E: 2B: BE

源MAC地址(source):54:89:98: 5B:5B:8A

帧类型(frame type):0x0806 --长度为2字节,Ox0806代表为ARP packe

硬件类型:0x0001 --长度为2字节,表示网络类型:以太网取值为1

协议类型(Protocol):0x0800 --长度为2字节,表示要映射的协议地址类型。取值为0x0800,表示根据IP地址来进行映射

硬件地址长度(Hardware):0x06 --长度为1字节,表示硬件地址长度t取值为0x06,以太网中表示MAc地址长度为6字节

协议地址长度(protocol):0x04 --长度为1字节,表示协议地址长度:取值为0x04,以太网中表示IP地址长度为4字节

op:0x0002–长度为2个字节,表示ARP报文的种类,取值为1,表示请求报文。取值为2,表示ARP应答报文发送端

发送端MAc地址(sender): 54:89:98: 5B:5B:8A (信息体的发起端)

发送端IP地址; 0A:00:00:02 (转换即为10.0.0.2)

目的端MAc地址(target): 54:89:98:0F:2B:BE

目的端IP地址: OA:00:00:01(转换即为10.0.0.1)

传输层协议

tcp:传输控制协议 安全、可靠

udp:用户数据报协议 高效、不安全
TCP面向连接网络协议,是指通信双方之间在进行通信之前要先建立连接。比如打电话,双方通话前需要先建立连接。等数据发送结束后,双方再断开连接。
UDP无连接网络协议,是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包送到网络线路上,由系统自主选定路线进行传输。比如QQ发送信息。
TCP是面向连接的、可靠的进程到进程通信的协议。TCP提供全双工服务,即数据可在同一时间双向传输,每一个TCP都有发送锾舂和接收爱存,用来格时存储安据。
UDP协议是无连接、不保证可靠性的传输层协议。发送缩不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据。它的可靠性由上层协议来保障。传输数据速度更快,效率更高

TCP报文段:

源端口号:发送方进程的端口号。

目标端口号;接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。

序号:发送端为每个字节进行编号。便于接收端正确重组

当TCP从进程接收数据字节时,把它们分片成数据段存储在发送缓存中,并对每一个字节进行编号。当数据到达目的地后,按收端会按照这个序号把数据重新排列,保证数据的正确性

确认号:对发送端的确认信息。

接收端响应消息时将会用它来告诉发送端这个序号之前的数据段都已经收到,如确认号是x。就是表示前X-1个数据段都已经收到

首部长度:用它可以确定TCP首部数据结构的字节长度。一般情况下TCP首部是20字节,但首部长度最大可以扩展为60字节

控制位:
URG:紧急位-紧急指针有效位

ACK:确认位。只有当ACk=1时,确认序列时字段才有效:当ACK=0时,确认号字段无效。

PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当RST值为1时。通知重新建立TCP连接。

SYN:同步(连接)位。同步序号位,TCP需要建立连接时将这个值设为1。

FIN:断开位。当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1

窗口大小;说明本地可接收数据段的数目。这个值的大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小交现的。

比如下载速度从一开始的几KB逐渐提升到几MB的过程。

校验和;用来做差错控制。字段验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明数据基木是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。

紧急指针:.和URG配合使用,当URG=1时有效。

选项:在TCP首部可以有多达40字节的可选信息。例如,最大报文段长度Mss (Maximun Segment size)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是Mss个字书。

TCP报文段图形表示(211321)
在这里插入图片描述

重点掌握
在这里插入图片描述

TCP三次握手过程

在这里插入图片描述
瞬速、通过抓包来查看。

单向、独立确立连接

讲解三次握手的过程:

TCP是面向连接的,就是说每次发送数据前都要和对方建立一条可靠的连接,这个连接的过程分为3个步骤,就叫做三次握手。

1、当客户端向服务器发送请求连接的报文时:

seq序列号=x(x为随机)

SYN=1 (表示发送连接请求) (无确认操作)

2、服务器接收到客户端发来的请求报文后,同意建立连接,则向客户端发送确认报文:

seq序列号=y(服务器也会产生一个序列号,和客户端的序号不相关)

ack确认号=x+1(seq序列号x+1,表示确认收到了客户端的请求)

ACK=1 (这是条确认请求)

SYN=1(同时也发送一个建立连接的请求) (两个确认操作)

3、客户端进程收到服务端进程的确认后,还是向服务器给出确认,然后建立连接成功、:

seq序列号=x+1(这时客户端的序列号为1)

ACK确认号=y+1(表示确认收到了服务器的连接请求)

ACK=1(这是确认报文) (两个确认操作)

注:打开wireshark,木机连接虚拟机,选择捕获vmnet1[网卡否则消息太多,选择tcp协议,观察tcp三次握手的报文

TCP断开连接四次挥手

在这里插入图片描述
1、客户机发出中断请求FIN=1.以及确认报文ack=1

2、服务同意中断ACK=1

3、并且也要求中断请求FIN=1,同时发送确认报文ack=1

4、客户器也同意,发送确认报文ack 结束连接

常用的TCP端口号及其功能

21 FTP ftp服务器所开放的控制端口

20 FTP 传输端口打开

23 telent 用于远程登录,可以远程控制目标计算机

25 smtp SMTP服务器开放的端口,用于发送文件

80 HTTP 超文本传输协议

110 pop3 用于邮件接收

53 DNS 地址解析

tcp用于建立连接关系,dns用于解析协议

UDP协议

1、无连接、不可靠的传输协议

2、开销小,但高效

UDP报文的首部格式

在这里插入图片描述

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成对UDP数据差错检验,它是UDP协义提供的唯一的可靠机制

UDP:常见端口号及其功能

69 TFTP 简单文本传输协议

111 RPC 远程过程调用

123 NTP 网络时间协议

161 SNMP 网络时间协议

posted @ 2022-03-07 18:09  叕叕666  阅读(368)  评论(0)    收藏  举报