Add script for generating martians table from IANA IP IPv[46] special registry
This commit is contained in:
parent
a7c8d5e369
commit
495af218be
38
utils/openbsd/pf-martians/iana-ip-special-registry-parser.py
Normal file
38
utils/openbsd/pf-martians/iana-ip-special-registry-parser.py
Normal file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python3
|
||||
import csv
|
||||
import re
|
||||
import sys
|
||||
|
||||
REGEX_FOOTNOTES = re.compile(r" \[\d+\]")
|
||||
REGEX_WHITESPACES = re.compile(r"\s+")
|
||||
|
||||
def parse_iana_csv(csvfile):
|
||||
reader = csv.DictReader(csvfile)
|
||||
for row in reader:
|
||||
fmt = ""
|
||||
reachable = row["Globally Reachable"]
|
||||
if reachable == "":
|
||||
continue
|
||||
if "False" in reachable:
|
||||
fmt = "{}"
|
||||
elif "True" in reachable:
|
||||
fmt = "!{}"
|
||||
elif "N/A" in reachable:
|
||||
fmt = "#{}"
|
||||
else:
|
||||
fmt = "#[" + reachable + "]: {}"
|
||||
blocks = row["Address Block"]
|
||||
blocks = REGEX_FOOTNOTES.sub("", blocks)
|
||||
blocks = REGEX_WHITESPACES.sub("", blocks)
|
||||
for block in blocks.split(","):
|
||||
print(fmt.format(block))
|
||||
|
||||
if __name__ == "__main__":
|
||||
def usage():
|
||||
print("Usage: {}".format(sys.argv[1]), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
if len(sys.argv) != 1:
|
||||
usage()
|
||||
|
||||
parse_iana_csv(sys.stdin)
|
25
utils/openbsd/pf-martians/iana-ipv4-special-registry-1.csv
Normal file
25
utils/openbsd/pf-martians/iana-ipv4-special-registry-1.csv
Normal file
@ -0,0 +1,25 @@
|
||||
Address Block,Name,RFC,Allocation Date,Termination Date,Source,Destination,Forwardable,Globally Reachable,Reserved-by-Protocol
|
||||
0.0.0.0/8,"""This host on this network""","[RFC1122], Section 3.2.1.3",1981-09,N/A,True,False,False,False,True
|
||||
10.0.0.0/8,Private-Use,[RFC1918],1996-02,N/A,True,True,True,False,False
|
||||
100.64.0.0/10,Shared Address Space,[RFC6598],2012-04,N/A,True,True,True,False,False
|
||||
127.0.0.0/8,Loopback,"[RFC1122], Section 3.2.1.3",1981-09,N/A,False [1],False [1],False [1],False [1],True
|
||||
169.254.0.0/16,Link Local,[RFC3927],2005-05,N/A,True,True,False,False,True
|
||||
172.16.0.0/12,Private-Use,[RFC1918],1996-02,N/A,True,True,True,False,False
|
||||
192.0.0.0/24 [2],IETF Protocol Assignments,"[RFC6890], Section 2.1",2010-01,N/A,False,False,False,False,False
|
||||
192.0.0.0/29,IPv4 Service Continuity Prefix,[RFC7335],2011-06,N/A,True,True,True,False,False
|
||||
192.0.0.8/32,IPv4 dummy address,[RFC7600],2015-03,N/A,True,False,False,False,False
|
||||
192.0.0.9/32,Port Control Protocol Anycast,[RFC7723],2015-10,N/A,True,True,True,True,False
|
||||
192.0.0.10/32,Traversal Using Relays around NAT Anycast,[RFC8155],2017-02,N/A,True,True,True,True,False
|
||||
"192.0.0.170/32, 192.0.0.171/32",NAT64/DNS64 Discovery,"[RFC-cheshire-sudn-ipv4only-dot-arpa-17][RFC7050], Section 2.2",2013-02,N/A,False,False,False,False,True
|
||||
192.0.2.0/24,Documentation (TEST-NET-1),[RFC5737],2010-01,N/A,False,False,False,False,False
|
||||
192.31.196.0/24,AS112-v4,[RFC7535],2014-12,N/A,True,True,True,True,False
|
||||
192.52.193.0/24,AMT,[RFC7450],2014-12,N/A,True,True,True,True,False
|
||||
192.88.99.0/24,Deprecated (6to4 Relay Anycast),[RFC7526],2001-06,2015-03,,,,,
|
||||
192.168.0.0/16,Private-Use,[RFC1918],1996-02,N/A,True,True,True,False,False
|
||||
192.175.48.0/24,Direct Delegation AS112 Service,[RFC7534],1996-01,N/A,True,True,True,True,False
|
||||
198.18.0.0/15,Benchmarking,[RFC2544],1999-03,N/A,True,True,True,False,False
|
||||
198.51.100.0/24,Documentation (TEST-NET-2),[RFC5737],2010-01,N/A,False,False,False,False,False
|
||||
203.0.113.0/24,Documentation (TEST-NET-3),[RFC5737],2010-01,N/A,False,False,False,False,False
|
||||
240.0.0.0/4,Reserved,"[RFC1112], Section 4",1989-08,N/A,False,False,False,False,True
|
||||
255.255.255.255/32,Limited Broadcast,"[RFC8190]
|
||||
[RFC919], Section 7",1984-10,N/A,False,True,False,False,True
|
|
23
utils/openbsd/pf-martians/iana-ipv6-special-registry-1.csv
Normal file
23
utils/openbsd/pf-martians/iana-ipv6-special-registry-1.csv
Normal file
@ -0,0 +1,23 @@
|
||||
Address Block,Name,RFC,Allocation Date,Termination Date,Source,Destination,Forwardable,Globally Reachable,Reserved-by-Protocol
|
||||
::1/128,Loopback Address,[RFC4291],2006-02,N/A,False,False,False,False,True
|
||||
::/128,Unspecified Address,[RFC4291],2006-02,N/A,True,False,False,False,True
|
||||
::ffff:0:0/96,IPv4-mapped Address,[RFC4291],2006-02,N/A,False,False,False,False,True
|
||||
64:ff9b::/96,IPv4-IPv6 Translat.,[RFC6052],2010-10,N/A,True,True,True,True,False
|
||||
64:ff9b:1::/48,IPv4-IPv6 Translat.,[RFC8215],2017-06,N/A,True,True,True,False,False
|
||||
100::/64,Discard-Only Address Block,[RFC6666],2012-06,N/A,True,True,True,False,False
|
||||
2001::/23,IETF Protocol Assignments,[RFC2928],2000-09,N/A,False [1],False [1],False [1],False [1],False
|
||||
2001::/32,TEREDO,"[RFC4380]
|
||||
[RFC8190]",2006-01,N/A,True,True,True,N/A [2],False
|
||||
2001:1::1/128,Port Control Protocol Anycast,[RFC7723],2015-10,N/A,True,True,True,True,False
|
||||
2001:1::2/128,Traversal Using Relays around NAT Anycast,[RFC8155],2017-02,N/A,True,True,True,True,False
|
||||
2001:2::/48,Benchmarking,[RFC5180][RFC Errata 1752],2008-04,N/A,True,True,True,False,False
|
||||
2001:3::/32,AMT,[RFC7450],2014-12,N/A,True,True,True,True,False
|
||||
2001:4:112::/48,AS112-v6,[RFC7535],2014-12,N/A,True,True,True,True,False
|
||||
2001:10::/28,Deprecated (previously ORCHID),[RFC4843],2007-03,2014-03,,,,,
|
||||
2001:20::/28,ORCHIDv2,[RFC7343],2014-07,N/A,True,True,True,True,False
|
||||
2001:db8::/32,Documentation,[RFC3849],2004-07,N/A,False,False,False,False,False
|
||||
2002::/16 [3],6to4,[RFC3056],2001-02,N/A,True,True,True,N/A [3],False
|
||||
2620:4f:8000::/48,Direct Delegation AS112 Service,[RFC7534],2011-05,N/A,True,True,True,True,False
|
||||
fc00::/7,Unique-Local,"[RFC4193]
|
||||
[RFC8190]",2005-10,N/A,True,True,True,False [4],False
|
||||
fe80::/10,Link-Local Unicast,[RFC4291],2006-02,N/A,True,True,False,False,True
|
|
Loading…
Reference in New Issue
Block a user