网络安全基础之网络协议与安全威胁

news2024/11/19 1:34:37

OSI(OpenSystem Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。

网络协议的简介:

定义:协议是网络中计算机或设备之间进行通信的一系列规则集合。

什么是规则?

交通中的红黄绿灯:红灯停,绿灯行就是规则。

我国汽车靠右行就是规则。

OSI七层模型

 

OSI(OpenSystem Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。

(1)物理层(Physical Layer)

物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。它主要关心的是通过物理链路从一个节点向另一个节点传送比特流,物理链路可能是铜线、卫星、微波或其他的通讯媒介。

(2)数据链路层(Data Link Layer)

数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。

(3)网络层(Network Layer)

网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。

(4)传输层(Transport Layer)

传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。

传输层传送的协议数据单元称为段或报文。

(5)会话层(Session Layer)

会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。

(6)表示层(Presentation Layer)

表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。

(7)应用层(Application Layer)

应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。

TCP/IP协议

译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

OSI模型与TCP/IP协议的对应

 

左边是OSI模型,右边是TCPIP协议栈分层模型,可以看得出,两个模型有很清晰的对应关系。

两个模型的下四层是一一对应的,而OSI模型的上三层对应到TCPIP协议的应用层,所以在谈论“应用层”概念的时候,要注意讨论的是哪个模型。

数据传输的协议单元

 

依据标准的OSI术语,每层间对应的“协议数据单元”(Protocol Data Unit,简称PDU)的名称都是不同的

物理层为“位”(bit),即平常讲的二进制数位流,在物理传输介质上以二进制数字信号传输(简单的如高电平代表“1”,底电平代表“0”)。

物理层的传输介质包括:

同轴电缆(coaxical cable):细缆和粗缆,目前已经不常用;

双绞线(twistedpair):UTP(Unshielded Twisted Paired , 非屏蔽双绞线),这种即平时常用的网线;STP (Shielded Twisted Pair,屏蔽双绞线),这种线适用于电磁干扰恶劣的工业环境;(这两种线使用铜线做介质,到用户家虽然看起来就一两根,但在运营商的管线里是几千条几百条线在一起的大对线缆,经常是偷铜者的目标)

光纤(OpticalFiber):使用光信号来传播数字信号的介质,坐火车到处看到路边写的大标语:“光纤没铜,挖了没用”就是指这个;

无线电波(wirelessradio);

数据链路层PDU名称叫数据帧“Frame”,例如帧中继技术名称叫Frame Relay ,其数据单元名字叫“帧”,对以太网来说是以太帧。

网络层PDU的名称叫数据包Packet, 因为IP协议在这一层,所以互联网上的数据一般被称为IP数据包。

传输层PDU的名称叫数据段Segment ,这个层面最著名的是传输控制协议TCP和用户数据报协议UDP。

会话层Session 的PDU叫SPDU,会晤协议数据单元;

表示层Presentation的PDU叫PPDU,表示协议数据单元;

应用层Application的PDU叫APDU,应用协议数据单元;

数据封包和解包过程

用户数据报文的一个封装过程,应用程序的数据使用TCP协议进行传输,用户数据被切割成合适的数据片段后,被加上网络层协议IP的首部字节,成为IP数据包,然后被加上数据链路层的以太网首部,成为以太网数据帧,再由以太网驱动程序将帧转化为二进制位流,在物理层面传送。

数据包传输过程

上图是两个主机通过一台交换机和一台路由器通信的示意图。二层交换机仅跨越OSI模型的物理层和数据链路层,所以称为二层交换机,仅为所有连接的主机提供数据链路层间的互通功能。

路由器是跨越物理层、数据链路层、网络层的设备。

最简单的路由器的概念是一台装有两块网卡的主机,主机内部安装的路由软件可以根据IP地址在两块网卡间转发IP数据包,两块网卡各有一个IP地址,具有两个物理接口的路由器同这个道理是类似的。

由上图图四可以看到,IP地址的概念是属于IP协议,IP协议是属于OSI模型第三层网络层的,所有跨越网络层的设备都需要有IP地址。最左边的主机同路由器的左侧接口各有一个IP地址,使用IP协议通信;最右边的服务器和路由器右侧接口各有一个IP地址,使用IP协议通信;路由器的不同接口的IP地址是属于不同的IP子网的,路由器就是在不同IP子网间传送IP数据包的设备,路由是根据IP数据包里的地址选择正确传递路径的过程。

TCP/IP 四层模型

ARP协议:

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

原理:

主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。

网络接口层的安全威胁

 

在网络中,flooding是指从任何节点通过一个路由器发送的信息包会被发送给与该路由器相连的所有其他节点(除了发送信息包出来的那个节点)。

在典型的MAC flooding中,攻击者能让目标网络中的交换机不断泛洪大量不同源MAC地址的数据包,导致交换机内存不足以存放正确的MAC地址和物理端口号相对应的关系表。如果攻击成功,交换机会进入failopen模式,所有新进入交换机的数据包会不经过交换机处理直接广播到所有的端口(类似HUB集线器的功能)。攻击者能进一步利用嗅探工具(例如Wireshark)对网络内所有用户的信息进行捕获,从而能得到机密信息或者各种业务敏感信息。

损坏:自然灾害、动物破坏、老化、误操作

干扰:大功率电器/电源线路/电磁辐射

电磁泄漏:传输线路电磁泄漏

搭线窃听:物理搭线

欺骗:ARP欺骗

嗅探:常见二层协议是明文通信的(以太、arp等)

拒绝服务:macflooding,arpflooding等

arp欺骗:

  攻击者在局域网网段发送虚假的IP/MAC对应信息,篡改网关MAC地址,使自己成为假网关

  受害者将数据包发送给假网关(攻击者)

  假网关(攻击者)分析接收到的数据包,把有价值的数据包记录下来(比如QQ以及邮箱登录数据包)

  假网关再把数据包转发给真正的网关

互联网网络层

 

 

译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

IP协议简介:

IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

IP实现两个基本功能:寻址和分段。IP可以根据数据包包头中包括的目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的道路,这种选择道路称为路由功能。如果有些网络内只能传送小数据报,IP可以将数据报重新组装并在报头域内注明。IP模块中包括这些基本功能,这些模块存在于网络中的每台主机和网关上,而且这些模块(特别在网关上)有路由选择和其它服务功能。对IP来说,数据报之间没有什么联系,对IP不好说什么连接或逻辑链路。

互联网层网络安全威胁

传输层

 

IP分片技术

以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。

IP分片攻击

如果有意发送总长度超过65535的IP碎片,一些老的系统内核在处理的时候就会出现问题,导致崩溃或者拒绝服务。另外,如果分片之间偏移量经过精心构造,一些系统就无法处理,导致死机。所以说,漏洞的起因是出在重组算法上。pingo‘ death是利用ICMP协议的一种碎片攻击。攻击者发送一个长度超过65535的EchoRequest数据包,目标主机在重组分片的时候会造成事先分配的65535字节缓冲区溢出,系统通常会崩溃或挂起。ping不就是发送ICMPEcho Request数据包的吗?让我们尝试攻击一下吧!不管IP和ICMP首部长度了,数据长度反正是多多益善,就65535吧

IP数据包

数据包的结构:数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容。正是因为数据包具有这样的结构,安装了TCP/IP协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。理解数据包,对于网络管理的网络安全具有至关重要的意义。

我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。“包”听起来非常抽象,那么是不是不可见的呢?通过一定技术手段,是可以感知到数据包的存在的。 就是用数据包捕获软件Iris捕获到的数据包的界面图,在此,大家可以很清楚地看到捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。通过分析这些数据,网管员就可以知道网络中到底有什么样的数据包在活动了。

TCP/UDP协议

面向连接的TCP协议:

TCP(TransmissionControl Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,也就是所谓的”TCP的三次握手”。

面无连接的UDP协议:

UDP(UserData Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。

TCP的三次握手:

其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机

A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。

TCP:FTPHTTP POP IMAP SMTP TELNET SSH

UDP

Q聊天,在线视频RTSP,网络语音电话VoIP

 

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据。

传输层的安全威胁

 

在网络中,flooding是指从任何节点通过一个路由器发送的信息包会被发送给与该路由器相连的所有其他节点(除了发送信息包出来的那个节点)。

在典型的MAC flooding中,攻击者能让目标网络中的交换机不断泛洪大量不同源MAC地址的数据包,导致交换机内存不足以存放正确的MAC地址和物理端口号相对应的关系表。如果攻击成功,交换机会进入failopen模式,所有新进入交换机的数据包会不经过交换机处理直接广播到所有的端口(类似HUB集线器的功能)。攻击者能进一步利用嗅探工具(例如Wireshark)对网络内所有用户的信息进行捕获,从而能得到机密信息或者各种业务敏感信息。

拒绝服务:syn flood/udp flood/Smurf欺骗:TCP会话劫持窃听:嗅探伪造:数据包伪造

应用层的安全威胁

 

域名解析:DNS电子邮件:SMTP/POP3文件传输:FTP网页浏览:HTTP……

  

拒绝服务:超长URL链接欺骗:跨站脚本、钓鱼式攻击、cookie欺骗窃听:嗅探伪造:应用数据篡改暴力破解:应用认证口令暴力破解等……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1567318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

迅饶科技 X2Modbus 网关 GetUser 信息泄露漏洞复现

0x01 产品简介 X2Modbus是上海迅饶自动化科技有限公司Q开发的一款功能很强大的协议转换网关, 这里的X代表各家不同的通信协议, 2是T0的谐音表示转换, Modbus就是最终支持的标准协议是Modbus协议。用户可以根据现场设备的通信协议进行配置,转成标准的Modbus协议。在PC端仿真…

【考研数学】1800基础做完了,如何无缝衔接660和880❓

基础题做完,不要急着强化 首先做一个复盘,1800基础的正确率如何,如果70%以下的话,从错题入手,把掌握不扎实的地方再进行巩固,否则接下来做题的话效率会很低。 接下来考虑习题衔接的问题。 关于线代复习的…

(免费分享)基于微信小程序自助停取车收费系统

本项目的开发和制作主要采用Java语言编写,SpringBoot作为项目的后端开发框架,vue作为前端的快速开发框架,主要基于ES5的语法,客户端采用微信小程序作为开发。Mysql8.0作为数据库的持久化存储。 获取完整源码: 大家点赞…

mac | Windows 本地部署 Seata2.0.0,Nacos 作为配置中心、注册中心,MySQL 存储信息

1、本人环境介绍 系统 macOS sonama 14.1.1 MySQL 8.2.0 (官方默认是5.7版本) Seata 2.0.0 Nacos 2.2.3 2、下载&数据库初始化 默认你已经有 Nacos、MySQL,如果没有 Nacos 请参考我的文章 : Docker 部署 Nacos(单机…

基于51单片机和MAX1898的智能手机充电器设计

**单片机设计介绍,基于51单片机和MAX1898的智能手机充电器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机和MAX1898的智能手机充电器设计概要 一、引言 随着智能手机的普及,其电池续航…

人工智能会拥有反思能力吗?

一、背景 人工智能是否能拥有真正的反思能力,目前仍在探索和发展之中。虽然现有的AI系统可以在一定程度上进行自我学习、自我调整和优化,但是它们的“反思”还远未达到人类意义上的深度和全面性。 传统的人工智能系统依赖于预设的算法和模型&#xff0c…

如何把png格式的图片转换成ico格式的图标

前言 前段时间有朋友说想要把某个图标做成图标,用来更改某个程序或者软件的图标,以求个性化! 但是下载下来的.png图片直接更改文件扩展名为.ico之后,并不能正常使用。这时候就需要有工具把.png格式转换为.ico格式。 文件更换格式…

Python Django全文搜索库之django-haystack使用详解

概要 Django Haystack库是一个用于在Django项目中实现全文搜索功能的强大工具。它集成了各种搜索引擎,如Elasticsearch、Whoosh等,为开发者提供了灵活且高效的搜索解决方案。在本文中,将深入探讨Django Haystack库的安装、配置和应用,以及如何利用其丰富的功能来实现高级全…

【问题处理】银河麒麟操作系统实例分享,理光打印机lpr协议打印问题处理

1.问题环境 系统版本:Kylin-Desktop-V10-SP1-General-Release-xxx-20221120-x86_64 内核版本:linux 5.4.18-44kt-generic 系统版本:麒麟v10 sp1 处理器:kx6640ma 2.问题描述 问题详细描述:用户通过lpr协议去连接…

《信息技术服务 智能运维 第2部分:数据治理》国家标准2024年第一次线下编写会议成功召开

2024年3月13日~15日,由运维数据治理国标编制组主办的运维数据治理国家标准2024年第一次编写工作会议在上海成功召开。 本次会议由云智慧(北京)科技有限公司承办,来自南网数字集团信通公司、太保科技、平安银行、广发银行、广东农…

Savitzky-Golay 滤波与Kalman滤波对比

分别使用SG滤波和Kalman滤波对比了平滑RTK解算的1s基线变化高斯坐标系XYH如下图: 从红框可以看出,SG滤波一定程度反应了波动情况,kalman滤波没有反映出来(PS:当然也可能和我设置参数有关,大家可以尝试&…

说一说Redis的Bitmaps和HyperLoLog?

本篇内容对应 “Redis高级数据类型”小节 和 “7.5 网站数据统计”小节 对应视频: Redis高级数据结构 网站数据统计 1 什么是UV和DAU? DAUUV英文全称Daily Active UserUnique Visotr中文全称日活跃用户量独立访客如何统计数据通过用户ID排重统计数据通…

uniapp自定义卡片轮播图

效果图 1、封装组件 <template><view><!-- 自定义卡片轮播 --><swiper class"swiperBox" :previous-margin"swiper.margin" :next-marginswiper.margin :circular"true"change"swiperChange"><swiper-ite…

CAD Plant3D 2023 下载地址及安装教程

CAD Plant3D是一款专业的三维工厂设计软件&#xff0c;用于在工业设备和管道设计领域进行建模和绘图。它是Autodesk公司旗下的AutoCAD系列产品之一&#xff0c;专门针对工艺、石油、化工、电力等行业的设计和工程项目。 CAD Plant3D提供了一套丰富的工具和功能&#xff0c;帮助…

极简云验证 download.php 文件读取漏洞复现

0x01 产品简介 极简云验证是一款开源的网络验证系统&#xff0c;支持多应用卡密生成&#xff1a;卡密生成 单码卡密 次数卡密 会员卡密 积分卡密、卡密管理 卡密长度 卡密封禁 批量生成 批量导出 自定义卡密前缀等&#xff1b;支持多应用多用户管理&#xff1a;应用备注 应用版…

找单链表倒数第K个节点

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 但行前路&#xff0c;不负韶华&#…

(学习日记)2024.03.31:UCOSIII第二十八节:消息队列常用函数

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

人工智能大模型+智能算力,企商在线以新质生产力赋能数字化转型

2024 年3月28 日&#xff0c;由中国互联网协会主办、中国信通院泰尔终端实验室特别支持的 2024 高质量数字化转型创新发展大会暨铸基计划年度会议在京召开。作为新质生产力代表性企业、数算融合领导企业&#xff0c;企商在线受邀出席大会主论坛圆桌对话&#xff0c;与行业专家共…

数据结构(二)----线性表(顺序表,链表)

目录 1.线性表的概念 2.线性表的基本操作 3.存储线性表的方式 &#xff08;1&#xff09;顺序表 •顺序表的概念 •顺序表的实现 静态分配&#xff1a; 动态分配&#xff1a; 顺序表的插入&#xff1a; 顺序表的删除&#xff1a; 顺序表的按位查找&#xff1a; 顺序…

配置vite配置文件更改项目端口、使用@别名

一、配置vite配置文件更改项目端口 vite官方文档地址&#xff1a;开发服务器选项 | Vite 官方中文文档 (vitejs.dev) 使用&#xff1a; 二、使用别名 1. 安装 types/node types/node 包允许您在TypeScript项目中使用Node.js的核心模块和API&#xff0c;并提供了对它们的类型…