1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00

Support names for all IP protocols in libnetutil. See #841

This commit is contained in:
dmiller
2019-05-22 16:40:49 +00:00
parent ab79382f93
commit 57ff460847

View File

@@ -1867,190 +1867,162 @@ char *nexthdrtoa(u8 nextheader, int acronym){
static char buffer[129]; static char buffer[129];
memset(buffer, 0, 129); memset(buffer, 0, 129);
#define HDRTOA(num, short_name, long_name) \
case num: \
strncpy(buffer, acronym ? short_name : long_name, 128);\
break;
switch(nextheader){ switch(nextheader){
/* Generate these lines from nmap-protocols using the following perl command:
case 0: perl -lne'if(/^(\S+)\s*(\d+)\s*\#?\s*(.*)/){my$l=$3||$1;print qq{HDRTOA($2, "$1", "$l")}}'
if(acronym) */
strncpy(buffer, "HOPOPT", 128); HDRTOA(0, "hopopt", "IPv6 Hop-by-Hop Option")
else HDRTOA(1, "icmp", "Internet Control Message")
strncpy(buffer, "IPv6 Hop-by-Hop Option", 128); HDRTOA(2, "igmp", "Internet Group Management")
break; HDRTOA(3, "ggp", "Gateway-to-Gateway")
HDRTOA(4, "ipv4", "IP in IP (encapsulation)")
HDRTOA(5, "st", "Stream")
case 1: HDRTOA(6, "tcp", "Transmission Control")
if(acronym) HDRTOA(7, "cbt", "CBT")
strncpy(buffer, "ICMP", 128); HDRTOA(8, "egp", "Exterior Gateway Protocol")
else HDRTOA(9, "igp", "any private interior gateway")
strncpy(buffer, "Internet Control Message", 128); HDRTOA(10, "bbn-rcc-mon", "BBN RCC Monitoring")
break; HDRTOA(11, "nvp-ii", "Network Voice Protocol")
HDRTOA(12, "pup", "PARC universal packet protocol")
HDRTOA(13, "argus", "ARGUS")
case 2: HDRTOA(14, "emcon", "EMCON")
if(acronym) HDRTOA(15, "xnet", "Cross Net Debugger")
strncpy(buffer, "IGMP", 128); HDRTOA(16, "chaos", "Chaos")
else HDRTOA(17, "udp", "User Datagram")
strncpy(buffer, "Internet Group Management", 128); HDRTOA(18, "mux", "Multiplexing")
break; HDRTOA(19, "dcn-meas", "DCN Measurement Subsystems")
HDRTOA(20, "hmp", "Host Monitoring")
HDRTOA(21, "prm", "Packet Radio Measurement")
case 4: HDRTOA(22, "xns-idp", "XEROX NS IDP")
if(acronym) HDRTOA(23, "trunk-1", "Trunk-1")
strncpy(buffer, "IP", 128); HDRTOA(24, "trunk-2", "Trunk-2")
else HDRTOA(25, "leaf-1", "Leaf-1")
strncpy(buffer, "IP in IP (encapsulation)", 128); HDRTOA(26, "leaf-2", "Leaf-2")
break; HDRTOA(27, "rdp", "Reliable Data Protocol")
HDRTOA(28, "irtp", "Internet Reliable Transaction")
HDRTOA(29, "iso-tp4", "ISO Transport Protocol Class 4")
case 6: HDRTOA(30, "netblt", "Bulk Data Transfer Protocol")
if(acronym) HDRTOA(31, "mfe-nsp", "MFE Network Services Protocol")
strncpy(buffer, "TCP", 128); HDRTOA(32, "merit-inp", "MERIT Internodal Protocol")
else HDRTOA(33, "dccp", "Datagram Congestion Control Protocol")
strncpy(buffer, "Transmission Control Protocol", 128); HDRTOA(34, "3pc", "Third Party Connect Protocol")
break; HDRTOA(35, "idpr", "Inter-Domain Policy Routing Protocol")
HDRTOA(36, "xtp", "XTP")
HDRTOA(37, "ddp", "Datagram Delivery Protocol")
case 8: HDRTOA(38, "idpr-cmtp", "IDPR Control Message Transport Proto")
if(acronym) HDRTOA(39, "tp++", "TP+")
strncpy(buffer, "EGP", 128); HDRTOA(40, "il", "IL Transport Protocol")
else HDRTOA(41, "ipv6", "Ipv6")
strncpy(buffer, "Exterior Gateway Protocol", 128); HDRTOA(42, "sdrp", "Source Demand Routing Protocol")
break; HDRTOA(43, "ipv6-route", "Routing Header for IPv6")
HDRTOA(44, "ipv6-frag", "Fragment Header for IPv6")
HDRTOA(45, "idrp", "Inter-Domain Routing Protocol")
case 9: HDRTOA(46, "rsvp", "Reservation Protocol")
if(acronym) HDRTOA(47, "gre", "General Routing Encapsulation")
strncpy(buffer, "IGP", 128); HDRTOA(48, "dsp", "Dynamic Source Routing Protocol. Historically MHRP")
else HDRTOA(49, "bna", "BNA")
strncpy(buffer, "Interior Gateway Protocol", 128); HDRTOA(50, "esp", "Encap Security Payload")
break; HDRTOA(51, "ah", "Authentication Header")
HDRTOA(52, "i-nlsp", "Integrated Net Layer Security TUBA")
HDRTOA(53, "swipe", "IP with Encryption")
case 17: HDRTOA(54, "narp", "NBMA Address Resolution Protocol")
if(acronym) HDRTOA(55, "mobile", "IP Mobility")
strncpy(buffer, "UDP", 128); HDRTOA(56, "tlsp", "Transport Layer Security Protocol using Kryptonet key management")
else HDRTOA(57, "skip", "SKIP")
strncpy(buffer, "User Datagram", 128); HDRTOA(58, "ipv6-icmp", "ICMP for IPv6")
break; HDRTOA(59, "ipv6-nonxt", "No Next Header for IPv6")
HDRTOA(60, "ipv6-opts", "Destination Options for IPv6")
HDRTOA(61, "anyhost", "any host internal protocol")
case 41: HDRTOA(62, "cftp", "CFTP")
if(acronym) HDRTOA(63, "anylocalnet", "any local network")
strncpy(buffer, "IPv6", 128); HDRTOA(64, "sat-expak", "SATNET and Backroom EXPAK")
else HDRTOA(65, "kryptolan", "Kryptolan")
strncpy(buffer, "Internet Protocol version 6", 128); HDRTOA(66, "rvd", "MIT Remote Virtual Disk Protocol")
break; HDRTOA(67, "ippc", "Internet Pluribus Packet Core")
HDRTOA(68, "anydistribfs", "any distributed file system")
HDRTOA(69, "sat-mon", "SATNET Monitoring")
case 43: HDRTOA(70, "visa", "VISA Protocol")
if(acronym) HDRTOA(71, "ipcv", "Internet Packet Core Utility")
strncpy(buffer, "IPv6-Route", 128); HDRTOA(72, "cpnx", "Computer Protocol Network Executive")
else HDRTOA(73, "cphb", "Computer Protocol Heart Beat")
strncpy(buffer, "Routing Header for IPv6", 128); HDRTOA(74, "wsn", "Wang Span Network")
break; HDRTOA(75, "pvp", "Packet Video Protocol")
HDRTOA(76, "br-sat-mon", "Backroom SATNET Monitoring")
HDRTOA(77, "sun-nd", "SUN ND PROTOCOL-Temporary")
case 44: HDRTOA(78, "wb-mon", "WIDEBAND Monitoring")
if(acronym) HDRTOA(79, "wb-expak", "WIDEBAND EXPAK")
strncpy(buffer, "IPv6-Frag", 128); HDRTOA(80, "iso-ip", "ISO Internet Protocol")
else HDRTOA(81, "vmtp", "VMTP")
strncpy(buffer, "Fragment Header for IPv6", 128); HDRTOA(82, "secure-vmtp", "SECURE-VMTP")
break; HDRTOA(83, "vines", "VINES")
HDRTOA(84, "iptm", "Internet Protocol Traffic Manager. Historically TTP")
HDRTOA(85, "nsfnet-igp", "NSFNET-IGP")
case 50: HDRTOA(86, "dgp", "Dissimilar Gateway Protocol")
if(acronym) HDRTOA(87, "tcf", "TCF")
strncpy(buffer, "ESP", 128); HDRTOA(88, "eigrp", "EIGRP")
else HDRTOA(89, "ospfigp", "OSPFIGP")
strncpy(buffer, "Encap Security Payload", 128); HDRTOA(90, "sprite-rpc", "Sprite RPC Protocol")
break; HDRTOA(91, "larp", "Locus Address Resolution Protocol")
HDRTOA(92, "mtp", "Multicast Transport Protocol")
HDRTOA(93, "ax.25", "AX.")
case 51: HDRTOA(94, "ipip", "IP-within-IP Encapsulation Protocol")
if(acronym) HDRTOA(95, "micp", "Mobile Internetworking Control Pro.")
strncpy(buffer, "AH", 128); HDRTOA(96, "scc-sp", "Semaphore Communications Sec.")
else HDRTOA(97, "etherip", "Ethernet-within-IP Encapsulation")
strncpy(buffer, "Authentication Header", 128); HDRTOA(98, "encap", "Encapsulation Header")
break; HDRTOA(99, "anyencrypt", "any private encryption scheme")
HDRTOA(100, "gmtp", "GMTP")
HDRTOA(101, "ifmp", "Ipsilon Flow Management Protocol")
case 55: HDRTOA(102, "pnni", "PNNI over IP")
if(acronym) HDRTOA(103, "pim", "Protocol Independent Multicayst")
strncpy(buffer, "MOBILE", 128); HDRTOA(104, "aris", "ARIS")
else HDRTOA(105, "scps", "SCPS")
strncpy(buffer, "IP Mobility", 128); HDRTOA(106, "qnx", "QNX")
break; HDRTOA(107, "a/n", "Active Networks")
HDRTOA(108, "ipcomp", "IP Payload Compression Protocol")
HDRTOA(109, "snp", "Sitara Networks Protocol")
case 58: HDRTOA(110, "compaq-peer", "Compaq Peer Protocol")
if(acronym) HDRTOA(111, "ipx-in-ip", "IPX in IP")
strncpy(buffer, "IPv6-ICMP", 128); HDRTOA(112, "vrrp", "Virtual Router Redundancy Protocol")
else HDRTOA(113, "pgm", "PGM Reliable Transport Protocol")
strncpy(buffer, "ICMP for IPv6", 128); HDRTOA(114, "any0hop", "any 0-hop protocol")
break; HDRTOA(115, "l2tp", "Layer Two Tunneling Protocol")
HDRTOA(116, "ddx", "D-II Data Exchange (")
HDRTOA(117, "iatp", "Interactive Agent Transfer Protocol")
case 59: HDRTOA(118, "stp", "Schedule Transfer Protocol")
if(acronym) HDRTOA(119, "srp", "SpectraLink Radio Protocol")
strncpy(buffer, "IPv6-NoNxt", 128); HDRTOA(120, "uti", "UTI")
else HDRTOA(121, "smp", "Simple Message Protocol")
strncpy(buffer, "No Next Header for IPv6", 128); HDRTOA(122, "sm", "Simple Multicast Protocol")
break; HDRTOA(123, "ptp", "Performance Transparency Protocol")
HDRTOA(124, "isis-ipv4", "ISIS over IPv4")
HDRTOA(125, "fire", "fire")
case 60: HDRTOA(126, "crtp", "Combat Radio Transport Protocol")
if(acronym) HDRTOA(127, "crudp", "Combat Radio User Datagram")
strncpy(buffer, "IPv6-Opts", 128); HDRTOA(128, "sscopmce", "sscopmce")
else HDRTOA(129, "iplt", "iplt")
strncpy(buffer, "Destination Options for IPv6", 128); HDRTOA(130, "sps", "Secure Packet Shield")
break; HDRTOA(131, "pipe", "Private IP Encapsulation within IP")
HDRTOA(132, "sctp", "Stream Control Transmission Protocol")
HDRTOA(133, "fc", "Fibre Channel")
case 70: HDRTOA(134, "rsvp-e2e-ignore", "rsvp-e2e-ignore")
if(acronym) HDRTOA(135, "mobility-hdr", "Mobility Header")
strncpy(buffer, "VISA", 128); HDRTOA(136, "udplite", "UDP-Lite [RFC3828]")
else HDRTOA(137, "mpls-in-ip", "MPLS-in-IP [RFC4023]")
strncpy(buffer, "VISA Protocol", 128); HDRTOA(138, "manet", "MANET Protocols [RFC5498]")
break; HDRTOA(139, "hip", "Host Identity Protocol")
HDRTOA(140, "shim6", "Shim6 Protocol [RFC5533]")
HDRTOA(141, "wesp", "Wrapped Encapsulating Security Payload")
case 88: HDRTOA(142, "rohc", "Robust Header Compression")
if(acronym) HDRTOA(253, "experimental1", "Use for experimentation and testing")
strncpy(buffer, "EIGRP", 128); HDRTOA(254, "experimental2", "Use for experimentation and testing")
else default:
strncpy(buffer, "Enhanced Interior Gateway Routing Protocol ", 128); strncpy(buffer, acronym ? "unknown" : "Unknown protocol", 128);\
break;
case 94:
if(acronym)
strncpy(buffer, "IPIP", 128);
else
strncpy(buffer, "IP-within-IP Encapsulation Protocol", 128);
break;
case 132:
if(acronym)
strncpy(buffer, "SCTP", 128);
else
strncpy(buffer, "Stream Control Transmission Protocol", 128);
break;
case 133:
if(acronym)
strncpy(buffer, "FC", 128);
else
strncpy(buffer, "Fibre Channel", 128);
break;
case 135:
if(acronym)
strncpy(buffer, "MH", 128);
else
strncpy(buffer, "Mobility Header", 128);
break; break;
} /* End of switch */ } /* End of switch */