smtp 抓包

1、安装tcpdump

yum install -y tcpdump

2、安装wireshark,直接到官网下载即可,开源免费 Wireshark · Go Deep

 

3、获取 qq 邮箱的证书,先保存到本地

4、使用openssl转换为pem格式(因为curl仅支持pem格式)

openssl x509 -in GlobalSign\ Root\ CA.crt -out qqmail.pem -outform PEM

5、使用curl触发smtp邮件请求(注意证书路径、发送端、接收端、用户名和口令等参数)

curl --verbose -s --url 'smtps://smtp.qq.com:465' --ssl-reqd --cacert /root/qqmail.pem --mail-from 'xxxxxx@qq.com' --mail-rcpt 'xxxxxx@163.com' --upload-file /root/email.txt --user 'xxxxxx@qq.com:xxxpasswordxxxx'

6、指定网卡和地址抓包(此处以qq邮箱为例)

tcpdump host 120.241.186.196 -i ens33 -w qqmail01.cap

7、将生成的文件qqmail01.cap用wireshark打开,使用wireshark进行报文分析

 

### 使用Wireshark抓取和分析SMTP协议的数据包 #### 准备工作 为了确保能够顺利捕获到SMTP协议的数据包,在启动Wireshark之前,需确认Foxmail已经配置好QQ邮箱账户并能正常收发邮件。此外,还需保证计算机上的防火墙设置不会阻止Wireshark的工作。 #### 启动Wireshark并开始捕捉 打开Wireshark软件后,选择要监控的网络接口来开始数据包捕获过程。对于大多数情况,默认的选择即可满足需求。点击“开始”按钮之后,Wireshark会实时显示通过所选网卡传输的所有TCP/IP通信流中的数据帧[^1]。 #### 设置过滤条件 由于网络环境中可能存在大量无关紧要的信息流动,因此建议立即应用显示过滤器以专注于SMTP流量。输入`tcp.port == 25 or tcp.port == 587`作为初始筛选条件,这可以有效减少干扰项的数量,因为这两个端口号分别是标准简单邮件传送(SMTP)服务使用的默认端口以及提交新消息时常用的备用端口[^2]。 #### 发送测试电子邮件 此时可以在Foxmail中尝试向其他支持SMTP的服务提供商(如网易163)发送一封简单的测试信件。当此操作被执行时,相应的请求将会被Wireshark截获并记录下来。 #### 查看与解析SMTP交互流程 一旦完成上述步骤,就可以停止数据采集,并仔细审查已获取的结果集。典型的SMTP对话序列可能包括以下几个阶段: - **建立连接**:服务器响应状态码 `220` 表示准备就绪; - **EHLO/HELO 握手** :客户端发出问候语句,等待来自对方的认可信号——即收到 `250 OK` 的回复; - **身份验证 (可选)** : 如果启用了认证机制,则会出现类似 `AUTH LOGIN` 或者 `LOGIN` 的指令交换环节;接着是编码后的用户名 (`334 VXNlcm5hbWU6`) 和密码 (`334 UGFzc3dvcmQ6`); - **MAIL FROM:** 定义寄件人的地址; - **RCPT TO:** 列举预期接收者的列表; - **DATA**: 开始传递实际的内容部分直至遇到单独的一行仅含单个小数点为止(`.`); - **QUIT**: 断开当前会话链接前最后一步动作; 以上每个步骤都应当能在Wireshark界面内找到对应的TCP段落,并且可以通过展开这些条目查看更详细的属性描述及其负载载荷内容。 ```python # Python代码片段展示如何利用Scapy库模拟基本的SMTP命令(仅供学习目的) from scapy.all import * def smtp_hello(target_ip="smtp.example.com"): ip = IP(dst=target_ip) syn = TCP(sport=RandShort(), dport=25, flags='S') send(ip/syn) if __name__ == "__main__": smtp_hello() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值