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. 设计模式(十五)——命令模式(Spring框架的JdbcTemplate源码分析)

    1 智能生活项目需求 看一个具体的需求 1) 我们买了一套智能家电,有照明灯.风扇.冰箱.洗衣机,我们只要在手机上安装 app 就可以控制对这些家电工作. 2) 这些智能家电来自不同的厂家,我们不想针 ...

  2. c++ stl nth_element 原理解析

    nth_element是stl中的一个库函数,它会使迭代器nth所指的元素与整个[first,last)完整排序后.同一个位置的元素同值.即找到完整排序时第n位的正确值. 但这个函数与完整排序的区别在 ...

  3. 【poj 1961】Period(字符串--KMP 模版题)

    题意:给你一个字符串,求这个字符串到第 i 个字符为止的重复子串的个数. 解法:判断重复子串的语句很重要!!if (p && i%(i-p)==0) printf("%d % ...

  4. Eclipse无法打开提示could not open jvm.cfg错误

    先言:我的问题只是出在之前我的java_jdk原来安装在F:\Temp这里,但是我之后在整理文件的时候把这个文件夹改成了F:\java_jdk.所以导致了错误的出现 解决方法1: 因为我的只是目录名称 ...

  5. JavaScript——二

    样式: 实验二. querySelectorAll()里面如果填id名称就直接写,如果要确定某个属性的值,就要用到[ ]来具体选择,其中写多个以空格隔开就表达第一个声明下的第二个标签内部的某个属性 这 ...

  6. Educational Codeforces Round 95 (Rated for Div. 2) B. Negative Prefixes (贪心,构造)

    题意:给你一串长度为\(n\)的序列,有的位置被锁上了,你可以对没锁的位置上的元素任意排序,使得最后一个\(\le0\)的前缀和的位置最小,求重新排序后的序列. 题解:贪心,将所有能动的位置从大到小排 ...

  7. Python小练习批量爬取下载歌曲

    import requests import os headers={ 'Cookie': '_ga=GA1.2.701818100.1612092981; _gid=GA1.2.748589379. ...

  8. .Net Core 国际化

    创建项目什么的就不说了吧 直接进入正题吧 我这里建的是个webapi 添加资源文件 1.首先我们创建一个Language文件夹,这就是我们在后面Startup类中需要配置的目录名. 2.然后我们在La ...

  9. .NET中使用DebuggerDisplay轻松定制调试

    前言 对于调试的方式有多种,不过在今天我们将看到的监视窗口对变量的监视,当然在这里我们是定制内部的变量值,或者说变量的显示与计算的内容. 注:监视窗口在调试时可以一次显示多个变量."快速监视 ...

  10. leetcode31 下一个排列 字典序

    数字的字典序就是比大小 先想几个例子  123_>132  1243-> 1324 ,12453-> 12534 1.不可排的序列就是降序序列 2.两个相同长度的串比大小,前面相同, ...