Skip to main content

A versatile network scanning and vulnerability assessment tool

Project description

Logo


Indra is a powerful, versatile, and user-friendly Python-based network scanning and vulnerability assessment tool.

Features

  • Rapid port scanning using multiple techniques
  • Integration with Shodan's InternetDB for quick results
  • Fallback to Python-based scanning when InternetDB data is unavailable
  • Nmap verification for enhanced accuracy
  • Multiple output formats: text, JSON, and port-only
  • Technology detection using Wappalyzer
  • Basic vulnerability information (when available from InternetDB)

Installation

To install Indra, follow these steps:

pip install indra
pip install requests json socket Wappalyzer


indra.py -h

python3 indra.py -h

Indra is a powerful, versatile, and user-friendly Python-based network scanning and vulnerability assessment tool.

USAGE:

    indra [flags]

POSITIONAL ARGUMENTS:

    target                The target domain, IP address, or CIDR range to scan

FLAGS:
    -p, --ports             string    Ports to scan (e.g. 22,80,443 or 21-30)
    -oX, --output-xml                 Output scan in XML format
    -oJ, --output-json                Output scan in JSON format
    -oN, --output-normal              Output scan in normal text format
    -oP, --output-port-only           Output only IP and port in format ip:port
    -iL, --input-list       string    Input from list of hosts/networks
    -h, --help                        Show this help message and exit

Usage

To use Indra, run the following command:

python3 indra.py 1.1.1.1

Starting Indra 1.0 ( https://github.com/R0X4R/Indra ) at 2024-00-00 00:00:00
Indra  scan report for 1.1.1.1
Host is up

Ports found: 53, 80, 443, 2082, 2083, 2086, 2087, 8443, 8880

PORT      STATE  SERVICE      VERSION      TECHNOLOGIES

53/tcp    open   domain       unknown      unknown
80/tcp    open   http         unknown      Cloudflare
443/tcp   open   https        unknown      Cloudflare
2082/tcp  open   infowave     unknown      Cloudflare
2083/tcp  open   http         unknown      Cloudflare
2086/tcp  open   gnunet       unknown      Cloudflare
2087/tcp  open   http         unknown      Cloudflare
8443/tcp  open   https-alt    unknown      Cloudflare
8880/tcp  open   cddbp-alt    unknown      Cloudflare

Scan completed in 63.36 seconds

If your host has some vulnerability

python3 indra.py hide.ip.add.res

Starting Indra 1.0 ( https://github.com/R0X4R/Indra ) at 2024-00-00 00:00:00
Indra scan report for hide.ip.add.ress
Host is up

Ports found: 80

PORT      STATE  SERVICE      VERSION      TECHNOLOGIES
80/tcp    open   http         1.19.0       unknown


Vulnerabilities:
- CVE-2021-23017
- CVE-2023-44487
- CVE-2021-3618

To get output in json

python3 indra.py hide.ip.add.ress -oJ

Starting Indra 1.0 ( https://github.com/R0X4R/Indra ) at 2024-00-00 00:00:00
Indra scan report for hide.ip.add.ress
Host is up

{
    "host": {
        "status": "up",
        "address": "hide.ip.add.ress"
    },
    "ports": [
        {
            "port": "80",
            "state": "open",
            "service": "http",
            "version": "1.19.0",
            "technologies": [
                "unknown"
            ]
        }
    ],
    "start_time": "2024-00-00 00:00:00",
    "target": "hide.ip.add.ress",
    "host_status": "up",
    "duration": "33.25",
    "vulnerabilities": [
        "CVE-2021-23017",
        "CVE-2023-44487",
        "CVE-2021-3618"
    ]
}

Additional Usage Examples

Scanning Multiple Targets

You can scan multiple targets by providing a list of hosts or networks:

python3 indra.py -iL targets.txt

Where targets.txt contains a list of IP addresses or domain names.

Scanning from Standard Input

You can also provide input directly from the command line:

echo hi.de.ip.ad | python3 indra.py

Specifying Ports to Scan

To scan specific ports, use the -p flag:

python3 indra.py 1.1.1.1 -p 22,80,443

Output Formats

Indra supports multiple output formats. Here are some examples:

  • XML Format:

    python3 indra.py 1.1.1.1 -oX
    
  • JSON Format:

    python3 indra.py 1.1.1.1 -oJ
    
  • Normal Text Format:

    python3 indra.py 1.1.1.1 -oN
    
  • Port-Only Format:

    python3 indra.py 1.1.1.1 -oP
    

License

This project is licensed under the MIT License. To view a copy of this license, visit https://opensource.org/licenses/MIT.

The MIT License is a permissive free software license that allows users to do almost anything they want with the project, such as making and distributing closed-source versions. It also provides an express grant of patent rights from contributors to users. However, it also comes with a limitation of liability and warranty disclaimer, meaning the software is provided "as is" without any guarantees.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indraa-1.0.0.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file indraa-1.0.0.tar.gz.

File metadata

  • Download URL: indraa-1.0.0.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for indraa-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fc61b7611448ebd6928d43c0be29872487e2530b1c3fc4bf662d5d39c1f9751f
MD5 c334d2596099934373ab8ca0a9fdece7
BLAKE2b-256 5f05d219c6792af55785e815f2935f2de35536b7b5f5b82a2f9343827cd0ee75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page