Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
294 changes: 148 additions & 146 deletions fmcapi/api_objects/helper_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,153 @@
logging.debug(f"In the {__name__} module.")


PROTOCOL_MAP = {
"TCP": "6",
"UDP": "17",
"ICMP": "1",
"IGMP": "2",
"GGP": "3",
"IP": "0",
"ST": "5",
"EGP": "8",
"IGP": "9",
"BBN-RCC-MON": "10",
"NVP-II": "11",
"PUP": "12",
"ARGUS": "13",
"EMCON": "14",
"XNET": "15",
"CHAOS": "16",
"MUX": "18",
"DCN-MEAS": "19",
"HMP": "20",
"PRM": "21",
"XNS-IDP": "22",
"TRUNK-1": "23",
"TRUNK-2": "24",
"LEAF-1": "25",
"LEAF-2": "26",
"RDP": "27",
"IRTP": "28",
"ISO-TP4": "29",
"NETBLT": "30",
"MFE-NSP": "31",
"MERIT-INP": "32",
"DCCP": "33",
"3PC": "34",
"IDPR": "35",
"XTP": "36",
"DDP": "37",
"IDPR-CMTP": "38",
"TP": "39",
"IL": "40",
"IPV6": "41",
"SDRP": "42",
"ROUTING": "43",
"FRAGMENT": "44",
"IDRP": "45",
"RSVP": "46",
"GRE": "47",
"DSR": "48",
"BNA": "49",
"ESP": "50",
"AH": "51",
"I-NLSP": "52",
"SWIPE": "53",
"NARP": "54",
"MOBILE": "55",
"TLSP": "56",
"SKIP": "57",
"ICMPV6": "58",
"NONE": "59",
"DSTOPTS": "60",
"AHIP": "61",
"CFTP": "62",
"ALN": "63",
"SAT-EXPAK": "64",
"KRYPTOLAN": "65",
"RVD": "66",
"IPPC": "67",
"AFS": "71",
"SAT-MON": "69",
"VISA": "70",
"IPCV": "72",
"CPNX": "73",
"CPHB": "74",
"WSN": "75",
"PVP": "76",
"BR-SAT-MON": "77",
"SUN-ND": "78",
"WB-MON": "79",
"WB-EXPAK": "80",
"ISO-IP": "81",
"VMTP": "81",
"SECURE-VMTP": "82",
"VINES": "83",
"TTP": "84",
"IPTM": "84",
"NSFNET-IGP": "85",
"DGP": "86",
"TCF": "87",
"EIGRP": "88",
"OSPFIGP": "89",
"SPRITE-RPC": "90",
"LARP": "91",
"MTP": "92",
"AX.25": "93",
"IPIP": "94",
"MICP": "95",
"SCC-SP": "96",
"ETHERIP": "97",
"ENCAP": "98",
"ENCRYPT": "99",
"AIM": "100",
"GMTP": "100",
"IFMP": "101",
"PNNI": "102",
"PIM": "103",
"ARIS": "104",
"SCPS": "105",
"QNX": "106",
"A/N": "107",
"IPCOMP": "108",
"SNP": "109",
"COMPAQ-PEER": "110",
"IPX-IN-IP": "111",
"VRRP": "112",
"PGM": "113",
"0HOP": "114",
"L2TP": "115",
"DDX": "116",
"IATP": "117",
"STP": "118",
"SRP": "119",
"UTI": "120",
"SMP": "121",
"SM": "122",
"PTP": "123",
"ISIS": "124",
"FIRE": "125",
"CRTP": "126",
"CRUDP": "127",
"SSCOPMCE": "128",
"IPLT": "129",
"SPS": "130",
"PIPE": "131",
"SCTP": "132",
"FC": "133",
"RSVP-E2E-IGNORE": "134",
"MOBILITY-HEADER": "135",
"UDPLITE": "136",
"MPLS-in-IP": "137",
"MANET": "138",
"HIP": "139",
"SHIM6": "140",
"WESP": "141",
"ROHC": "142",
}


def true_false_checker(value):
if type(value) is str:
value = value.lower()
Expand Down Expand Up @@ -202,152 +349,7 @@ def get_protocol_number(protocol_name):
:return: (str) IANA protocol number
"""
logging.debug("In get_protocol_number() helper_function.")
protocol_map = {
"TCP": "6",
"UDP": "17",
"ICMP": "1",
"IGMP": "2",
"GGP": "3",
"IP": "0",
"ST": "5",
"EGP": "8",
"IGP": "9",
"BBN-RCC-MON": "10",
"NVP-II": "11",
"PUP": "12",
"ARGUS": "13",
"EMCON": "14",
"XNET": "15",
"CHAOS": "16",
"MUX": "18",
"DCN-MEAS": "19",
"HMP": "20",
"PRM": "21",
"XNS-IDP": "22",
"TRUNK-1": "23",
"TRUNK-2": "24",
"LEAF-1": "25",
"LEAF-2": "26",
"RDP": "27",
"IRTP": "28",
"ISO-TP4": "29",
"NETBLT": "30",
"MFE-NSP": "31",
"MERIT-INP": "32",
"DCCP": "33",
"3PC": "34",
"IDPR": "35",
"XTP": "36",
"DDP": "37",
"IDPR-CMTP": "38",
"TP": "39",
"IL": "40",
"IPV6": "41",
"SDRP": "42",
"ROUTING": "43",
"FRAGMENT": "44",
"IDRP": "45",
"RSVP": "46",
"GRE": "47",
"DSR": "48",
"BNA": "49",
"ESP": "50",
"AH": "51",
"I-NLSP": "52",
"SWIPE": "53",
"NARP": "54",
"MOBILE": "55",
"TLSP": "56",
"SKIP": "57",
"ICMPV6": "58",
"NONE": "59",
"DSTOPTS": "60",
"AHIP": "61",
"CFTP": "62",
"ALN": "63",
"SAT-EXPAK": "64",
"KRYPTOLAN": "65",
"RVD": "66",
"IPPC": "67",
"AFS": "71",
"SAT-MON": "69",
"VISA": "70",
"IPCV": "72",
"CPNX": "73",
"CPHB": "74",
"WSN": "75",
"PVP": "76",
"BR-SAT-MON": "77",
"SUN-ND": "78",
"WB-MON": "79",
"WB-EXPAK": "80",
"ISO-IP": "81",
"VMTP": "81",
"SECURE-VMTP": "82",
"VINES": "83",
"TTP": "84",
"IPTM": "84",
"NSFNET-IGP": "85",
"DGP": "86",
"TCF": "87",
"EIGRP": "88",
"OSPFIGP": "89",
"SPRITE-RPC": "90",
"LARP": "91",
"MTP": "92",
"AX.25": "93",
"IPIP": "94",
"MICP": "95",
"SCC-SP": "96",
"ETHERIP": "97",
"ENCAP": "98",
"ENCRYPT": "99",
"AIM": "100",
"GMTP": "100",
"IFMP": "101",
"PNNI": "102",
"PIM": "103",
"ARIS": "104",
"SCPS": "105",
"QNX": "106",
"A/N": "107",
"IPCOMP": "108",
"SNP": "109",
"COMPAQ-PEER": "110",
"IPX-IN-IP": "111",
"VRRP": "112",
"PGM": "113",
"0HOP": "114",
"L2TP": "115",
"DDX": "116",
"IATP": "117",
"STP": "118",
"SRP": "119",
"UTI": "120",
"SMP": "121",
"SM": "122",
"PTP": "123",
"ISIS": "124",
"FIRE": "125",
"CRTP": "126",
"CRUDP": "127",
"SSCOPMCE": "128",
"IPLT": "129",
"SPS": "130",
"PIPE": "131",
"SCTP": "132",
"FC": "133",
"RSVP-E2E-IGNORE": "134",
"MOBILITY-HEADER": "135",
"UDPLITE": "136",
"MPLS-in-IP": "137",
"MANET": "138",
"HIP": "139",
"SHIM6": "140",
"WESP": "141",
"ROHC": "142",
}
protocol_number = protocol_map.get(protocol_name.upper())
protocol_number = PROTOCOL_MAP.get(protocol_name.upper())
if protocol_number is None:
raise ValueError(f"Unknown protocol: {protocol_name}")
return protocol_number
Expand Down