Exemple #1
0
def test_parse_probes_all_range() -> None:
    portstring = "10-20 U:10-20 T:10-20"
    expected: DefaultDict[str, set] = defaultdict(set)
    expected["TCP"] = set(range(10, 21))
    expected["UDP"] = set(range(10, 21))
    expected["ANY"] = set(range(10, 21))
    assert expected == parse_ports(portstring)
Exemple #2
0
def test_parse_probes_all_single_and_range() -> None:
    portstring = "1,2,3,10-20,6,7,8 U:1,2,3,10-20,6,7,8 T:1,2,3,10-20,6,7,8"
    expected: DefaultDict[str, set] = defaultdict(set)
    expected["TCP"] = set([1, 2, 3, *range(10, 21), 6, 7, 8])
    expected["UDP"] = set([1, 2, 3, *range(10, 21), 6, 7, 8])
    expected["ANY"] = set([1, 2, 3, *range(10, 21), 6, 7, 8])
    assert expected == parse_ports(portstring)
Exemple #3
0
def test_parse_probes_all_single() -> None:
    portstring = "12345 U:12345 T:12345"
    expected: DefaultDict[str, set] = defaultdict(set)
    expected["TCP"] = set([12345])
    expected["UDP"] = set([12345])
    expected["ANY"] = set([12345])
    assert expected == parse_ports(portstring)
Exemple #4
0
#!/usr/bin/env python
import re
from argparse import ArgumentParser
from collections import defaultdict
from math import floor, log10
from modules import (
    scanners,
    ip_utils,
    directives,
)
from typing import (
    DefaultDict,
    Dict,
)

top_ports = directives.parse_ports(open("top_ports").read())
services: DefaultDict[str, Dict[int, str]] = defaultdict(dict)
for match in re.finditer(r"(\S+)\s+(\d+)/(\S+)",
                         open("version_detection/nmap-services").read()):
    service, portnum, protocol = match.groups()
    services[protocol.upper()][int(portnum)] = service

parser = ArgumentParser()
parser.add_argument("target_spec",
                    help="specify what to scan, i.e. 192.168.1.0/24")
parser.add_argument("-Pn", help="assume hosts are up", action="store_true")
parser.add_argument("-sL", help="list targets", action="store_true")
parser.add_argument("-sn", help="disable port scanning", action="store_true")
parser.add_argument("-sS", help="TCP SYN scan", action="store_true")
parser.add_argument("-sT", help="TCP connect scan", action="store_true")
parser.add_argument("-sU", help="UDP scan", action="store_true")