Read misc.httpmethod, misc.protocol and misc.port from their IANA registries

This commit is contained in:
2026-09-20 00:01:57 +02:00
parent 9feadf4d15
commit 2016a7408c
13 changed files with 6152 additions and 7 deletions
+5
View File
@@ -43,6 +43,11 @@ replacement, and each removed path, column or flag.
in. `misc.useragent` is the top-user-agents desktop and mobile lists with `browser`, in. `misc.useragent` is the top-user-agents desktop and mobile lists with `browser`,
`device` and `os` columns. `misc.car` keeps its makes and models in a `make` and a `device` and `os` columns. `misc.car` keeps its makes and models in a `make` and a
`model` column. `model` column.
- `misc.httpmethod`, `misc.protocol` and `misc.port` are IANA's registries as tables.
`misc.httpmethod` carries `safe` and `idempotent` beside the method; `misc.protocol`
the keyword, its `number` and its `name`; `misc.port` renders a TCP port number,
with the service `name` beside it, keeping the first service the registry lists for
a port so a number selects one row.
- `geo.SE` and `geo.US`: five linked tables per country, `region`, `municipality`, - `geo.SE` and `geo.US`: five linked tables per country, `region`, `municipality`,
`locality`, `postal-code` and `street`, weighted by population and address counts `locality`, `postal-code` and `street`, weighted by population and address counts
and built from SCB, GeoNames, Trafikverket NVDB and the US Census Bureau, and an and built from SCB, GeoNames, Trafikverket NVDB and the US Census Bureau, and an
+3
View File
@@ -16,9 +16,12 @@ Every shipped dataset, its source, its licence and the attribution it asks for.
| `en_US/last-name.tsv` | Census Bureau surnames occurring 100 or more times, 2010 | public domain | none required | `data-import/names-us.py` | | `en_US/last-name.tsv` | Census Bureau surnames occurring 100 or more times, 2010 | public domain | none required | `data-import/names-us.py` |
| `sv_SE/sex.tsv`, `sv_SE/birth-number.tsv`, `sv_SE/title.tsv`, `en_US/sex.tsv`, `en_US/title.tsv`, `misc/car.tsv` | curated; Skatteverket's test birth numbers are facts, and `car.tsv` waits for an international source (goal 10) | — | — | — | | `sv_SE/sex.tsv`, `sv_SE/birth-number.tsv`, `sv_SE/title.tsv`, `en_US/sex.tsv`, `en_US/title.tsv`, `misc/car.tsv` | curated; Skatteverket's test birth numbers are facts, and `car.tsv` waits for an international source (goal 10) | — | — | — |
| `misc/currency.tsv` | [datasets/currency-codes](https://github.com/datasets/currency-codes); symbols from [Unicode CLDR](https://github.com/unicode-org/cldr) `en.xml` and `root.xml` | PDDL 1.0; [Unicode License v3](https://www.unicode.org/license.txt) | CLDR: "Copyright © 1991-2025 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries." | `data-import/currency.py` | | `misc/currency.tsv` | [datasets/currency-codes](https://github.com/datasets/currency-codes); symbols from [Unicode CLDR](https://github.com/unicode-org/cldr) `en.xml` and `root.xml` | PDDL 1.0; [Unicode License v3](https://www.unicode.org/license.txt) | CLDR: "Copyright © 1991-2025 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries." | `data-import/currency.py` |
| `misc/httpmethod.tsv` | [IANA HTTP Method Registry](https://www.iana.org/assignments/http-methods/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpmethod.py` |
| `misc/httpstatus.tsv` | [IANA HTTP Status Code Registry](https://www.iana.org/assignments/http-status-codes/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpstatus.py` | | `misc/httpstatus.tsv` | [IANA HTTP Status Code Registry](https://www.iana.org/assignments/http-status-codes/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpstatus.py` |
| `misc/language.tsv` | [datasets/language-codes](https://github.com/datasets/language-codes), the [Library of Congress](https://www.loc.gov/standards/iso639-2/) ISO 639-2 register | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/language.py` | | `misc/language.tsv` | [datasets/language-codes](https://github.com/datasets/language-codes), the [Library of Congress](https://www.loc.gov/standards/iso639-2/) ISO 639-2 register | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/language.py` |
| `misc/mimetype.tsv` | [mime-db](https://github.com/jshttp/mime-db), the IANA media type registry with filename extensions | [MIT](https://github.com/jshttp/mime-db/blob/master/LICENSE) | "Copyright (c) 2014 Jonathan Ong, Copyright (c) 2015-2022 Douglas Christopher Wilson" | `data-import/mimetype.py` | | `misc/mimetype.tsv` | [mime-db](https://github.com/jshttp/mime-db), the IANA media type registry with filename extensions | [MIT](https://github.com/jshttp/mime-db/blob/master/LICENSE) | "Copyright (c) 2014 Jonathan Ong, Copyright (c) 2015-2022 Douglas Christopher Wilson" | `data-import/mimetype.py` |
| `misc/port.tsv` | [IANA Service Name and Transport Protocol Port Number Registry](https://www.iana.org/assignments/service-names-port-numbers/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/port.py` |
| `misc/protocol.tsv` | [IANA Protocol Numbers](https://www.iana.org/assignments/protocol-numbers/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/protocol.py` |
| `misc/territory.tsv` | [datasets/country-codes](https://github.com/datasets/country-codes) | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/territory.py` | | `misc/territory.tsv` | [datasets/country-codes](https://github.com/datasets/country-codes) | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/territory.py` |
| `misc/timezone.tsv` | [IANA tzdb](https://www.iana.org/time-zones) 2026d `zone.tab` and the standard offset of each zone; weights from [GeoNames](https://www.geonames.org/) `cities15000` populations | [public domain](https://data.iana.org/time-zones/tzdb/LICENSE); [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | "Populations from GeoNames, www.geonames.org" | `data-import/timezone.py` | | `misc/timezone.tsv` | [IANA tzdb](https://www.iana.org/time-zones) 2026d `zone.tab` and the standard offset of each zone; weights from [GeoNames](https://www.geonames.org/) `cities15000` populations | [public domain](https://data.iana.org/time-zones/tzdb/LICENSE); [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | "Populations from GeoNames, www.geonames.org" | `data-import/timezone.py` |
| `misc/useragent.tsv` | [top-user-agents](https://github.com/microlinkhq/top-user-agents) desktop and mobile lists | [MIT](https://github.com/microlinkhq/top-user-agents/blob/master/LICENSE.md) | "Copyright © 2020 Kiko Beats" | `data-import/useragent.py` | | `misc/useragent.tsv` | [top-user-agents](https://github.com/microlinkhq/top-user-agents) desktop and mobile lists | [MIT](https://github.com/microlinkhq/top-user-agents/blob/master/LICENSE.md) | "Copyright © 2020 Kiko Beats" | `data-import/useragent.py` |
+12 -5
View File
@@ -162,14 +162,18 @@ Each locale carries `address`, `color`, `company`, `date`, `email`, `first-name`
`username`, `version` and `word`, formatted per locale; `sv_SE` adds `username`, `version` and `word`, formatted per locale; `sv_SE` adds
`personnummer` and `samordningsnummer`, `en_US` adds `ssn` and `itin`. `misc` `personnummer` and `samordningsnummer`, `en_US` adds `ssn` and `itin`. `misc`
carries `car`, `coordinate`, `creditcard` (Luhn-valid), `currency` (ISO 4217), carries `car`, `coordinate`, `creditcard` (Luhn-valid), `currency` (ISO 4217),
`datetime` (RFC 3339), `emoji`, `httpstatus`, `language` (ISO 639-1, with its `datetime` (RFC 3339), `emoji`, `httpmethod`, `httpstatus`, `language` (ISO 639-1,
639-2/T code), `mac`, `mimetype`, `objectid`, `territory` (ISO 3166-1), `timezone` with its 639-2/T code), `mac`, `mimetype`, `objectid`, `port`, `protocol`,
(IANA), `useragent` and `uuid` (v4). Many carry sub-fields — `misc.currency.symbol`, `territory` (ISO 3166-1), `timezone` (IANA), `useragent` and `uuid` (v4). Many carry sub-fields — `misc.currency.symbol`,
`misc.territory.alpha2`, `misc.httpstatus.code` — which `--list` shows. `car`, `misc.territory.alpha2`, `misc.httpstatus.code` — which `--list` shows. `car`,
`currency`, `httpstatus`, `language`, `mimetype`, `territory`, `timezone` and `currency`, `httpstatus`, `language`, `mimetype`, `territory`, `timezone` and
`useragent` are [tables](#table), so `misc.territory[SE].capital` and `httpmethod`, `port`, `protocol` and `useragent` are [tables](#table), so
`misc.territory[SE].capital` and
`misc.currency[Euro].symbol` select a row; `car` and `useragent` carry no key or `misc.currency[Euro].symbol` select a row; `car` and `useragent` carry no key or
name, so they are drawn from rather than selected in. name, so they are drawn from rather than selected in. `misc.httpmethod`,
`misc.protocol` and `misc.port` are IANA's registries: a method carries whether it
is `safe` and `idempotent`, a protocol its `number`, and `misc.port` renders the
number a port field holds, with the service `name` beside it.
[`DATA-LICENSES.md`](DATA-LICENSES.md) names each table's source and licence. [`DATA-LICENSES.md`](DATA-LICENSES.md) names each table's source and licence.
`misc.timezone` is every zone tzdb gives a shipped territory, from one apiece for most `misc.timezone` is every zone tzdb gives a shipped territory, from one apiece for most
@@ -1296,11 +1300,14 @@ a copy of the surname file:
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/currency.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/currency.py
docker compose run --rm --user "$(id -u):$(id -g)" -e TRAFIKVERKET_API_KEY data-import data-import/geo-se.py docker compose run --rm --user "$(id -u):$(id -g)" -e TRAFIKVERKET_API_KEY data-import data-import/geo-se.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/geo-us.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/geo-us.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpmethod.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpstatus.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpstatus.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/language.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/language.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/mimetype.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/mimetype.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-se.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-se.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-us.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-us.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/port.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/protocol.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/territory.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/territory.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/timezone.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/timezone.py
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/useragent.py docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/useragent.py
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""Rebuild data/misc/httpmethod.tsv from the IANA HTTP Method Registry.
data-import/httpmethod.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
A method whose name is not letters and hyphens does not ship, which drops the `*` the
registry holds to stop anyone registering it.
"""
import argparse
import csv
import io
import re
from pathlib import Path
import source
import tsv
SOURCE = "https://www.iana.org/assignments/http-methods/methods.csv"
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "httpmethod.tsv"
CACHE = Path(__file__).resolve().parent / "cache"
COLUMNS = ["idempotent", "method", "safe"]
def rows(text):
for r in csv.DictReader(io.StringIO(text)):
method, safe, idempotent = r["Method Name"].strip(), r["Safe"].strip(), r["Idempotent"].strip()
if re.match(r"^[A-Za-z][A-Za-z-]*$", method) and safe and idempotent:
yield {"idempotent": idempotent, "method": method, "safe": safe}
def main():
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
p.add_argument("--cache", default=str(CACHE))
p.add_argument("--source", default=SOURCE)
p.add_argument("--out", default=str(OUT))
a = p.parse_args()
table = sorted(rows(source.fetch(a.source, a.cache, "http-methods.csv").decode("utf-8")), key=lambda r: r["method"])
tsv.write(a.out, COLUMNS, table)
if __name__ == "__main__":
main()
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env python3
"""Rebuild data/misc/port.tsv from the IANA Service Name and Transport Protocol Port Number Registry.
data-import/port.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
What ships is the TCP assignments in use: a row needs a service name, a port number and
a description the registry has filled in. A port the registry lists more than once keeps
the first service, so a number selects one row.
"""
import argparse
import csv
import io
from pathlib import Path
import source
import tsv
SOURCE = "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv"
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "port.tsv"
CACHE = Path(__file__).resolve().parent / "cache"
COLUMNS = ["name", "number"]
UNUSED = ("Reserved", "Unassigned", "IANA assigned this well-formed service name to replace an unregistered or squatted port.")
def rows(text):
seen = set()
for r in csv.DictReader(io.StringIO(text)):
name, number = r["Service Name"].strip(), r["Port Number"].strip()
described = (r["Description"] or "").strip()
if r["Transport Protocol"].strip() != "tcp" or not name or not number.isdigit():
continue
if not described or described in UNUSED or number in seen:
continue
seen.add(number)
yield {"name": name, "number": number}
def main():
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
p.add_argument("--cache", default=str(CACHE))
p.add_argument("--source", default=SOURCE)
p.add_argument("--out", default=str(OUT))
a = p.parse_args()
table = sorted(rows(source.fetch(a.source, a.cache, "service-names-port-numbers.csv").decode("utf-8")), key=lambda r: int(r["number"]))
tsv.write(a.out, COLUMNS, table)
if __name__ == "__main__":
main()
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env python3
"""Rebuild data/misc/protocol.tsv from the IANA Protocol Numbers registry.
data-import/protocol.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
A number the registry leaves unassigned, reserves or marks deprecated does not ship.
Where it names no protocol beside the keyword, the keyword is the name.
"""
import argparse
import csv
import io
from pathlib import Path
import source
import tsv
SOURCE = "https://www.iana.org/assignments/protocol-numbers/protocol-numbers-1.csv"
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "protocol.tsv"
CACHE = Path(__file__).resolve().parent / "cache"
COLUMNS = ["keyword", "name", "number"]
SKIP = ("Unassigned", "Reserved", "deprecated")
def rows(text):
for r in csv.DictReader(io.StringIO(text)):
number, keyword = r["Decimal"].strip(), r["Keyword"].strip()
if not number.isdigit() or not keyword or any(s in keyword for s in SKIP):
continue
yield {"keyword": keyword, "name": " ".join(r["Protocol"].split()) or keyword, "number": number}
def main():
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
p.add_argument("--cache", default=str(CACHE))
p.add_argument("--source", default=SOURCE)
p.add_argument("--out", default=str(OUT))
a = p.parse_args()
table = sorted(rows(source.fetch(a.source, a.cache, "protocol-numbers-1.csv").decode("utf-8")), key=lambda r: int(r["number"]))
tsv.write(a.out, COLUMNS, table)
if __name__ == "__main__":
main()
+1
View File
@@ -0,0 +1 @@
{ "format": "{method}", "rows": "httpmethod.tsv", "key": "method" }
+41
View File
@@ -0,0 +1,41 @@
idempotent method safe
yes ACL no
yes BASELINE-CONTROL no
yes BIND no
yes CHECKIN no
yes CHECKOUT no
no CONNECT no
yes COPY no
yes DELETE no
yes GET yes
yes HEAD yes
yes LABEL no
yes LINK no
no LOCK no
yes MERGE no
yes MKACTIVITY no
yes MKCALENDAR no
yes MKCOL no
yes MKREDIRECTREF no
yes MKWORKSPACE no
yes MOVE no
yes OPTIONS yes
yes ORDERPATCH no
no PATCH no
no POST no
yes PRI yes
yes PROPFIND yes
yes PROPPATCH no
yes PUT no
yes QUERY yes
yes REBIND no
yes REPORT yes
yes SEARCH yes
yes TRACE yes
yes UNBIND no
yes UNCHECKOUT no
yes UNLINK no
yes UNLOCK no
yes UPDATE no
yes UPDATEREDIRECTREF no
yes VERSION-CONTROL no
1 idempotent method safe
2 yes ACL no
3 yes BASELINE-CONTROL no
4 yes BIND no
5 yes CHECKIN no
6 yes CHECKOUT no
7 no CONNECT no
8 yes COPY no
9 yes DELETE no
10 yes GET yes
11 yes HEAD yes
12 yes LABEL no
13 yes LINK no
14 no LOCK no
15 yes MERGE no
16 yes MKACTIVITY no
17 yes MKCALENDAR no
18 yes MKCOL no
19 yes MKREDIRECTREF no
20 yes MKWORKSPACE no
21 yes MOVE no
22 yes OPTIONS yes
23 yes ORDERPATCH no
24 no PATCH no
25 no POST no
26 yes PRI yes
27 yes PROPFIND yes
28 yes PROPPATCH no
29 yes PUT no
30 yes QUERY yes
31 yes REBIND no
32 yes REPORT yes
33 yes SEARCH yes
34 yes TRACE yes
35 yes UNBIND no
36 yes UNCHECKOUT no
37 yes UNLINK no
38 yes UNLOCK no
39 yes UPDATE no
40 yes UPDATEREDIRECTREF no
41 yes VERSION-CONTROL no
+1
View File
@@ -0,0 +1 @@
{ "format": "{number}", "rows": "port.tsv", "key": "number" }
+5811
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
{ "format": "{keyword}", "rows": "protocol.tsv", "key": "keyword" }
+140
View File
@@ -0,0 +1,140 @@
keyword name number
HOPOPT IPv6 Hop-by-Hop Option 0
ICMP Internet Control Message 1
IGMP Internet Group Management 2
GGP Gateway-to-Gateway 3
IPv4 IPv4 encapsulation 4
ST Stream 5
TCP Transmission Control 6
CBT CBT 7
EGP Exterior Gateway Protocol 8
IGP any private interior gateway (used by Cisco for their IGRP) 9
BBN-RCC-MON BBN RCC Monitoring 10
NVP-II Network Voice Protocol 11
PUP PUP 12
EMCON EMCON 14
XNET Cross Net Debugger 15
CHAOS Chaos 16
UDP User Datagram 17
MUX Multiplexing 18
DCN-MEAS DCN Measurement Subsystems 19
HMP Host Monitoring 20
PRM Packet Radio Measurement 21
XNS-IDP XEROX NS IDP 22
TRUNK-1 Trunk-1 23
TRUNK-2 Trunk-2 24
LEAF-1 Leaf-1 25
LEAF-2 Leaf-2 26
RDP Reliable Data Protocol 27
IRTP Internet Reliable Transaction 28
ISO-TP4 ISO Transport Protocol Class 4 29
NETBLT Bulk Data Transfer Protocol 30
MFE-NSP MFE Network Services Protocol 31
MERIT-INP MERIT Internodal Protocol 32
DCCP Datagram Congestion Control Protocol 33
3PC Third Party Connect Protocol 34
IDPR Inter-Domain Policy Routing Protocol 35
XTP XTP 36
DDP Datagram Delivery Protocol 37
IDPR-CMTP IDPR Control Message Transport Proto 38
TP++ TP++ Transport Protocol 39
IL IL Transport Protocol 40
IPv6 IPv6 encapsulation 41
SDRP Source Demand Routing Protocol 42
IPv6-Route Routing Header for IPv6 43
IPv6-Frag Fragment Header for IPv6 44
IDRP Inter-Domain Routing Protocol 45
RSVP Reservation Protocol 46
GRE Generic Routing Encapsulation 47
DSR Dynamic Source Routing Protocol 48
BNA BNA 49
ESP Encap Security Payload 50
AH Authentication Header 51
I-NLSP Integrated Net Layer Security TUBA 52
NARP NBMA Address Resolution Protocol 54
Min-IPv4 Minimal IPv4 Encapsulation 55
TLSP Transport Layer Security Protocol using Kryptonet key management 56
SKIP SKIP 57
IPv6-ICMP ICMP for IPv6 58
IPv6-NoNxt No Next Header for IPv6 59
IPv6-Opts Destination Options for IPv6 60
CFTP CFTP 62
SAT-EXPAK SATNET and Backroom EXPAK 64
KRYPTOLAN Kryptolan 65
RVD MIT Remote Virtual Disk Protocol 66
IPPC Internet Pluribus Packet Core 67
SAT-MON SATNET Monitoring 69
VISA VISA Protocol 70
IPCV Internet Packet Core Utility 71
CPNX Computer Protocol Network Executive 72
CPHB Computer Protocol Heart Beat 73
WSN Wang Span Network 74
PVP Packet Video Protocol 75
BR-SAT-MON Backroom SATNET Monitoring 76
SUN-ND SUN ND PROTOCOL-Temporary 77
WB-MON WIDEBAND Monitoring 78
WB-EXPAK WIDEBAND EXPAK 79
ISO-IP ISO Internet Protocol 80
VMTP VMTP 81
SECURE-VMTP SECURE-VMTP 82
VINES VINES 83
IPTM Internet Protocol Traffic Manager 84
NSFNET-IGP NSFNET-IGP 85
DGP Dissimilar Gateway Protocol 86
TCF TCF 87
EIGRP EIGRP 88
OSPFIGP OSPFIGP 89
Sprite-RPC Sprite RPC Protocol 90
LARP Locus Address Resolution Protocol 91
MTP Multicast Transport Protocol 92
AX.25 AX.25 Frames 93
IPIP IP-within-IP Encapsulation Protocol 94
SCC-SP Semaphore Communications Sec. Pro. 96
ETHERIP Ethernet-within-IP Encapsulation 97
ENCAP Encapsulation Header 98
GMTP GMTP 100
IFMP Ipsilon Flow Management Protocol 101
PNNI PNNI over IP 102
PIM Protocol Independent Multicast 103
ARIS ARIS 104
SCPS SCPS 105
QNX QNX 106
A/N Active Networks 107
IPComp IP Payload Compression Protocol 108
SNP Sitara Networks Protocol 109
Compaq-Peer Compaq Peer Protocol 110
IPX-in-IP IPX in IP 111
VRRP Virtual Router Redundancy Protocol 112
PGM PGM Reliable Transport Protocol 113
L2TP Layer Two Tunneling Protocol 115
DDX D-II Data Exchange (DDX) 116
IATP Interactive Agent Transfer Protocol 117
STP Schedule Transfer Protocol 118
SRP SpectraLink Radio Protocol 119
UTI UTI 120
SMP Simple Message Protocol 121
PTP Performance Transparency Protocol 123
ISIS over IPv4 ISIS over IPv4 124
FIRE FIRE 125
CRTP Combat Radio Transport Protocol 126
CRUDP Combat Radio User Datagram 127
SSCOPMCE SSCOPMCE 128
IPLT IPLT 129
SPS Secure Packet Shield 130
PIPE Private IP Encapsulation within IP 131
SCTP Stream Control Transmission Protocol 132
FC Fibre Channel 133
RSVP-E2E-IGNORE RSVP-E2E-IGNORE 134
Mobility Header Mobility Header 135
UDPLite UDPLite 136
MPLS-in-IP MPLS-in-IP 137
manet MANET Protocols 138
HIP Host Identity Protocol 139
Shim6 Shim6 Protocol 140
WESP Wrapped Encapsulating Security Payload 141
ROHC Robust Header Compression 142
Ethernet Ethernet 143
AGGFRAG AGGFRAG encapsulation payload for ESP 144
NSH Network Service Header 145
Homa Homa 146
BIT-EMU Bit-stream Emulation 147
1 keyword name number
2 HOPOPT IPv6 Hop-by-Hop Option 0
3 ICMP Internet Control Message 1
4 IGMP Internet Group Management 2
5 GGP Gateway-to-Gateway 3
6 IPv4 IPv4 encapsulation 4
7 ST Stream 5
8 TCP Transmission Control 6
9 CBT CBT 7
10 EGP Exterior Gateway Protocol 8
11 IGP any private interior gateway (used by Cisco for their IGRP) 9
12 BBN-RCC-MON BBN RCC Monitoring 10
13 NVP-II Network Voice Protocol 11
14 PUP PUP 12
15 EMCON EMCON 14
16 XNET Cross Net Debugger 15
17 CHAOS Chaos 16
18 UDP User Datagram 17
19 MUX Multiplexing 18
20 DCN-MEAS DCN Measurement Subsystems 19
21 HMP Host Monitoring 20
22 PRM Packet Radio Measurement 21
23 XNS-IDP XEROX NS IDP 22
24 TRUNK-1 Trunk-1 23
25 TRUNK-2 Trunk-2 24
26 LEAF-1 Leaf-1 25
27 LEAF-2 Leaf-2 26
28 RDP Reliable Data Protocol 27
29 IRTP Internet Reliable Transaction 28
30 ISO-TP4 ISO Transport Protocol Class 4 29
31 NETBLT Bulk Data Transfer Protocol 30
32 MFE-NSP MFE Network Services Protocol 31
33 MERIT-INP MERIT Internodal Protocol 32
34 DCCP Datagram Congestion Control Protocol 33
35 3PC Third Party Connect Protocol 34
36 IDPR Inter-Domain Policy Routing Protocol 35
37 XTP XTP 36
38 DDP Datagram Delivery Protocol 37
39 IDPR-CMTP IDPR Control Message Transport Proto 38
40 TP++ TP++ Transport Protocol 39
41 IL IL Transport Protocol 40
42 IPv6 IPv6 encapsulation 41
43 SDRP Source Demand Routing Protocol 42
44 IPv6-Route Routing Header for IPv6 43
45 IPv6-Frag Fragment Header for IPv6 44
46 IDRP Inter-Domain Routing Protocol 45
47 RSVP Reservation Protocol 46
48 GRE Generic Routing Encapsulation 47
49 DSR Dynamic Source Routing Protocol 48
50 BNA BNA 49
51 ESP Encap Security Payload 50
52 AH Authentication Header 51
53 I-NLSP Integrated Net Layer Security TUBA 52
54 NARP NBMA Address Resolution Protocol 54
55 Min-IPv4 Minimal IPv4 Encapsulation 55
56 TLSP Transport Layer Security Protocol using Kryptonet key management 56
57 SKIP SKIP 57
58 IPv6-ICMP ICMP for IPv6 58
59 IPv6-NoNxt No Next Header for IPv6 59
60 IPv6-Opts Destination Options for IPv6 60
61 CFTP CFTP 62
62 SAT-EXPAK SATNET and Backroom EXPAK 64
63 KRYPTOLAN Kryptolan 65
64 RVD MIT Remote Virtual Disk Protocol 66
65 IPPC Internet Pluribus Packet Core 67
66 SAT-MON SATNET Monitoring 69
67 VISA VISA Protocol 70
68 IPCV Internet Packet Core Utility 71
69 CPNX Computer Protocol Network Executive 72
70 CPHB Computer Protocol Heart Beat 73
71 WSN Wang Span Network 74
72 PVP Packet Video Protocol 75
73 BR-SAT-MON Backroom SATNET Monitoring 76
74 SUN-ND SUN ND PROTOCOL-Temporary 77
75 WB-MON WIDEBAND Monitoring 78
76 WB-EXPAK WIDEBAND EXPAK 79
77 ISO-IP ISO Internet Protocol 80
78 VMTP VMTP 81
79 SECURE-VMTP SECURE-VMTP 82
80 VINES VINES 83
81 IPTM Internet Protocol Traffic Manager 84
82 NSFNET-IGP NSFNET-IGP 85
83 DGP Dissimilar Gateway Protocol 86
84 TCF TCF 87
85 EIGRP EIGRP 88
86 OSPFIGP OSPFIGP 89
87 Sprite-RPC Sprite RPC Protocol 90
88 LARP Locus Address Resolution Protocol 91
89 MTP Multicast Transport Protocol 92
90 AX.25 AX.25 Frames 93
91 IPIP IP-within-IP Encapsulation Protocol 94
92 SCC-SP Semaphore Communications Sec. Pro. 96
93 ETHERIP Ethernet-within-IP Encapsulation 97
94 ENCAP Encapsulation Header 98
95 GMTP GMTP 100
96 IFMP Ipsilon Flow Management Protocol 101
97 PNNI PNNI over IP 102
98 PIM Protocol Independent Multicast 103
99 ARIS ARIS 104
100 SCPS SCPS 105
101 QNX QNX 106
102 A/N Active Networks 107
103 IPComp IP Payload Compression Protocol 108
104 SNP Sitara Networks Protocol 109
105 Compaq-Peer Compaq Peer Protocol 110
106 IPX-in-IP IPX in IP 111
107 VRRP Virtual Router Redundancy Protocol 112
108 PGM PGM Reliable Transport Protocol 113
109 L2TP Layer Two Tunneling Protocol 115
110 DDX D-II Data Exchange (DDX) 116
111 IATP Interactive Agent Transfer Protocol 117
112 STP Schedule Transfer Protocol 118
113 SRP SpectraLink Radio Protocol 119
114 UTI UTI 120
115 SMP Simple Message Protocol 121
116 PTP Performance Transparency Protocol 123
117 ISIS over IPv4 ISIS over IPv4 124
118 FIRE FIRE 125
119 CRTP Combat Radio Transport Protocol 126
120 CRUDP Combat Radio User Datagram 127
121 SSCOPMCE SSCOPMCE 128
122 IPLT IPLT 129
123 SPS Secure Packet Shield 130
124 PIPE Private IP Encapsulation within IP 131
125 SCTP Stream Control Transmission Protocol 132
126 FC Fibre Channel 133
127 RSVP-E2E-IGNORE RSVP-E2E-IGNORE 134
128 Mobility Header Mobility Header 135
129 UDPLite UDPLite 136
130 MPLS-in-IP MPLS-in-IP 137
131 manet MANET Protocols 138
132 HIP Host Identity Protocol 139
133 Shim6 Shim6 Protocol 140
134 WESP Wrapped Encapsulating Security Payload 141
135 ROHC Robust Header Compression 142
136 Ethernet Ethernet 143
137 AGGFRAG AGGFRAG encapsulation payload for ESP 144
138 NSH Network Service Header 145
139 Homa Homa 146
140 BIT-EMU Bit-stream Emulation 147
+3 -2
View File
@@ -9,7 +9,7 @@ Ordered as the releases that ship it.
Shape: T = table, t = template, c = choice. Read every factual list from a register Shape: T = table, t = template, c = choice. Read every factual list from a register
by a `data-import/` script, as README goal 10 asks. by a `data-import/` script, as README goal 10 asks.
- Add the remaining `misc` tables and templates from the table below. - Add the remaining `misc` tables and templates, one row of the table below per chunk.
- Read `misc.emoji` from the Unicode `emoji-test.txt` register, and `misc.car` from an - Read `misc.emoji` from the Unicode `emoji-test.txt` register, and `misc.car` from an
international make and model source; vPIC and Mobility Sweden are national, so they international make and model source; vPIC and Mobility Sweden are national, so they
build `en_US.car` and `sv_SE.car`. build `en_US.car` and `sv_SE.car`.
@@ -46,7 +46,8 @@ by a `data-import/` script, as README goal 10 asks.
| Category | Shape | Source | Licence | | Category | Shape | Source | Licence |
|---|---|---|---| |---|---|---|---|
| `httpmethod`, `port`, `tld`, `protocol`, `loglevel` | T/c | IANA | CC0 | | `tld` | T | IANA root zone | CC0 |
| `loglevel` | c | RFC 5424 severities | facts |
| `ip` v4 documentation ranges, private, CIDR; `ipv6` `2001:db8::/32`; `mac` locally administered | t | RFC 5737, 1918, 9637 | facts | | `ip` v4 documentation ranges, private, CIDR; `ipv6` `2001:db8::/32`; `mac` locally administered | t | RFC 5737, 1918, 9637 | facts |
| `creditcard` per network: IIN, length, CVV, expiry | T+t | network rules, `{luhn()}` | facts | | `creditcard` per network: IIN, length, CVV, expiry | T+t | network rules, `{luhn()}` | facts |
| `bic`, `isin`, `cusip` | t | structure rules | facts | | `bic`, `isin`, `cusip` | t | structure rules | facts |