nebula-watcher


Namenebula-watcher JSON
Version 0.4 PyPI version JSON
download
home_pagehttps://github.com/berylliumsec/nebula_watcher
SummaryA tool to monitor the IP addresses and ports you have engaged with during a penetration test using the Nebula-Watcher tool
upload_time2023-10-26 23:20:09
maintainer
docs_urlNone
authorDavid I
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Nebula-Watcher

Welcome to the Nebula-Watcher 

![nebula](/images/nebula_watcher.png)


## Content
- [Acknowledgement](#Acknowledgement)
- [Why?](#why)
- [Features](#features)
- [Dependencies](#dependencies)
- [Installation](#installation)
- [Usage](#usage)
- [Options](#options)
- [How-it-works](#how-it-works)


## Acknowledgement

First i would like to thank the All-Mighty God who is the source of all knowledge, without Him, this would not be possible.


## Why?

Nebula-Watcher offers a method for ethical hackers to monitor the IP addresses and ports that they have engaged with during a penetration test. It serves as a visual tool to ensure comprehensive coverage of all intended IP addresses and ports under examination.

## Features

- Parses NMAP scan results (in plain text format) from a specified directory and returns only IP addresses with open ports.
- Monitors network connections and matches them against the parsed NMAP scan results.
- Generates a visual diagram depicting the activity, with different colors indicating the type of connection.
- Periodically updates the diagram, maintaining a history of the ethical hacking activity.

**Example**

Before connecting to port 443:

![Before](/images/before_ethical_hacking_activity.png)

After connecting to port 443:

![After](/images/after_ethical_hacking_activity.png)

## Dependencies

- [graphviz](https://graphviz.org/)
- [Python3](https://www.python.org/downloads/)
- [diagrams](https://github.com/mingrammer/diagrams)
- [psutil](https://psutil.readthedocs.io/en/latest/)


## Installation

The easiest way to get started is to use the docker image.


**Docker**:

Pulling the image:

``` bash
docker pull berylliumsec/nebula_watcher:latest
```
Running the image docker image :

```bash
docker run --network host -v directory_that_contains_nmap_results/nmap_plain_text:/app/results -v where/you/want/the/diagram:/app/output  berylliumsec/nebula_watcher:latest
```

To change the diagram name from the default:

```bash
docker run --network host -v directory_that_contains_nmap_results/nmap_plain_text:/app/results -v where/you/want/the/diagram:/app/output  berylliumsec/nebula_watcher:latest python3 nebula_watcher.py --diagram_name /app/your_diagram_name
```


**PIP**:

```
pip install nebula-watcher
```

To run nebula-watcher simply enter:

```bash 
nebula-watcher
``` 

## Usage

Utilizing Nebula-Watcher is straightforward. Simply execute the tool, whether through the installed pip package or Docker. It will then autonomously monitor the IP addresses and ports you've engaged.

## Options:

- --results_dir : Specify the directory containing NMAP scan results. (Default: ./results)
- --diagram_name : Specify the name for the generated diagram. (Default: hacking_activity)
- --clear_state : Use this flag if you want to start the script without using the previous state. This can be helpful for debugging purposes.
- --help: display the above options.

**IMPORTANT**

- Ensure that your plain-text NMAP results are located within a directory titled results situated in the current working directory. If you intend to utilize a custom directory, please reference the aforementioned options for guidance.

- By default, the generated diagram will be saved in the current working directory with the name ethical_hacking_activity.png. However, you have the flexibility to specify an alternate filename, as detailed in the provided options.

- In cases where there is a significant number of IP addresses with open ports, it might be necessary to zoom into the diagram for clarity.

- The monitoring tool creates a state.json file in the current working directory. This ensures the preservation of states even post-closure of the monitoring tool.

- For accurate results, it is recommended to initiate Nebula-Watcher only after completing your general scans. Initiating beforehand may lead to the tool interpreting that all IPs and ports have been engaged during testing.

## How It Works

- The script first parses the NMAP scan results to identify open ports on different IP addresses.
- It then monitors live network connections on the machine it's running on.
- When a network connection matches an IP and port from the NMAP results, the color of the arrow goes from red to blue on the diagram.
- The diagram is periodically updated to reflect the current state of the network connections.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/berylliumsec/nebula_watcher",
    "name": "nebula-watcher",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "David I",
    "author_email": "david@berylliumsec.com",
    "download_url": "https://files.pythonhosted.org/packages/da/4c/18b2674527a91df435ca49754f5e512db53d805ad094ae592f5437835178/nebula-watcher-0.4.tar.gz",
    "platform": null,
    "description": "# Nebula-Watcher\n\nWelcome to the Nebula-Watcher \n\n![nebula](/images/nebula_watcher.png)\n\n\n## Content\n- [Acknowledgement](#Acknowledgement)\n- [Why?](#why)\n- [Features](#features)\n- [Dependencies](#dependencies)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Options](#options)\n- [How-it-works](#how-it-works)\n\n\n## Acknowledgement\n\nFirst i would like to thank the All-Mighty God who is the source of all knowledge, without Him, this would not be possible.\n\n\n## Why?\n\nNebula-Watcher offers a method for ethical hackers to monitor the IP addresses and ports that they have engaged with during a penetration test. It serves as a visual tool to ensure comprehensive coverage of all intended IP addresses and ports under examination.\n\n## Features\n\n- Parses NMAP scan results (in plain text format) from a specified directory and returns only IP addresses with open ports.\n- Monitors network connections and matches them against the parsed NMAP scan results.\n- Generates a visual diagram depicting the activity, with different colors indicating the type of connection.\n- Periodically updates the diagram, maintaining a history of the ethical hacking activity.\n\n**Example**\n\nBefore connecting to port 443:\n\n![Before](/images/before_ethical_hacking_activity.png)\n\nAfter connecting to port 443:\n\n![After](/images/after_ethical_hacking_activity.png)\n\n## Dependencies\n\n- [graphviz](https://graphviz.org/)\n- [Python3](https://www.python.org/downloads/)\n- [diagrams](https://github.com/mingrammer/diagrams)\n- [psutil](https://psutil.readthedocs.io/en/latest/)\n\n\n## Installation\n\nThe easiest way to get started is to use the docker image.\n\n\n**Docker**:\n\nPulling the image:\n\n``` bash\ndocker pull berylliumsec/nebula_watcher:latest\n```\nRunning the image docker image :\n\n```bash\ndocker run --network host -v directory_that_contains_nmap_results/nmap_plain_text:/app/results -v where/you/want/the/diagram:/app/output  berylliumsec/nebula_watcher:latest\n```\n\nTo change the diagram name from the default:\n\n```bash\ndocker run --network host -v directory_that_contains_nmap_results/nmap_plain_text:/app/results -v where/you/want/the/diagram:/app/output  berylliumsec/nebula_watcher:latest python3 nebula_watcher.py --diagram_name /app/your_diagram_name\n```\n\n\n**PIP**:\n\n```\npip install nebula-watcher\n```\n\nTo run nebula-watcher simply enter:\n\n```bash \nnebula-watcher\n``` \n\n## Usage\n\nUtilizing Nebula-Watcher is straightforward. Simply execute the tool, whether through the installed pip package or Docker. It will then autonomously monitor the IP addresses and ports you've engaged.\n\n## Options:\n\n- --results_dir : Specify the directory containing NMAP scan results. (Default: ./results)\n- --diagram_name : Specify the name for the generated diagram. (Default: hacking_activity)\n- --clear_state : Use this flag if you want to start the script without using the previous state. This can be helpful for debugging purposes.\n- --help: display the above options.\n\n**IMPORTANT**\n\n- Ensure that your plain-text NMAP results are located within a directory titled results situated in the current working directory. If you intend to utilize a custom directory, please reference the aforementioned options for guidance.\n\n- By default, the generated diagram will be saved in the current working directory with the name ethical_hacking_activity.png. However, you have the flexibility to specify an alternate filename, as detailed in the provided options.\n\n- In cases where there is a significant number of IP addresses with open ports, it might be necessary to zoom into the diagram for clarity.\n\n- The monitoring tool creates a state.json file in the current working directory. This ensures the preservation of states even post-closure of the monitoring tool.\n\n- For accurate results, it is recommended to initiate Nebula-Watcher only after completing your general scans. Initiating beforehand may lead to the tool interpreting that all IPs and ports have been engaged during testing.\n\n## How It Works\n\n- The script first parses the NMAP scan results to identify open ports on different IP addresses.\n- It then monitors live network connections on the machine it's running on.\n- When a network connection matches an IP and port from the NMAP results, the color of the arrow goes from red to blue on the diagram.\n- The diagram is periodically updated to reflect the current state of the network connections.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A tool to monitor the IP addresses and ports you have engaged with during a penetration test using the Nebula-Watcher tool",
    "version": "0.4",
    "project_urls": {
        "Homepage": "https://github.com/berylliumsec/nebula_watcher"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ba29c5adedb12b11a6e0f5980d620f7e1d5a3af5e24e112cd0b681a982e13a6",
                "md5": "e7efb883379bf9f5f8dc0e4314c7665b",
                "sha256": "e2b56d2377e0d5ad5fe1d517d923bc56cc8e635e26840c87a91f66ea3e19c9aa"
            },
            "downloads": -1,
            "filename": "nebula_watcher-0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e7efb883379bf9f5f8dc0e4314c7665b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8376604,
            "upload_time": "2023-10-26T23:20:06",
            "upload_time_iso_8601": "2023-10-26T23:20:06.768559Z",
            "url": "https://files.pythonhosted.org/packages/1b/a2/9c5adedb12b11a6e0f5980d620f7e1d5a3af5e24e112cd0b681a982e13a6/nebula_watcher-0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da4c18b2674527a91df435ca49754f5e512db53d805ad094ae592f5437835178",
                "md5": "556af611a35f5bc6d71be3ab21e90c2c",
                "sha256": "c6ea1687e936d6f42856ea50c39c67694fa7ee4979d007b6b4df31dbc910b9b8"
            },
            "downloads": -1,
            "filename": "nebula-watcher-0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "556af611a35f5bc6d71be3ab21e90c2c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 8380233,
            "upload_time": "2023-10-26T23:20:09",
            "upload_time_iso_8601": "2023-10-26T23:20:09.155321Z",
            "url": "https://files.pythonhosted.org/packages/da/4c/18b2674527a91df435ca49754f5e512db53d805ad094ae592f5437835178/nebula-watcher-0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-26 23:20:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "berylliumsec",
    "github_project": "nebula_watcher",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nebula-watcher"
}
        
Elapsed time: 0.12288s