VerifyIPv6Indicator

Verify that the address is a valid IPv6 address.

python · Common Scripts

Source

from ipaddress import IPv6Address

import demistomock as demisto
from CommonServerPython import *


def is_valid_ipv6_address(address):
    try:
        IPv6Address(address)
        return True
    except ValueError:
        return False


def main():
    the_input = demisto.args().get("input")
    the_input = argToList(the_input)
    entries_list = []

    for item in the_input:
        demisto.info(f"Got IPv6 {item}")

        if re.match(r"(?i)^[g-z]", item):
            # Can't be an actual IPv6, invalid chars, dropping
            entries_list.append("")
            continue

        else:
            item = re.sub("[^a-f0-9:%th.]+", "", item)  # Remove leading char caught as part of the regex
            demisto.info(f"Changed item to {item!s}")

        if is_valid_ipv6_address(item):
            entries_list.append(item)
        else:
            entries_list.append("")

    if entries_list:
        return_results(entries_list)
    else:
        return_results("")


# python2 uses __builtin__ python3 uses builtins
if __name__ == "__builtin__" or __name__ == "builtins":
    main()

README

Verify that the address is a valid IPv6 address.

Script Data


Name Description
Script Type python3
Tags indicator-format
Cortex XSOAR Version 5.5.0

Inputs


Argument Name Description
input The IPv6 to vriefy.

Outputs


There are no outputs for this script.