什么是SPF,SPF技术浅析

Mr.zhuMr.zhu2025-08-15 12:30:11来源:吉林大学 (www.jlu.edu.cn)阅读:72
  1. 1、什么是SPF记录?

  2. 2、SPF有什么用?

  3. 3、如何查询SPF记录?

  4. 4、如何在dns管理中设置SPF记录?

什么是SPF记录?
   这里的SPF是指Sender Policy Framework。翻译过来就是发信者策略架构,比较拗口,通常都直接称为SPF。在域名管理系统中对域名做一条以SPF格式为准的txt记录即为SPF记录。

SPF记录有什么用?
   SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。例如: dig TXT domain.com
   domain.com. 27970 IN TXT "v=spf1 ip4:218.16.118.186 -all"
  按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。
   SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。
  由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。。

如何查询SPF记录?
   当前市场上很多邮件系统和供应商都已经开始支持SPF,比如163.com,那么该如何得到163.com的SPF值呢?在CMD环境中,键入:
   nslookup
   set type=txt
   163.com
  就会得到以下的结果:
   163.com text =
   "v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all"
   163.com nameserver = ns3.nease.net
   163.com nameserver = ns.nease.net
   ns.nease.net internet address = 202.106.185.75
   ns3.nease.net internet address = 220.181.28.3
  其中: "v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all"就是163.com的SPF值。
这个数据中说明了163.com有效合法服务器都有哪些!

如何设置SPF记录?
   进入域名解析创建一条TXT记录填写正确的SPF数据就可以生效了。
  格式如下:
   v=spf1 [[pre] type [ext] ] ... [mod]
  每个参数的含义如下表所示: 参数 描述
   v=spf1 SPF 的版本。如果使用 Sender ID 的话,这个字段就应该是 v=spf2
   pre 定义匹配时的返回值。
  可能的返回值包括: 返回值 描述
   + 缺省值。在测试完成的时候表示通过。
   - 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。
   ~ 表示软失败,通常表示测试没有完成。
   ? 表示不置可否。这个值也通常在测试没有完成的时候使用。

   type 定义使用的确认测试的类型。
  可能的值包括: 候选值 描述
   include 包含一个给定的域名的测试
  以 include:domain 的形式书写。
   all 终止测试序列。
  比如,如果选项是 -all,那么到达这条记录也就意味着测试失败了。但是如果无法确定,可以使用 "?all"来表示,这样,测试将被接受。
   ip4 使用 IPv4 进行验证。
  这个可以以 ip4:ipv4 或 ip4:ipv4/cidr 的形式使用。建议使用这个参数,以减少域名服务器的负荷。
   ip6 使用 IPv6 进行验证。
   a 使用一个域名进行验证。
  这将引起对域名服务器进行一次 A RR 查询。
  可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式来使用。
   mx 使用 DNS MX RR 进行验证。
   MX RR 定义了收信的 MTA,这可能和发信的 MTA 是不同的,这种情况基于 mx 的测试将会失败。
  可以用 mx:domain, mx:domain/cidr 或 mx/cidr 这些形式进行 mx 验证。
   ptr 使用域名服务器的 PTR RR 进行验证。
  这时,SPF 使用 PTR RR 和反向图进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。
  这个参数的写法是 ptr:domain
   exist 验证域名的存在性。
  可以写成 exist:domain 的形式。
   ext 定义对 type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。
   mod 这是最后的类型指示,作为记录的一个修正值。
  修正值 描述
   redirect 重定向查询,使用给出的域名的 SPF 记录。
  以 redirect=domain 的方式使用。
   exp 这条记录必须是最后一条,允许给出一条定制的失败消息。
   IN TXT "v=spf1 mx -all exp=getlost.example.com"
   getlost IN TXT "You are not authorized to send mail for the domain"

猜你想看

奔富号太多?记住这几个绝对够用了
月薪多少才能养得起一辆宝马?听老司机算笔账
机械设备远程实时监控方案
汽车的扭矩到底是什么?
一拉一伸就是瑜伽?其实呼吸才是最重要的
每天认识一个品牌—爱马仕
从跑步到瑜伽 哪种运动消耗的热量最多
原来茉莉这样养,长知识了
盘点国内10大酱香型白酒,除了茅台之外,你还知道有哪些?
量子计算机潜力巨大 被看作未来技术制高点
发动机技术太高深?其实就这3个作用,看完买车不再纠结
拿走!2022年卡塔尔世界杯赛程表
电动车充电为何会引发火灾,铅酸电池充电安全事故原因有哪些?
12道家常素食菜肴,口味清新营养均衡,健康饮食精品
A级车、B级车、C级车、D级车,汽车等级分类标准是什么?
常按5个穴位,预防阿尔茨海默病!
铂金、白金、黄金,它们之间的区别是什么?哪个更贵?
签合同要懂的10个法律常识
心理学家:性格内向的人,根本不需要社交
不当操作或致续航“缩短”?新能源电池该如何养护

推荐站点