Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
flanker — Bibliothèque Python d'analyse d'adresses e-mail et de Mime | Kitploit
Outils/GitHubGitHub/mailgun/flanker
Utilitaires GénérauxScripting et AutomatisationUtilitaires et Frameworks
GitHubmailgun/flanker

flanker

Bibliothèque Python d'analyse d'adresses e-mail et de Mime

Voir le dépôtSite web
1.6k214il y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Flanker - analyse d'adresses e-mail et de MIME pour Python

.. image:: https://travis-ci.org/mailgun/flanker.svg?branch=master :target: https://travis-ci.org/mailgun/flanker

.. image:: https://coveralls.io/repos/github/mailgun/flanker/badge.svg?branch=master :target: https://coveralls.io/github/mailgun/flanker?branch=master

Flanker est une bibliothèque d'analyse open source écrite en Python par l'équipe Mailgun. Flanker se compose actuellement d'une bibliothèque d'analyse d'adresses (flanker.addresslib) ainsi que d'une bibliothèque d'analyse MIME (flanker.mime).

Une documentation détaillée est fournie dans le Manuel d'utilisation <https://github.com/mailgun/flanker/blob/master/docs/User%20Manual.md>_ ainsi que dans la Référence de l'API <https://github.com/mailgun/flanker/blob/master/docs/API%20Reference.md>_. Un guide de démarrage rapide est fourni ci-dessous.

Versions de Python

Flanker est largement utilisé par Mailgun <www.mailgun.com>_ en production avec Python 2.7. La version de production actuelle est v0.8.5.

Le support de Python 3 a été ajouté dans la v0.9.0 à la demande de la communauté. Nous n'utilisons pas Flanker avec Python 3 en interne. Tout ce que nous savons, c'est que les tests passent avec Python 3.6, donc utilisez-le à vos risques et périls. N'hésitez pas à signaler les problèmes spécifiques à Python 3 si vous en voyez.

Installation

Vous pouvez installer flanker via pip ou cloner le dépôt depuis GitHub.

Vous aurez besoin des fichiers d'en-tête Python avant de commencer à travailler avec flanker, alors installez-les d'abord :

.. code-block:: bash

ubuntu

sudo apt-get install python-dev

fedora

sudo yum install python-devel

Si vous utilisez pip, tapez simplement :

.. code-block:: bash

pip install flanker

Si vous clonez depuis GitHub, vous pouvez taper :

.. code-block:: bash

git clone [email protected]:mailgun/flanker.git cd flanker pip install -e .

Analyse d'adresses

Pour analyser une boîte aux lettres unique (nom d'affichage ainsi qu'adresse e-mail) :

.. code-block:: py

from flanker.addresslib import address

address.parse('Foo [email protected]') Foo [email protected]

Une adresse invalide est renvoyée sous la forme None :

.. code-block:: py

from flanker.addresslib import address

print address.parse('@example.com') None

Pour analyser une adresse e-mail unique (sans nom d'affichage) :

.. code-block:: py

from flanker.addresslib import address

address.parse('[email protected]', addr_spec_only=True) [email protected]

Pour analyser une liste d'adresses :

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com']) [[email protected], [email protected]]

Pour analyser une liste d'adresses et renvoyer également un tuple contenant les adresses analysées et les parties non analysables

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com'], as_tuple=True) [[email protected], [email protected]], ['@example.com']

Pour analyser une liste d'adresses en mode strict :

.. code-block:: py

from flanker.addresslib import address

address.parse_list(['[email protected], [email protected], @example.com'], strict=True) [[email protected], [email protected]]

Pour valider une adresse e-mail (analyse ainsi que vérifications DNS, existence MX et grammaire ESP) :

.. code-block:: py

from flanker.addresslib import address

address.validate_address('[email protected]') [email protected]

Pour valider une liste d'adresses :

.. code-block:: py

from flanker.addresslib import address

address.validate_list(['[email protected], [email protected], @mailgun.com'], as_tuple=True) ([[email protected], [email protected]], ['@mailgun.com'])

Analyse MIME

Pour les exemples suivants, message_string sera défini sur le message MIME suivant :

::

MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c1d71697c7f004e6856996 From: Bob [email protected] To: Alice [email protected] Subject: hello, world Date: Mon, 16 Sep 2013 12:43:03 -0700

--001a11c1d71697c7f004e6856996 Content-Type: text/plain; charset=us-ascii

Hello, Alice

--001a11c1d71697c7f004e6856996 Content-Type: text/html; charset=us-ascii

Hello, Alice

--001a11c1d71697c7f004e6856996--

Pour analyser un message MIME :

.. code-block:: py

from flanker import mime

msg = mime.from_string(message_string)

En-têtes de message MIME (dictionnaire unicode à valeurs multiples avec en-têtes) :

.. code-block:: py

from flanker import mime

msg = mime.from_string(message_string) msg.headers.items() [('Mime-Version', '1.0'), ('Content-Type', ('multipart/alternative', {'boundary': u'001a11c1d71697c7f004e6856996'})), ('From', 'Bob [email protected]'), ('To', 'Alice [email protected]'), ('Subject', 'hello, world'), ('Date', 'Mon, 16 Sep 2013 12:43:03 -0700')]

Membre content_type utile avec des prédicats :

.. code-block:: py

from flanker import mime msg = mime.from_string(message_string)

msg.content_type.is_multipart() True

msg.content_type.is_singlepart() False

msg.content_type.is_message_container() False

Corps décodé d'un message :

.. code-block:: py

from flanker import mime msg = mime.from_string(message_string)

None because message is multipart

print msg.body None

for part in msg.parts: print 'Content-Type: {} Body: {}'.format(part, part.body)

Content-Type: (text/plain) Body: Hello, Alice Content-Type: (text/html) Body:

Hello, Alice

None because no enclosed messages exist

print msg.enclosed None

Télécharger l’outil