Workshop
本页目录· 6 条
Activity A: Application Layer Protocols: HTTP(web service)
GET /index.html
这说明你的 请求格式有问题,服务器看不懂你发的内容。
GET /index.html HTTP/1.1
Host: www.argos.edu
请求成功,上方为HTTP响应头
下方是网页内容源代码
模拟点击链接
GET /alink.html HTTP/1.1
Host: www.argos.edu
请求成功,访问了 /alink.html
Activity B: Application Layer Protocols - SMTP
telnet mail.argos.edu 25
可以开始键入邮件内容了
邮件发送流程
| 步骤 | 状态 | 说明 |
helo selene | 250 mail | 成功握手 |
mail from: | 250 2.1.0 Ok | 发件人地址接受 |
rcpt to: | 250 2.1.5 Ok | 收件人地址接受 |
data | 354 End data with... | 开始写正文 |
| 邮件内容 | 成功输入 | 包含 From、To、Subject、正文 |
. | 250 2.0.0 Ok | 邮件被服务器接受并排队发送 |
quit | 221 2.0.0 Bye | 正常断开连接 |
检查邮件是否送达
伪造发件人
| 指令 | 响应 | 说明 |
mail from: [email protected] | 250 2.1.0 Ok | 邮件地址被接受 |
rcpt to:<[email protected]> | 250 2.1.5 Ok | 收件人地址有效 |
data ... . | 250 2.0.0 Ok: queued as ... | 邮件内容已加入队列,准备发送 |
SMTP 协议 默认不验证发件人身份,只要格式对,任何人都可以伪造发件人!
这就是为什么我们日常需要:
- ✅ SPF、DKIM、DMARC 等机制做身份验证
- ✅ 客户端启用 PGP/GPG、SMIME 加密签名
- ✅ 邮箱系统配合垃圾邮件过滤器识别伪造发件人
利用Wireshark抓包,查看明文邮件内容
右键 phoenix 打开wireshark的 eth1 接口
在 selene 节点重新发一封邮件
Wireshark 过滤器输入 tcp.port == 25
🔓 这就说明:
- 你发的邮件通过 TCP 25 端口传输时,内容是完全明文;
- 网络中任何可以监听端口的人(比如 Wi-Fi 公共网络的攻击者)都能轻松看到邮件正文内容,包括:
- 你的发件人
- 收件人
- 标题
- 密码与内容信息