DMARCReporting


NameDMARCReporting JSON
Version 0.3.0 PyPI version JSON
download
home_pagehttps://github.com/MozaicWorks/DMARCReporting
SummarySimple tool to extract error reports from DMARC files
upload_time2023-12-25 12:04:34
maintainer
docs_urlNone
authorMozaic Works
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DMARCReporting ![Build Status](https://github.com/mozaicworks/DMARCReporting/actions/workflows/build.yml/badge.svg?event=push)

This is a simple tool that displays the errors from a bunch of DMARC reports. It's meant to simplify the job of figuring out DMARC errors.

This is very much a work in progress, use only for tests! Feedback and pull requests are welcome.

## Install

```bash
pip install DMARCReporting
```

## How to use

* Download all zipped DMARC reports to a `samples` folder
* Execute:
  
  ```bash
  DMARCReporting /path/to/reports
  ```

The tool processes the files one by one:

* unarchives the file on the fly
* parses the DMARC report
* if any DMARC rejection or quarantine or a failing SPF and/or DKIM authentication and/or alignment happens, a report is displayed on the console together with the DMARC report file name.

An example report looks as follows:

```plain
report.xml.gz
Source IP      Source Host                     Payload From (From:)    Envelop From (MAIL FROM)    DMARC    DKIM Align    DKIM Auth    SPF Align    SPF Auth    File
-------------  ------------------------------  ----------------------  --------------------------  -------  ------------  -----------  -----------  ----------  ------
80.96.161.193  Unknown host                    bellous.com             bellous.com                 none     pass          pass         fail         fail        report.xml.gz
208.90.221.45  208-90-221-45.static.flhsi.com  bellous.com             calendar.yambo.com          none     pass          pass         fail         pass        report.xml.gz
80.96.161.193  Unknown host                    disicious.com           disicious.com               none     pass          pass         fail         fail        report.xml.zip
208.90.221.45  208-90-221-45.static.flhsi.com  disicious.com           calendar.trumbee.com        none     pass          pass         fail         pass        report.xml.zip
```

## Run tests

```bash
make install-dev
make test
```

## Development Notes

This tool was started by [Alex Bolboaca](https://twitter.com/alexboly), with a clear goal: allow easier processing DMARC reports received by email. Alternate tools exist, but they are meant for enterprises, meaning they are either expensive or use a lot of infrastructure.

The main goal is to see a report of email failures to allow investigation. Therefore, this tool should be minimalistic, extracting the minimum necessary information and requiring a minimum infrastructure.

While it's possible to deploy it as a cloud function through a later development of a Docker container, it should also allow running it locally after obtaining the DMARC zipped reports in some way.

The current version has been developed mostly by [Thierry de Pauw](https://mastodon.social/@tdpauw), so all thanks should go to him :).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MozaicWorks/DMARCReporting",
    "name": "DMARCReporting",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Mozaic Works",
    "author_email": "alex.bolboaca@mozaicworks.com",
    "download_url": "https://files.pythonhosted.org/packages/9a/95/bf38a105ed624c2e22135d72c1ef4bfd0d006f6e534f3924cce2cb185f9f/DMARCReporting-0.3.0.tar.gz",
    "platform": null,
    "description": "# DMARCReporting ![Build Status](https://github.com/mozaicworks/DMARCReporting/actions/workflows/build.yml/badge.svg?event=push)\n\nThis is a simple tool that displays the errors from a bunch of DMARC reports. It's meant to simplify the job of figuring out DMARC errors.\n\nThis is very much a work in progress, use only for tests! Feedback and pull requests are welcome.\n\n## Install\n\n```bash\npip install DMARCReporting\n```\n\n## How to use\n\n* Download all zipped DMARC reports to a `samples` folder\n* Execute:\n  \n  ```bash\n  DMARCReporting /path/to/reports\n  ```\n\nThe tool processes the files one by one:\n\n* unarchives the file on the fly\n* parses the DMARC report\n* if any DMARC rejection or quarantine or a failing SPF and/or DKIM authentication and/or alignment happens, a report is displayed on the console together with the DMARC report file name.\n\nAn example report looks as follows:\n\n```plain\nreport.xml.gz\nSource IP      Source Host                     Payload From (From:)    Envelop From (MAIL FROM)    DMARC    DKIM Align    DKIM Auth    SPF Align    SPF Auth    File\n-------------  ------------------------------  ----------------------  --------------------------  -------  ------------  -----------  -----------  ----------  ------\n80.96.161.193  Unknown host                    bellous.com             bellous.com                 none     pass          pass         fail         fail        report.xml.gz\n208.90.221.45  208-90-221-45.static.flhsi.com  bellous.com             calendar.yambo.com          none     pass          pass         fail         pass        report.xml.gz\n80.96.161.193  Unknown host                    disicious.com           disicious.com               none     pass          pass         fail         fail        report.xml.zip\n208.90.221.45  208-90-221-45.static.flhsi.com  disicious.com           calendar.trumbee.com        none     pass          pass         fail         pass        report.xml.zip\n```\n\n## Run tests\n\n```bash\nmake install-dev\nmake test\n```\n\n## Development Notes\n\nThis tool was started by [Alex Bolboaca](https://twitter.com/alexboly), with a clear goal: allow easier processing DMARC reports received by email. Alternate tools exist, but they are meant for enterprises, meaning they are either expensive or use a lot of infrastructure.\n\nThe main goal is to see a report of email failures to allow investigation. Therefore, this tool should be minimalistic, extracting the minimum necessary information and requiring a minimum infrastructure.\n\nWhile it's possible to deploy it as a cloud function through a later development of a Docker container, it should also allow running it locally after obtaining the DMARC zipped reports in some way.\n\nThe current version has been developed mostly by [Thierry de Pauw](https://mastodon.social/@tdpauw), so all thanks should go to him :).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple tool to extract error reports from DMARC files",
    "version": "0.3.0",
    "project_urls": {
        "Homepage": "https://github.com/MozaicWorks/DMARCReporting"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "08c8b14f599e0b0aa885b24b798c21ecdf5e0e599731f29fa8c1c562cabc9671",
                "md5": "0b2af73377349c50aff54c55ceaeaa02",
                "sha256": "20e5a974a5b48b4212652958b6c537ec43b5ec29a69e93cd635a849494c51d54"
            },
            "downloads": -1,
            "filename": "DMARCReporting-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0b2af73377349c50aff54c55ceaeaa02",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 7737,
            "upload_time": "2023-12-25T12:04:32",
            "upload_time_iso_8601": "2023-12-25T12:04:32.808642Z",
            "url": "https://files.pythonhosted.org/packages/08/c8/b14f599e0b0aa885b24b798c21ecdf5e0e599731f29fa8c1c562cabc9671/DMARCReporting-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a95bf38a105ed624c2e22135d72c1ef4bfd0d006f6e534f3924cce2cb185f9f",
                "md5": "9a3017c7f0e40f67cb36faefb6c5b9f2",
                "sha256": "ad91db029ac4d263e09445250b99880e0485255d31e672e9403ac549aeceaf10"
            },
            "downloads": -1,
            "filename": "DMARCReporting-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9a3017c7f0e40f67cb36faefb6c5b9f2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9522,
            "upload_time": "2023-12-25T12:04:34",
            "upload_time_iso_8601": "2023-12-25T12:04:34.476340Z",
            "url": "https://files.pythonhosted.org/packages/9a/95/bf38a105ed624c2e22135d72c1ef4bfd0d006f6e534f3924cce2cb185f9f/DMARCReporting-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-25 12:04:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MozaicWorks",
    "github_project": "DMARCReporting",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dmarcreporting"
}
        
Elapsed time: 8.71726s