Я получаю небольшое количество писем в неделю, подробно описывающих оскорбительную активность, происходящую из сети, с которой я связан. Они обычно содержат либо:Python + Scattergraphs + Other ерунда
a) URL-адрес, который считается скомпрометированным.
или
б) копия письма, которое считается спамом.
Большинство из них автоматизированы и, как правило, не очень хорошо следуют за ARF.
Мне нужно автоматическое извлечение данных, но я ломаю голову, потому что я не уверен, как это сделать, когда структура электронной почты меняется и непредсказуема.
То, что я ищу, чтобы извлечь на данный момент:
а) Возникнув почтовых серверов для спама (а также UID/Имя пользователя, который показан в большинстве Exim/Qmail Полученные заголовки)
б) доменные имена
с) URL-адрес для взломанных сайтов
д) адрес электронной почты
Я могу сделать это без какого-пота не используя некоторые регулярных выражений и немного другого барахла, но в основном это ненадежно. Разбирая тело электронной почты, я могу получить 5 IP-адресов, 3 URL-адреса и 3 адреса электронной почты, и я не уверен, как автоматически выбрать наилучший вариант.
Мне нужно какое-то направление в отношении того, что я должен исследовать/искать, чтобы сделать лучшее автоматическое суждение о том, что такое правильные данные. У меня более 100 000 прошлых сообщений электронной почты, поэтому нет недостатка в тестовых данных, мне просто нужно знать, как начать работу и что я должен изучать, чтобы решить эту проблему.
Спасибо, что нашли время, чтобы прочитать это, пожалуйста, дайте мне знать, если я что-то пропустил или если есть другие вопросы :)
FYI, я рассмотрел следующее:
Insersecting несколько прошлых писем от этого отправителя, которые были классифицированы, а затем выполняли определенную разницу с новым письмом. Я понятия не имею о том, как это сделать, хотя помимо жесткого кодирования некоторые алгоритмы используют наборы python + lists.
Построение всех моих предыдущих данных на различные формы ScatterPlot/Histogram. Затем я смогу протестировать каждое новое электронное письмо против существующих данных и выберет детали, которые наименее превалируют внутри графика. Еще раз, я не уверен, какие библиотеки я должен искать здесь.
Использование данных образца для определения веса против ранее увиденных предметов. То есть Если я выложу страницу из 1000 предыдущих образцов и «пометку» IP-адресов, которые никогда не будут правильными, и маркировка IP-адресов, которые могут быть правильными.
Написание путаницы кода с использованием запросов сокетов для разрешения имен хостов и совпадений элементов вместе. Я знаю, что это будет интенсивно работать, но это, скорее всего, принесет наилучшие результаты.
Cheers!
Я сомневаюсь, что есть простой подход, который даст вам отличные результаты, но я бы попытался написать что-то, чтобы обнаружить шаблон пересылаемой электронной почты. Большинство программ электронной почты добавляет очень предсказуемые функции для переадресованных сообщений, и определение такого сообщения даст * context * для UID/URL-адресов/доменов/адресов, которые вы уже можете извлечь. – Beta