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

[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-1

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
网络钓鱼不仅是一种网络攻击技术同时也是一项最常见的社会工程技术,更是红队选手和网络犯罪分子的惯用伎俩。
本文我们探讨有邮件邮件服务器机制。

文章目录

  • 🍬 博主介绍
  • 1.6 邮件服务器机制-1
    • 1.6.1 什么是邮件服务器?
    • 1.6.2 相关协议介绍
      • 1.6.2.1 SMTP
      • 1.6.2.1 POP3
      • 1.6.2.3 IMAP
    • 1.6.3 邮件服务器的工作原理
      • 1.6.3.1 SMTP服务器
      • 1.6.3.2 POP3/IMAP服务器
      • 1.6.3.3 邮件服务器工作流程
    • 1.6.4 邮箱系统的组成部分
      • 1.6.4.1 邮件用户代理(MUA)
      • 1.6.4.2 邮件传输代理(MTA)
      • 1.6.4.3 邮件投递代理(MDA)
      • 1.6.4.4 邮件接收代理(MRA)
      • 1.6.4.5 域名系统(DNS)
      • 1.6.4.6 邮件列表数据库
      • 1.6.4.7 邮件过滤和反垃圾邮件系统
  • 相关资源

1.6 邮件服务器机制-1

1.6.1 什么是邮件服务器?

邮件服务器是一种计算机程序,用于处理和传输电子邮件,它负责接收、存储、发送和路由电子邮件。
邮件服务器也采用的是C/S工作模式,通过SMTP,POP,IMAP协议来是实现邮件的发送和接收的。

1.6.2 相关协议介绍

1.6.2.1 SMTP

SMTP 协议介绍:
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP认证:
为了增强安全性并防止垃圾邮件的传播,许多邮件服务器实施了SMTP认证。这意味着用户必须在提供了账户名和密码之后才可以登录SMTP服务器。这一措施有效地阻止了未经授权的用户使用SMTP服务器发送垃圾邮件,从而保护了用户的收件箱不受侵扰。
使用端口:
SMTP使用的端口是25,而经过加密的SMTP(SMTPS)使用的端口是465。通过这些安全措施,SMTP认证不仅提高了邮件传输的安全性,还有助于减少垃圾邮件的数量,为用户提供了更加清洁和安全的电子邮件体验。

1.6.2.1 POP3

POP3 协议介绍:
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本。它是一种电子协议,用于规定个人计算机如何连接到互联网上的邮件服务器并下载电子邮件。作为因特网电子邮件的第一个离线协议标准,POP3允许电子邮件客户端从服务器上下载邮件。然而,需要注意的是,客户端上的操作(如移动邮件、标记已读等)不会反馈到服务器上。例如,即使您通过客户端收取了邮箱中的3封邮件并将其移动到其他文件夹,这些操作也不会在服务器上同步更新。
使用端口:
POP3使用的端口号是110,而经过加密的POP3(POP3S)则使用端口995。这种加密协议提供了更高的安全性,确保了用户在下载和处理电子邮件时的数据安全。

1.6.2.3 IMAP

IMAP 协议介绍:
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议。它是与POP3类似的一种邮件访问标准协议。然而,IMAP的一个显著特点是,当您在电子邮件客户端收取邮件时,这些邮件仍然保留在服务器上。此外,客户端上的任何操作(如删除邮件、标记已读等)都会实时反馈到服务器上,确保服务器上的邮件状态与客户端保持一致。
IMAP 与 POP3 对比:
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上。
而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
同时,IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。
使用端口:
基于TCP/IP协议,IMAP使用的端口号是143,而经过加密的IMAP(IMAPS)则使用端口993。这种加密协议提供了更高的安全性,确保了用户在访问和管理电子邮件时的数据传输安全。

1.6.3 邮件服务器的工作原理

主要有两种类型的邮件服务器:SMTP服务器(用于发送邮件)和POP3/IMAP服务器(用于接收和管理邮件)。

1.6.3.1 SMTP服务器

1、当用户通过客户端软件发送电子邮件时,客户端软件会将邮件发送到SMTP服务器。
2、SMTP服务器接收到邮件后,会将邮件转发到目标收件人的SMTP服务器。
3、目标收件人的SMTP服务器接收到邮件后,会将邮件存储在收件人的邮箱中。

1.6.3.2 POP3/IMAP服务器

1、当用户通过客户端软件访问自己的邮箱时,客户端软件会与POP3/IMAP服务器建立连接。
2、POP3/IMAP服务器会将用户的邮件下载到客户端软件中,用户可以查看、删除或移动邮件。
3、当用户完成操作后,客户端软件会断开与POP3/IMAP服务器的连接。

1.6.3.3 邮件服务器工作流程

在这里插入图片描述
1.发送邮件:

当用户尝试发送邮件时,他们的邮件客户端会与MTA通信,将邮件内容提交给MTA。

2.路由邮件:

MTA会根据收件人的地址决定如何路由邮件。如果收件人位于同一域内,MTA会直接将邮件投递到目标邮箱。如果收件人位于不同的域,MTA会查询DNS以找到正确的邮件服务器IP地址。

3.SMTP会话:

MTA之间通过SMTP会话进行通信,使用一系列握手和命令来确保邮件的准确传递。

4.接收邮件:

当邮件到达目标邮件服务器时,该服务器的MTA会处理邮件并存储在用户的邮箱中。

5.访问邮件:

用户可以通过MUA连接到他们的邮箱,使用IMAP或POP3协议检索邮件。

1.6.4 邮箱系统的组成部分

在这里插入图片描述

1.6.4.1 邮件用户代理(MUA)

邮件用户代理,即邮件客户端,outlook、foxmail等客户端,在网页端进行访问的网页程序也即可以被称为MUA。

1.6.4.2 邮件传输代理(MTA)

处理邮件传输的软件,如Postfix或Sendmail。它负责接收来自其他服务器的邮件并将其传递给用户的邮箱。

1.6.4.3 邮件投递代理(MDA)

邮件投递代理,当MTA接收到邮件时MDA则负责将邮件保存到邮件服务器的指定位置,同时也进行垃圾邮件处理和防病毒处理等。

1.6.4.4 邮件接收代理(MRA)

邮件接收代理,MRA负责实现IMAP或POP3协议,与MUA进行交互,将邮件通过IMAP或POP3协议传输给客户端

1.6.4.5 域名系统(DNS)

DNS用于将域名解析为IP地址,以便邮件服务器能够找到目标收件人的SMTP服务器。

1.6.4.6 邮件列表数据库

邮件列表数据库用于存储订阅了某个邮件列表的用户信息。

1.6.4.7 邮件过滤和反垃圾邮件系统

邮件过滤和反垃圾邮件系统用于识别和阻止垃圾邮件,保护用户免受垃圾邮件的骚扰。

相关资源

[ 提升篇 ] 钓鱼实战系列
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-1(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-2(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-3(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-5 ] 一篇文章教会你用红队思维设计钓鱼模板(附常见的钓鱼邮件模板)

相关文章:

[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-1

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

wordpress伪静态规则

WordPress 伪静态规则是指将 WordPress 生成的动态 URL 转换为静态 URL 的规则,这样做可以提高网站的搜索引擎优化(SEO)效果,并且使得 URL 更加美观、易于记忆。伪静态规则通常需要在服务器的配置文件中设置,不同的服务器环境配置方法有所不同…...

缓存框架JetCache源码解析-缓存定时刷新

作为一个缓存框架,JetCache支持多级缓存,也就是本地缓存和远程缓存,但是不管是使用着两者中的哪一个或者两者都进行使用,缓存的实时性一直都是我们需要考虑的问题,通常我们为了尽可能地保证缓存的实时性,都…...

docker配置mysql8报错 ERROR 2002 (HY000)

通过docker启动的mysql,发现navicat无法连接,后来进入容器内部也是无法连接,产生以下错误 root9f3b90339a14:/var/run/mysqld# mysql -u root -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket …...

【Linux】为什么环境变量具有全局性?共享?写时拷贝优化?

环境变量表具有全局性的原因: 环境变量表之所以具有全局性的特征,主要是因为它们是在进程上下文中维护的,并且在大多数操作系统中,当一个进程创建另一个进程(即父进程创建子进程)时,子进程会继承…...

如何在Linux中找到MySQL的安装目录

前言 发布时间:2024-10-22 在日常管理和维护数据库的过程中,了解MySQL的确切安装位置对于执行配置更改、更新或者进行故障排查是非常重要的。本文将向您介绍几种在Linux环境下定位MySQL安装路径的方法。 通过命令行工具快速定位 使用 which 命令 首…...

机器人备件用在哪些领域

机器人备件,作为机器人技术的重要组成部分,被广泛应用于多个领域,以提高生产效率、降低成本、增强产品质量,并推动相关行业的智能化发展。以下是一些主要的应用领域: 制造业: 机器人备件在制造业中的应用最…...

基于单片机优先级的信号状态机设计

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、背景知识二、使用步骤1.定义相应状态和信号列表2.获取最高优先级信号3.通用状态机实现4.灯的控制函数 总结 前言 在嵌入式系统中,设备控制的灵…...

数字电路week3

数字电路学习 九.补充 1.Verilog和fpga verilog是一种描述电路的语言,出现于上世纪80年代 非:~与: &,或: |,异或: ^ fpga:一种可编程逻辑器件 FPGA 由大量的逻辑单元、查找表(LUTs)、触发…...

如何在 Linux 中对 USB 驱动器进行分区

如何在 Linux 中对 USB 驱动器进行分区 一、说明 为了在 Linux 上访问 USB 驱动器,它需要有一个或多个分区。由于 USB 驱动器通常相对较小,仅用于临时存储或轻松传输文件,因此绝大多数用户会选择只配置一个跨越整个 USB 磁盘的分区。但是&a…...

【STM32+HAL】STM32CubeMX学习目录

一、基础配置篇 【STM32HAL】微秒级延时函数汇总-CSDN博客 【STM32HAL】CUBEMX初始化配置 【STM32HAL】定时器功能小记-CSDN博客 【STM32HAL】PWM呼吸灯实现 【STM32HAL】DACDMA输出波形实现-CSDN博客 【STM32HAL】ADCDMA采集(单通道多通道)-CSDN博客 【STM32HAL】三重A…...

PPT自动化:Python如何修改PPT文字和样式!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 使用 Python 修改 PPT 文本内容📝 遍历所有幻灯片和文本框📝 设置和修改文本样式📝 复制和保留文本样式⚓️ 相关链接 ⚓️📖 介绍 📖 在日常工作中,PPT 的文字内容和样式修改似乎是一项永无止境的…...

4:Java的介绍与基础4:for语句

4.1for循环 for循环也是一个非常重要的东西,再代码中是一个循环的作用,在python的文章中也介绍过了for循环的使用方法,其实在Java中也是一样的逻辑,但是有着不一样的表达,现在我们来讲一下关于for循环的东西。 因为循…...

R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍LDA的原理LDA的步骤教程下载数据加载R包导入数据数据预处理数据描述数据切割构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve保存模型总结优点:缺…...

[LeetCode] 50. Pow(x, n)

题目描述: 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出…...

Vue学习笔记(七、事件修饰符 .stop .capture .self .once .prevent)

先看一段基本的代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>VueBaseCode</title><script src"./lib/vue.js"></script><style>.inner {width:…...

web网站搭建(静态)

准备工作&#xff1a; 关闭防火墙&#xff1a; [rootlocalhost ~]# systemctl disable --now firewalld 修改enforce为permissive [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# geten getenforce getent [rootlocalhost ~]# getenforce Permissive 重启服务 [rootloca…...

高效特征选择策略:提升Python机器学习模型性能的方法

高效特征选择策略&#xff1a;提升Python机器学习模型性能的方法 目录 &#x1f50d; 特征选择的重要性&#x1f4ca; 相关性分析&#x1f504; 递归特征消除 (RFE)&#x1f333; 基于模型的特征选择 1. &#x1f50d; 特征选择的重要性 特征选择在机器学习中至关重要&#…...

2024年TI杯E题-三子棋游戏装置方案分享-jdk123团队-第四弹 第一题

#1024程序员节&#xff5c;征文# 往期回顾 前期准备 摄像头bug解决 手搓机械臂 视觉模块的封装 第一问&#xff1a; 需要将一颗黑棋&#xff0c;放入棋盘中的五号位置。 理想思路&#xff1a;依据摄像头&#xff0c;依据机械臂及其传感器。建立机械臂的逆运动学方程。然后完…...

优化多表联表查询的常见方法归纳

目录 一、使用mybatis的嵌套查询 二、添加表冗余字段&#xff0c;减少联表查询需求 三、分表预处理&#xff0c;前端再匹配 一、使用mybatis的嵌套查询 【场景说明】 前端需要展示一张列表&#xff0c;其中的字段来源于多张表&#xff0c;如何进行查询优化&#xff1f; 【…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...