logo

加密流量中邮件协议的识别

Published on

在现代网络通信中,邮件协议通常采用加密传输以保护用户隐私和数据安全。本指南将介绍如何在加密流量中识别常见的邮件协议,包括 SMTP、POP3 和 IMAP。

1. SMTP (Simple Mail Transfer Protocol)

SMTP 是用于发送电子邮件的协议。以下是如何识别加密的 SMTP 流量:

1.1 Python 代码示例 (使用163邮箱服务器)

import smtplib

server_addr = 'smtp.163.com'
from_addr = 'youremail@163.com'
password = 'yourpassword'

server = smtplib.SMTP_SSL(server_addr, 994)
server.set_debuglevel(1)  # 查看实时登录日志信息
server.login(from_addr, password)
server.quit()

1.2 流量特征分析

1.2.1 通过端口和 SNI 识别

  • 端口: 通常使用 465 (SMTPS) 或 587 (STARTTLS)
  • SNI: 例如 "smtp.163.com" 请添加图片描述

1.2.2 TLS 握手特征

在 TLS 握手过程中,可以观察到一些特征:

  • 客户端发送 "Client Hello" 消息
  • 服务器回应 "Server Hello"、证书等信息

在这里插入图片描述

1.2.3 指纹

TLSv1.3还自动会把 JA3和 JA4 的指纹传给邮件服务器 请添加图片描述

2. POP3 (Post Office Protocol version 3)

POP3 是用于接收电子邮件的协议。

2.1 Python 代码示例

import poplib

server_addr = 'pop.163.com'
from_addr = 'youremail@163.com'
password = 'yourpassword'

server = poplib.POP3_SSL(server_addr, port=995)
server.set_debuglevel(1)  # 查看实时登录日志信息
server.user(from_addr)
server.pass_(password)
server.quit()

2.2 流量特征分析

2.2.1 通过端口和 SNI 识别

  • 端口: 通常使用 995 (POP3S)
  • SNI: 例如 "pop.163.com"

请添加图片描述

2.2.2 证书信息

可以通过查看服务器证书的 Subject 字段来获取更多信息:

  • Common Name (CN): 通常是服务器域名
  • Organization (O): 可能显示服务提供商名称

请添加图片描述

2.2.3 流量模式

POP3 通常有特定的命令序列,如 USER, PASS, LIST, RETR 等。

请添加图片描述

3. IMAP (Internet Message Access Protocol)

IMAP 是另一种用于接收电子邮件的协议,相比 POP3 提供了更多功能。

3.1 Python 代码示例

import imaplib

server_addr = 'imap.163.com'
from_addr = 'youremail@163.com'
password = 'yourpassword'

server = imaplib.IMAP4_SSL(server_addr, 993)
server.login(from_addr, password)
server.logout()

3.2 流量特征分析

3.2.1 通过端口和 SNI 识别

  • 端口: 通常使用 993 (IMAPS)
  • SNI: 例如 "imap.163.com"

请添加图片描述

3.2.2 证书信息

与 POP3 类似,可以查看服务器证书的 Subject 字段: 请添加图片描述

3.2.3 流量模式

IMAP 有其特定的命令序列,如 LOGIN, SELECT, FETCH 等。

请添加图片描述

总结

在加密流量中识别邮件协议主要依靠以下几个方面:

  1. 端口号:

    • IMAPS: 993
    • POP3S: 995
    • SMTPS: 465 (或 STARTTLS 在 587 端口)
  2. SNI (Server Name Indication): 通常包含邮件服务器的域名,如 smtp.example.com, pop.example.com, imap.example.com

  3. 证书信息: 查看服务器证书的 Common Name (CN) 和 Organization (O) 字段

  4. 流量模式: 每种协议都有其特定的命令序列和数据交换模式

  5. TLS 握手特征: 包括支持的密码套件、扩展等信息

通过综合分析这些特征,我们可以在加密流量中准确识别不同的邮件协议。这对于网络管理、安全分析和性能优化等方面都有重要意义。