kali 下的邮件发送工具 swaks

Swaks 是一个功能强大,灵活,可编写脚本,面向事务的 SMTP 测试工具,目前 Swaks 托管在私有 svn 存储库中。
官方项目 http://jetmore.org/john/code/swaks/

1.测试邮箱的连通性

kali 自带 swaks 工具,无需安装

swaks --to xxx@qq.com

拿我的 QQ 举例

root@kali:~
➤ swaks --to 1871973389@qq.com 01:59:06
=== Trying mx3.qq.com:25...
=== Connected to mx3.qq.com.
<- 220 newxmmxsza22.qq.com MX QQ Mail Server.
-> EHLO kali.lan
<- 250-newxmmxsza22.qq.com
<- 250-STARTTLS
<- 250-SIZE 73400320
<- 250 OK
-> MAIL FROM:<root@kali.lan>
<- 250 OK.
-> RCPT TO:<1871973389@qq.com>
<- 250 OK 1
-> DATA
<- 354 End data with <CR><LF>.<CR><LF>.
-> Date: Sat, 07 Dec 2019 01:59:07 -0500
-> To: 1871973389@qq.com
-> From: root@kali.lan
-> Subject: test Sat, 07 Dec 2019 01:59:07 -0500
-> Message-Id: <20191207015907.007285@kali.lan>
-> X-Mailer: swaks v20190914.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
->
-> .
<- 250 Ok: queued as
-> QUIT
<- 221 Bye.
=== Connection closed with remote host.

返回 250 Ok,说明该邮箱可以正常通信。


2.开启 SMTP 服务

QQ 的 或 163 官网的都可以,个人感觉 163 的还方便些

记住 smtp 的密码

3.利用 SMTP 发送邮件

swaks --to 收件箱 --from 发件箱 --body 邮件内容 --header "Subject:hello" --server smtp.qq.com -p 25 -au 发件箱 -ap SMTP的密码

参数说明:

    --to //收件人邮箱;
--from //发件人邮箱;
--ehlo qq.com //伪造邮件的ehlo头,即发件人邮箱的域名,身法认证;
--body "https://goobe.io" //引号内为邮件正文;
--header "Subject:hello" //邮件头信息,Subject为邮件标题;
--data email.txt //将正常邮件内容保存成TXT文件,再作为正常邮件发出;
--help 显示命令帮助
--verison 显示版本信息 输出内容的含义:
“===”:swaks输出的信息行
“*“:swaks中产生的错误
” ->”:发送到目标的预期行(无错误)
“<- “:服务器的预期回复(无错误)
“<**”:服务器返回的错误信息

4.发送附件

swaks --to 收件箱 --from 发件箱  --body 邮件内容  --header "Subject:hello" --attach example.doc --server smtp.qq.com -p 25 -au 发件箱 -ap SMTP密码

5.伪造邮件

--data email.txt //将正常邮件内容保存成TXT文件,再作为正常邮件发出

发送内容为 email.txt (记得添加文件路经) 里的全部内容

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

先找一分邮件,查看邮件原文,复制里面的内容,存为 .txt

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

去掉 Received 和 To 两行 (发送时用 --from 和 --to 代替)

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

swaks --data ./email.txt --to 收件箱 --from 发件箱 --server smtp.qq.com -p 25 -au 发件箱 -ap SMTP密码

收件箱收到的是 email.txt 里的内容

好了,到这就结束了,其实理论上 swaks 可以伪造邮件里的任何一个参数

The_End

kali 下的邮件发送工具 swaks的更多相关文章

  1. QT开发之旅四邮件发送工具

    终于有了一个晚上安静的写写程序,最近一直忙着公司商务上的事情,一直想用QT实现一个调用最底层socket通信来实现的邮件发送程序,以前用C#写过,微软都封装好的,不知道底层是如何实现的,只知道调用方法 ...

  2. 邮件发送工具类 SendMail.java

    package com.util; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.Simp ...

  3. java 邮件发送工具类

    首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...

  4. java 邮件发送工具类【来源网络自己已经实际应用】

    最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...

  5. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...

  6. Linux下的邮件发送

    centos 7的邮件发送 1配置文件vim /etc/mail.rc vim /etc/mail.rc 翻到文件尾部添加 set from=xxxxxxxx@163.com smtp=smtp.16 ...

  7. Python编写的Linux邮件发送工具

    之前有用过Linux自带的mail工具来定时发送邮件,但是要装mailx还有配mail.rc,这还比较正常,关键是到了ubantu下这工具用起来真是操蛋,如果哪天其他的unix like操作系统也有需 ...

  8. springboot下实现邮件发送功能

    springboot给我们封装好了邮件功能,非常简单,只需要稍微配置下就ok. 引入jar <dependency> <groupId>org.springframework. ...

  9. java邮件发送工具

    最近在web项目中,客户端注册时需要通过邮箱验证,服务器就需要向客户端发送邮件,我把发送邮件的细节进行了简易的封装: 在maven中需要导入: <!--Email--> <depen ...

随机推荐

  1. CF 1326 D. Prefix-Suffix Palindrome

    D. Prefix-Suffix Palindrome 题意 给一个字符串 s,求一个字符串 t,t 由 s 的某个前缀以及某个后缀拼接而成,且 t 是回文串,长度不能超过 s.输出最长的 t 分析 ...

  2. Codeforces Round #604 (Div. 2) B. Beautiful Numbers(双指针)

    题目链接:https://codeforces.com/contest/1265/problem/B 题意 给出大小为 $n$ 的一个排列,问对于每个 $i(1 \le i \le n)$,原排列中是 ...

  3. Codeforces Global Round 8 B. Codeforces Subsequences(构造)

    题目链接:https://codeforces.com/contest/1368/problem/B 题意 构造最短的至少含有 $k$ 个 $codeforces$ 子序列的字符串. 题解 如下表: ...

  4. Codeforces Round #650 (Div. 3) A. Short Substrings

    题目链接:https://codeforces.com/contest/1367/problem/A 题意 给出一个字符串 $t$,找出原字符串 $s$,$t$ 由 $s$ 从左至右的所有长为 $2$ ...

  5. 【noi 2.6_6046】数据包的调度机制(区间DP)

    题意:给定一个队列延迟值为Di的任务,以任意顺序入栈和出栈,第K个出栈的延迟值为(K-1)*Di.问最小的延迟值. 解法:f[i][l]表示完成以第i个任务开始,长度为l,到第i+l-1个任务的最小延 ...

  6. hdu2157 How many ways??

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  7. 递归实现jsonTree

    using System;using System.Collections.Generic;using System.Text;using WeChatApi.Model;using System.L ...

  8. jackson学习之十(终篇):springboot整合(配置类)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. console.dir()可以显示一个对象所有的属性和方法

    console.dir()可以显示一个对象所有的属性和方法 具体方法如下:

  10. Dart SDK All In One

    Dart SDK All In One Dart SDK archive https://dart.dev/tools/sdk/archive https://dart.dev/get-dart Th ...