我每周都会收到几封电子邮件,详细说明源自我参与的网络的滥用活动。这些通常包含:
a) 被视为已泄露的 URL。
或者
b) 被视为垃圾邮件的电子邮件副本。
其中大部分是自动化的,通常不会很好地遵循 ARF。
我需要的是自动数据提取,但我正在绞尽脑汁,因为当电子邮件的结构发生变化且不可预测时,我不太确定该怎么做。
我现在要提取的是:
a) 垃圾邮件的原始邮件服务器(以及 UID/用户名,显示在大多数 Exim/Qmail 接收的标头中)
b) 域名
c) 受感染网站的 URL
d) 电子邮件地址
我可以使用一些正则表达式和一些其他垃圾来毫不费力地做到这一点,但基本上它是不可靠的。通过解析电子邮件正文,我最终可能会得到 5 个 IP、3 个 URL 和 3 个电子邮件地址,我不确定如何自动选择最合适的。
我需要一些关于我应该研究/寻找什么的方向,以便对正确的数据做出最好的自动判断。我有超过 100,000 封过去的报告电子邮件,所以不乏测试数据,我只需要知道如何开始以及解决这个问题应该研究什么。
感谢您花时间阅读本文,如果我遗漏了什么或有其他问题,请告诉我:)
仅供参考,我考虑了以下几点:
插入来自该发件人的几封已分类的过去电子邮件,然后对新电子邮件进行设置差异。除了使用 python 集合 + 列表对一些算法进行硬编码之外,我不知道最好的方法。
将我以前的所有数据绘制到各种形式的 ScatterPlot/Histogram 上。然后,我将能够根据现有数据测试每封新电子邮件,并挑选出图表中最不占优势的细节。再一次,我不确定我应该在这里寻找哪些库。
使用样本数据对以前看到的项目进行加权。即,如果我放置一个包含 1000 个先前样本的页面,并“标记”永远不会正确的 IP,并标记可能正确的 IP。
编写一堆涉及套接字查找的代码来解析主机名并将项目匹配在一起。我知道这将是密集的运行,但它很可能会得到最好的结果。
干杯!