当前位置: 首页 > news >正文

【网络安全】常见网络协议

1. 网络协议概述

网络协议是网络上两个或多个设备使用的一组规则,用于描述传输顺序和数据结构。网络协议充当数据包中信息附带的指令。这些指令告诉接收设备如何处理数据。协议就像一种通用语言,让世界各地的设备能够相互通信和理解。

尽管网络协议在网络通信中发挥着重要作用,但安全分析师仍应了解其相关的安全隐患。某些协议存在可被恶意攻击者利用的漏洞。例如,恶意攻击者可以使用将网址解析为 IP 地址的域名系统 (DNS) 协议将流量从合法网站转移到包含恶意软件的恶意网站。

2. 网络协议分为三类

网络协议可分为三大类:通信协议、管理协议和安全协议。有几十种不同的网络协议,但对于入门级安全分析师来说,您不需要记住所有协议。然而,了解本文列出的协议对您来说很重要。

2.1 通信协议

通信协议控制着网络传输中的信息交换。它们规定了数据在设备之间的传输方式以及通信时间。它们还包括恢复传输中丢失的数据的方法。以下是其中几种。

  1. 传输控制协议 (TCP)是一种互联网通信协议,允许两个设备建立连接并传输数据。TCP 使用三次握手过程。首先,设备向服务器发送同步 (SYN) 请求。然后,服务器以 SYN/ACK 数据包响应以确认收到设备的请求。一旦服务器收到来自设备的最终 ACK 数据包,就会建立TCP 连接。在 TCP/IP 模型中,TCP 发生在传输层。

  2. 用户数据报协议 (UDP)是一种无连接协议,在传输之前不会在设备之间建立连接。这使得它不如 TCP 可靠。但这也意味着它非常适合需要快速到达目的地的传输。例如,UDP 的一个用途是向本地 DNS 服务器发送 DNS 请求。在 TCP/IP 模型中,UDP 出现在传输层。

  3. 超文本传输​​协议 (HTTP)是一种应用层协议,它提供了一种客户端和网站服务器之间的通信方法。HTTP 使用端口 80。HTTP 被认为是不安全的,因此大多数网站正在用一种称为 HTTPS 的安全版本取代它,该版本使用 SSL/TLS 加密进行通信。但是,仍有许多网站使用不安全的 HTTP 协议。在 TCP/IP 模型中,HTTP 发生在应用层。

  4. 域名系统 (DNS)是一种将互联网域名转换为 IP 地址的协议。当客户端计算机希望使用其互联网浏览器访问网站域时,查询将发送到专用 DNS 服务器。然后,DNS 服务器查找与网站域对应的 IP 地址。DNS 通常在端口 53 上使用 UDP。但是,如果 DNS 对请求的回复很大,它将切换到使用 TCP 协议。在 TCP/IP 模型中,DNS 发生在应用程序层。

2.2 管理协议

下一类网络协议是管理协议。管理协议用于监控和管理网络上的活动。它们包括错误报告和优化网络性能的协议。

  1. 简单网络管理协议 (SNMP)是一种用于监控和管理网络上设备的网络协议。SNMP 可以重置网络设备上的密码或更改其基本配置。它还可以向网络设备发送请求,以报告网络带宽的使用情况。在 TCP/IP 模型中,SNMP 发生在应用层。

  2. 互联网控制消息协议 (ICMP)是设备用来相互通报网络上数据传输错误的互联网协议。接收设备使用 ICMP 向发送设备发送有关数据传输的报告。ICMP 通常用作快速排除网络连接和延迟故障的方法,方法是在 Linux 操作系统上发出“ping”命令。在 TCP/IP 模型中,ICMP 发生在互联网层。

2.3 安全协议

安全协议是确保数据在网络上安全发送和接收的网络协议。安全协议使用加密算法来保护传输中的数据。以下是一些常见的安全协议。

  1. 超文本传输​​协议安全 (HTTPS)是一种网络协议,它为客户端和网站服务器之间的通信提供了一种安全的方法。HTTPS 是 HTTP 的安全版本,它对所有传输使用安全套接字层/传输层安全性 (SSL/TLS) 加密,以便恶意行为者无法读取所包含的信息。HTTPS 使用端口 443。在 TCP/IP 模型中,HTTPS 发生在应用程序层。

  2. 安全文件传输协议 (SFTP)是一种安全协议,用于通过网络将文件从一台设备传输到另一台设备。SFTP 使用安全外壳 (SSH),通常通过 TCP 端口 22。SSH 使用高级加密标准 (AES) 和其他类型的加密来确保非预期收件人无法拦截传输。在 TCP/IP 模型中,SFTP 发生在应用程序层。SFTP 经常与云存储一起使用。每次用户从云存储上传或下载文件时,都会使用 SFTP 协议传输文件。

注意:上述加密协议不会隐藏网络流量的源或目标 IP 地址。这意味着恶意行为者如果拦截网络流量,仍然可以了解有关网络流量的一些基本信息。

3. 其他网络协议

  1. 动态主机配置协议
    动态主机配置协议 (DHCP) 属于管理网络协议系列。DHCP 是网络上用于配置设备的应用层协议。它与路由器配合使用,为每个设备分配唯一的 IP 地址,并为每个设备提供适当的 DNS 服务器和默认网关的地址。DHCP 服务器在 UDP 端口 67 上运行,而 DHCP 客户端在 UDP 端口 68 上运行。

  2. 地址解析协议
    到目前为止,您已经熟悉了 IP 和 MAC 地址。您已经了解到网络上的每个设备都有一个公共 IP 地址、一个私有 IP 地址和一个 MAC 地址,用于在网络上标识它。设备的 IP 地址可能会随时间而变化,但其 MAC 地址是永久的,因为它对于设备的网络接口卡是唯一的。MAC 地址用于与同一网络内的设备进行通信,但有时 MAC 地址是未知的。这就是为什么需要地址解析协议 (ARP)。ARP 主要是 TCP/IP 模型中的网络访问层协议,用于将数据包中找到的 IP 地址转换为硬件设备的 MAC 地址。
    网络上的每个设备都执行 ARP 并在 ARP 缓存中跟踪匹配的 IP 和 MAC 地址。ARP 没有特定的端口号,因为它是第 2 层协议,端口号与第 7 层应用层相关联。

  3. 远程登录
    Telnet 是一种应用层协议,用于连接远程系统。Telnet 以明文形式发送所有信息。它使用命令行提示符来控制另一个设备,类似于安全外壳 (SSH),但 Telnet 不如 SSH 安全。Telnet 可用于连接本地或远程设备,并使用 TCP 端口 23。

  4. 安全外壳
    安全外壳协议 (SSH) 用于与远程系统建立安全连接。此应用层协议为安全身份验证和加密通信提供了替代方案。SSH 通过 TCP 端口 22 运行,可替代安全性较低的协议(例如 Telnet)。

  5. 邮局协议
    邮局协议 (POP) 是一种应用层(TCP/IP 模型的第 4 层)协议,用于管理和检索来自邮件服务器的电子邮件。POP3 是最常用的 POP 版本。许多组织在网络上都有专用的邮件服务器,用于处理网络上用户的收发邮件。用户设备将向远程邮件服务器发送请求并在本地下载电子邮件。如果您曾经刷新过电子邮件应用程序,并且收件箱中出现了新邮件,那么您就体验到了 POP 和互联网消息访问协议 (IMAP) 的作用。未加密的纯文本身份验证使用 TCP/UDP 端口 110,加密电子邮件使用 TCP/UDP 端口 995 上的安全套接字层/传输层安全性 (SSL/TLS)。使用 POP 时,邮件必须在本地设备上完成下载后才能阅读。下载后,邮件可能会或可能不会从邮件服务器中删除,因此它不能保证用户可以在多个设备上同步同一封电子邮件。

  6. 互联网消息访问协议 (IMAP)
    IMAP 用于接收电子邮件。它会下载电子邮件标题和邮件内容。内容也会保留在电子邮件服务器上,这样用户便可以从多个设备访问电子邮件。IMAP 使用 TCP 端口 143 来接收未加密的电子邮件,并使用 TLS 协议上的 TCP 端口 993。使用 IMAP 可以让用户在电子邮件下载完成之前阅读部分内容。由于邮件保存在邮件服务器上,因此用户可以在多个设备之间同步电子邮件。

  7. 简单邮件传输协议
    简单邮件传输协议 (SMTP) 用于将电子邮件从发件人传输和路由到收件人的地址。SMTP 与消息传输代理 (MTA) 软件配合使用,后者搜索 DNS 服务器以将电子邮件地址解析为 IP 地址,以确保电子邮件到达其预定目的地。SMTP 使用 TCP/UDP 端口 25 来发送未加密的电子邮件,使用 TLS 来发送加密的电子邮件。大量垃圾邮件通常会使用 TCP 端口 25。SMTP 通过调节源一次可以发送的电子邮件数量来帮助过滤垃圾邮件。

相关文章:

【网络安全】常见网络协议

1. 网络协议概述 网络协议是网络上两个或多个设备使用的一组规则,用于描述传输顺序和数据结构。网络协议充当数据包中信息附带的指令。这些指令告诉接收设备如何处理数据。协议就像一种通用语言,让世界各地的设备能够相互通信和理解。 尽管网络协议在网…...

电路笔记(元器件):AD 5263数字电位计(暂记)

AD5263 是四通道、15 V、256位数字电位计,可通过SPI/I2C配置具体电平值。 配置模式: W引脚作为电位器的抽头,可在A-B之间调整任意位置的电阻值。也可将W与A(或B)引脚短接,A-W间的电阻总是0欧姆,通过数字接口调整电位器…...

MongoDB 的使用场景

一、内容管理系统 1. 博客平台 文章内容、作者信息、标签、评论等数据结构多样,MongoDB 的无模式特性可轻松应对。比如 WordPress 等博客系统,使用 MongoDB 能灵活存储不同格式和长度的文章内容,以及与文章相关的各种元数据。 2. 新闻网站…...

MongoDB 是什么

MongoDB 是一款文档型数据库,属于 NoSQL 数据库范畴。 一、基本概念 MongoDB 以文档的形式存储数据,文档类似于 JSON 对象,由键值对组成,它以 BSON(Binary JSON)格式存储在磁盘上,这种格式支持…...

Python3操作MongoDB批量upsert

个人博客地址:Python3操作MongoDB批量upsert | 一张假钞的真实世界 代码如下: mongoClient MongoClient(mongodb://172.16.72.213:27017/) opsDb mongoClient.ops azScheduled opsDb.azScheduledFlowbulkOpers [] for flow in scheduledFlows.valu…...

相机模数转换

模拟图像是什么? 模拟图像是指连续变化的图像,它通常来源于现实世界的物理场景,并通过光学系统(如相机镜头)投射到感光介质上。模拟图像是连续的,这意味着它在空间和颜色值上都有无穷的细节。例如&#xf…...

C++20 新特性解析

1. 概念(Concepts) 概念是 C++20 引入的一项重要特性,它允许程序员定义类型约束,从而在编译时检查模板参数是否符合某些要求。概念提供了模板参数的限制,使得模板代码更加可读和易于维护。 示例代码: #include <iostream> #include <concepts>// 定义一个…...

C# ManualResetEvent 类 使用详解

总目录 前言 ManualResetEvent 是 C# 中用于线程同步的核心类之一&#xff0c;位于 System.Threading 命名空间下。它的核心功能是通过信号机制控制线程的执行顺序&#xff0c;允许一个或多个线程等待某个信号后再继续运行。与 AutoResetEvent 不同&#xff0c;ManualResetEve…...

动态规划——路径问题②

文章目录 931. 下降路径最小和算法原理代码实现 64. 最小路径和算法原理代码实现 174. 地下城游戏算法原理代码实现 931. 下降路径最小和 题目链接&#xff1a;931. 下降路径最小和 算法原理 状态表示&#xff1a; 经验题目要求&#xff1a;dp[i][j]表示到达[i,j]位置时&…...

ChatGPT macOS 桌面应用让你的编程体验更上一层楼

高效开发必备&#xff1a;ChatGPT macOS 桌面应用亮点盘点 ©作者|Ninja Geek 来源|神州问学 通过 macOS 版 ChatGPT 应用&#xff0c;已经能够更好的和你的生产力工具无缝配合工作。 大概在三四周之前&#xff0c;Anthropic 在 Claude 上推出了一项名为 Computer Use 的功…...

Java持久化之--Spring Data JPA

1、简介 Java持久化技术是Java开发中比较重要的部分&#xff0c;主要用于将对象数据持久化到数据库&#xff0c;或者从数据库中查询数据&#xff0c;简化数据库的CRUD操作。 2、JPA简介 JPA&#xff08;Java Persistence API&#xff09;是Java实现ORM&#xff08;Object Re…...

excel里的函数技巧(持续更新中)

行转列 在 Excel 中&#xff0c;行转列&#xff08;将一行数据转换为一列&#xff0c;或者将一列数据转换为一行&#xff09;是一项常见的操作。你可以使用 转置 功能轻松实现这一操作。 TRANSPOSE(数组)...

基于python sanic框架,使用Nacos进行微服务管理

微服务软件系统构建方式,已经很普及了,通过开源的sanic进行微服务管理,便捷,技术也比较成熟,而在项目实际应用过程中,微服务类型不仅有java的,还有nodejs、python等,尤其是结合算法模型构建的python接口,需要在Nacos进行注册管理。本文内容耗时2天踏坑,亲测一切ok。 …...

Day84:数据可视化

数据可视化是数据分析的重要组成部分,它能直观地展现数据规律,使复杂数据变得易懂。Python 提供了多个数据可视化库,其中最常用的是 Matplotlib 和 Seaborn。今天,我们将学习如何使用这些工具绘制折线图、柱状图、散点图等。 1. 安装和导入库 如果你的 Python 没有安装 Ma…...

fetch() 与 XMLHttpRequest 的差异

fetch() 与 XMLHttpRequest 的差异 fetch() 的功能与 XMLHttpRequest 基本相同&#xff0c;都是向服务器发出 HTTP 请求&#xff0c;但有三个主要的差异。 &#xff08;1&#xff09;fetch()使用 Promise&#xff0c;不使用回调函数&#xff0c;因此大大简化了写法&#xff0…...

TDengine 产品由哪些组件构成

目 录 背景产品生态taosdtaosctaosAdaptertaosKeepertaosExplorertaosXtaosX Agent应用程序或第三方工具 背景 了解一个产品&#xff0c;最好从了解产品包括哪些内容开始&#xff0c;我这里整理了一份儿 TDegnine 产品包括有哪些组件&#xff0c;每个组件作用是什么的说明&a…...

.NET Web-静态文件访问目录浏览

一、Web根目录访问 创建wwwroot文件夹app.UseStaticFiles(); // 启⽤静态⽂件中间件url/路径 进行访问 二、Web根目录之外的文件 app.UseStaticFiles(new StaticFileOptions {FileProvider new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath,&qu…...

SQL数据清理:去除字段值中的多余符号(Demo例子)

目录 前言1. 基础2. 进阶 前言 Excel中有大量不合法的符号&#xff0c;导入到系统之后&#xff0c;数据库有很多脏数据&#xff0c;对此下述展开sql的清洗教程 在数据库的文本字段中&#xff0c;可能会存在多余的逗号或符号&#xff0c;如,销售,, 或 二手车,销售,,这种情况 希…...

.NET版Word处理控件Aspose.Words教程:使用 C# 删除 Word 中的空白页

Word 文档中的空白页会使其看起来不专业并扰乱流程。用户会遇到需要删除 Word 中的空白页的情况&#xff0c;但手动删除它们需要时间和精力。在这篇博文中&#xff0c;我们将探讨如何使用 C# 删除 Word 中的空白页。 本文涵盖以下主题&#xff1a; C# 库用于删除 Word 中的空…...

【工业场景】用YOLOv8实现火灾识别

火灾识别任务是工业领域急需关注的重点安全事项,其应用场景和背景意义主要体现在以下几个方面: 应用场景:工业场所:在工厂、仓库等工业场所中,火灾是造成重大财产损失和人员伤亡的主要原因之一。利用火灾识别技术可以及时发现火灾迹象,采取相应的应急措施,保障人员安全和…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...