Merge pull request #189 from JakubOnderka/consolidate-networks

chg: [cidr] Consolidate CIDR networks
pull/190/head
Alexandre Dulaunoy 2021-06-14 10:56:36 +02:00 committed by GitHub
commit 51095cef8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 8769 additions and 66899 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -15,24 +15,14 @@
"104.155.192.0/19",
"104.155.224.0/20",
"104.196.0.0/18",
"104.196.128.0/18",
"104.196.192.0/19",
"104.196.224.0/19",
"104.196.128.0/17",
"104.196.65.0/24",
"104.196.66.0/23",
"104.196.68.0/22",
"104.196.96.0/19",
"104.197.0.0/16",
"104.198.0.0/20",
"104.198.112.0/20",
"104.198.128.0/17",
"104.198.16.0/20",
"104.198.32.0/19",
"104.198.64.0/20",
"104.198.80.0/20",
"104.198.96.0/20",
"104.198.0.0/16",
"104.199.0.0/18",
"104.199.112.0/20",
"104.199.128.0/18",
"104.199.192.0/19",
"104.199.224.0/20",
@ -43,44 +33,32 @@
"104.199.68.0/22",
"104.199.72.0/21",
"104.199.80.0/20",
"104.199.96.0/20",
"107.167.160.0/20",
"107.167.176.0/20",
"104.199.96.0/19",
"107.167.160.0/19",
"107.178.208.0/20",
"107.178.240.0/20",
"108.59.80.0/21",
"108.59.88.0/21",
"130.211.112.0/20",
"130.211.128.0/18",
"108.59.80.0/20",
"130.211.128.0/17",
"130.211.16.0/20",
"130.211.192.0/19",
"130.211.224.0/20",
"130.211.240.0/20",
"130.211.32.0/20",
"130.211.32.0/19",
"130.211.4.0/22",
"130.211.48.0/20",
"130.211.64.0/19",
"130.211.64.0/18",
"130.211.8.0/21",
"130.211.96.0/20",
"146.148.112.0/20",
"146.148.16.0/20",
"146.148.2.0/23",
"146.148.32.0/19",
"146.148.4.0/22",
"146.148.64.0/19",
"146.148.64.0/18",
"146.148.8.0/21",
"146.148.96.0/20",
"162.216.148.0/22",
"162.222.176.0/21",
"173.255.112.0/21",
"173.255.120.0/21",
"173.255.112.0/20",
"192.158.28.0/22",
"199.192.115.0/24",
"199.223.232.0/22",
"199.223.236.0/24",
"23.236.48.0/20",
"23.251.128.0/20",
"23.251.144.0/20",
"23.251.128.0/19",
"2600:1901:1:1000::/52",
"2600:1901:1:2000::/51",
"2600:1901:1:4000::/50",
@ -92,62 +70,33 @@
"34.101.20.0/22",
"34.101.24.0/22",
"34.101.64.0/18",
"34.102.0.0/17",
"34.102.128.0/17",
"34.104.104.0/23",
"34.104.106.0/23",
"34.104.108.0/23",
"34.104.110.0/23",
"34.102.0.0/16",
"34.104.112.0/23",
"34.104.116.0/22",
"34.104.120.0/23",
"34.104.122.0/23",
"34.104.124.0/23",
"34.104.126.0/23",
"34.104.120.0/21",
"34.104.128.0/17",
"34.104.27.0/24",
"34.104.49.0/24",
"34.104.52.0/24",
"34.104.64.0/21",
"34.104.72.0/22",
"34.104.76.0/22",
"34.104.80.0/21",
"34.104.88.0/21",
"34.104.96.0/21",
"34.105.0.0/17",
"34.105.128.0/17",
"34.106.0.0/16",
"34.107.0.0/17",
"34.107.128.0/17",
"34.104.64.0/19",
"34.104.96.0/20",
"34.105.0.0/16",
"34.106.0.0/15",
"34.116.0.0/21",
"34.116.128.0/17",
"34.116.64.0/18",
"34.117.0.0/16",
"34.118.0.0/17",
"34.120.0.0/16",
"34.121.0.0/16",
"34.122.0.0/15",
"34.124.0.0/21",
"34.124.12.0/22",
"34.120.0.0/14",
"34.124.0.0/19",
"34.124.128.0/17",
"34.124.16.0/21",
"34.124.24.0/21",
"34.124.32.0/21",
"34.124.40.0/23",
"34.124.42.0/23",
"34.124.44.0/23",
"34.124.46.0/23",
"34.124.32.0/20",
"34.124.48.0/23",
"34.124.52.0/22",
"34.124.56.0/23",
"34.124.58.0/23",
"34.124.60.0/23",
"34.124.62.0/23",
"34.124.8.0/22",
"34.124.56.0/21",
"34.125.0.0/16",
"34.126.128.0/18",
"34.126.192.0/20",
"34.126.208.0/20",
"34.126.192.0/19",
"34.126.64.0/18",
"34.127.0.0/17",
"34.127.177.0/24",
@ -155,121 +104,45 @@
"34.129.0.0/16",
"34.131.0.0/16",
"34.132.0.0/14",
"34.136.0.0/16",
"34.137.0.0/16",
"34.138.0.0/15",
"34.140.0.0/16",
"34.141.0.0/17",
"34.141.128.0/17",
"34.136.0.0/14",
"34.140.0.0/15",
"34.142.0.0/17",
"34.145.0.0/17",
"34.145.128.0/17",
"34.146.0.0/16",
"34.147.0.0/17",
"34.147.128.0/17",
"34.148.0.0/16",
"34.149.0.0/16",
"34.150.0.0/17",
"34.150.128.0/17",
"34.151.0.0/18",
"34.151.128.0/18",
"34.151.192.0/18",
"34.151.64.0/18",
"34.145.0.0/16",
"34.146.0.0/15",
"34.148.0.0/14",
"34.152.0.0/18",
"34.64.128.0/22",
"34.64.132.0/22",
"34.64.136.0/21",
"34.64.144.0/20",
"34.64.160.0/19",
"34.64.192.0/18",
"34.64.64.0/22",
"34.64.68.0/22",
"34.64.72.0/21",
"34.64.80.0/20",
"34.64.96.0/19",
"34.64.128.0/17",
"34.64.64.0/18",
"34.65.0.0/16",
"34.66.0.0/15",
"34.68.0.0/14",
"34.72.0.0/16",
"34.73.0.0/16",
"34.74.0.0/15",
"34.76.0.0/14",
"34.80.0.0/15",
"34.82.0.0/15",
"34.84.0.0/16",
"34.85.0.0/17",
"34.85.128.0/17",
"34.86.0.0/16",
"34.87.0.0/17",
"34.87.128.0/18",
"34.87.192.0/18",
"34.88.0.0/16",
"34.89.0.0/17",
"34.89.128.0/17",
"34.90.0.0/15",
"34.92.0.0/16",
"34.93.0.0/16",
"34.94.0.0/16",
"34.95.0.0/18",
"34.95.128.0/17",
"34.95.64.0/18",
"34.72.0.0/13",
"34.80.0.0/12",
"34.96.128.0/17",
"34.96.64.0/18",
"34.97.0.0/16",
"34.98.128.0/21",
"34.98.64.0/18",
"35.184.0.0/16",
"35.185.0.0/17",
"35.185.128.0/19",
"35.185.160.0/20",
"35.185.176.0/20",
"35.185.192.0/18",
"35.186.0.0/17",
"35.186.128.0/20",
"35.186.144.0/20",
"35.186.160.0/19",
"35.186.192.0/18",
"35.184.0.0/15",
"35.186.0.0/16",
"35.187.0.0/17",
"35.187.144.0/20",
"35.187.160.0/19",
"35.187.192.0/19",
"35.187.224.0/19",
"35.188.0.0/17",
"35.188.128.0/18",
"35.188.192.0/19",
"35.188.224.0/19",
"35.189.0.0/18",
"35.189.128.0/19",
"35.189.160.0/19",
"35.189.192.0/18",
"35.189.64.0/18",
"35.187.192.0/18",
"35.188.0.0/15",
"35.190.0.0/18",
"35.190.112.0/20",
"35.190.128.0/18",
"35.190.192.0/19",
"35.190.224.0/20",
"35.190.64.0/19",
"35.192.0.0/15",
"35.194.0.0/18",
"35.194.128.0/17",
"35.194.64.0/19",
"35.194.96.0/19",
"35.195.0.0/16",
"35.196.0.0/16",
"35.197.0.0/17",
"35.197.128.0/19",
"35.197.160.0/19",
"35.197.192.0/18",
"35.198.0.0/18",
"35.198.128.0/18",
"35.198.192.0/18",
"35.198.64.0/18",
"35.199.0.0/18",
"35.192.0.0/14",
"35.196.0.0/15",
"35.198.0.0/16",
"35.199.0.0/17",
"35.199.144.0/20",
"35.199.160.0/19",
"35.199.64.0/18",
"35.200.0.0/17",
"35.200.128.0/17",
"35.200.0.0/16",
"35.201.0.0/19",
"35.201.128.0/17",
"35.201.41.0/24",
@ -281,153 +154,54 @@
"35.203.212.0/22",
"35.203.216.0/22",
"35.203.232.0/21",
"35.204.0.0/16",
"35.205.0.0/16",
"35.206.128.0/18",
"35.206.192.0/18",
"35.204.0.0/15",
"35.206.128.0/17",
"35.206.32.0/19",
"35.206.64.0/18",
"35.207.0.0/18",
"35.207.128.0/18",
"35.207.192.0/18",
"35.207.64.0/18",
"35.208.0.0/15",
"35.210.0.0/16",
"35.211.0.0/16",
"35.212.0.0/17",
"35.212.128.0/17",
"35.213.0.0/17",
"35.213.128.0/18",
"35.213.192.0/18",
"35.214.0.0/17",
"35.214.128.0/17",
"35.215.0.0/18",
"35.215.128.0/18",
"35.215.192.0/18",
"35.215.64.0/18",
"35.216.0.0/17",
"35.216.128.0/17",
"35.217.0.0/18",
"35.217.128.0/17",
"35.217.64.0/18",
"35.207.0.0/16",
"35.208.0.0/13",
"35.216.0.0/15",
"35.219.0.0/17",
"35.219.128.0/18",
"35.220.0.0/20",
"35.220.128.0/17",
"35.220.16.0/23",
"35.220.18.0/23",
"35.220.20.0/22",
"35.220.24.0/23",
"35.220.26.0/24",
"35.220.27.0/24",
"35.220.16.0/21",
"35.220.24.0/22",
"35.220.31.0/24",
"35.220.32.0/21",
"35.220.40.0/24",
"35.220.41.0/24",
"35.220.42.0/24",
"35.220.43.0/24",
"35.220.44.0/24",
"35.220.45.0/24",
"35.220.46.0/24",
"35.220.47.0/24",
"35.220.48.0/21",
"35.220.56.0/22",
"35.220.60.0/22",
"35.220.64.0/19",
"35.220.96.0/19",
"35.221.0.0/18",
"35.221.128.0/17",
"35.221.64.0/18",
"35.220.32.0/19",
"35.220.64.0/18",
"35.221.0.0/16",
"35.222.0.0/15",
"35.224.0.0/15",
"35.226.0.0/16",
"35.227.0.0/17",
"35.227.128.0/18",
"35.227.192.0/18",
"35.224.0.0/14",
"35.228.0.0/16",
"35.229.128.0/17",
"35.229.16.0/20",
"35.229.32.0/19",
"35.229.64.0/18",
"35.230.0.0/17",
"35.230.128.0/19",
"35.230.160.0/19",
"35.230.128.0/18",
"35.230.240.0/20",
"35.231.0.0/16",
"35.232.0.0/16",
"35.233.0.0/17",
"35.233.128.0/17",
"35.234.0.0/18",
"35.234.128.0/19",
"35.234.160.0/20",
"35.234.176.0/20",
"35.234.192.0/20",
"35.234.208.0/20",
"35.234.224.0/20",
"35.234.240.0/20",
"35.234.64.0/18",
"35.235.0.0/20",
"35.235.16.0/20",
"35.232.0.0/15",
"35.234.0.0/16",
"35.235.0.0/17",
"35.235.216.0/21",
"35.235.32.0/20",
"35.235.48.0/20",
"35.235.64.0/18",
"35.236.0.0/17",
"35.236.128.0/18",
"35.236.192.0/18",
"35.237.0.0/16",
"35.238.0.0/15",
"35.240.0.0/17",
"35.240.128.0/17",
"35.241.0.0/18",
"35.241.128.0/17",
"35.241.64.0/18",
"35.236.0.0/14",
"35.240.0.0/15",
"35.242.0.0/20",
"35.242.128.0/18",
"35.242.16.0/23",
"35.242.18.0/23",
"35.242.192.0/18",
"35.242.20.0/22",
"35.242.24.0/23",
"35.242.26.0/24",
"35.242.27.0/24",
"35.242.128.0/17",
"35.242.16.0/21",
"35.242.24.0/22",
"35.242.31.0/24",
"35.242.32.0/21",
"35.242.40.0/24",
"35.242.41.0/24",
"35.242.42.0/24",
"35.242.43.0/24",
"35.242.44.0/24",
"35.242.45.0/24",
"35.242.46.0/24",
"35.242.47.0/24",
"35.242.48.0/21",
"35.242.56.0/22",
"35.242.60.0/22",
"35.242.64.0/19",
"35.242.96.0/19",
"35.243.0.0/21",
"35.242.32.0/19",
"35.242.64.0/18",
"35.243.0.0/20",
"35.243.128.0/17",
"35.243.32.0/21",
"35.243.40.0/21",
"35.243.32.0/20",
"35.243.56.0/21",
"35.243.64.0/18",
"35.243.8.0/21",
"35.244.0.0/18",
"35.244.128.0/17",
"35.244.64.0/18",
"35.245.0.0/16",
"35.246.0.0/17",
"35.246.128.0/17",
"35.247.0.0/17",
"35.247.128.0/18",
"35.247.192.0/18",
"8.34.208.0/23",
"8.34.210.0/24",
"8.34.211.0/24",
"8.34.212.0/22",
"8.34.216.0/22",
"8.34.220.0/22",
"35.244.0.0/14",
"8.34.208.0/20",
"8.35.192.0/21"
],
"matching_attributes": [
@ -437,5 +211,5 @@
],
"name": "List of known GCP (Google Cloud Platform) IP address ranges",
"type": "cidr",
"version": 20210610
"version": 20210613
}

File diff suppressed because it is too large Load Diff

View File

@ -9,97 +9,22 @@
"2a01:4180:4051:800::/64",
"2a01:4180:c001:8::/61",
"2a01:4180:c003:8::/61",
"51.18.0.0/22",
"51.18.12.0/22",
"51.18.16.0/24",
"51.18.17.0/24",
"51.18.18.0/24",
"51.18.19.0/24",
"51.18.0.0/20",
"51.18.16.0/22",
"51.18.24.0/21",
"51.18.32.0/21",
"51.18.32.64/30",
"51.18.32.72/29",
"51.18.32.80/28",
"51.18.32.96/28",
"51.18.4.0/22",
"51.18.40.0/21",
"51.18.40.64/30",
"51.18.40.72/29",
"51.18.40.80/28",
"51.18.40.96/28",
"51.18.8.0/22",
"51.18.32.0/20",
"51.4.128.0/17",
"51.4.136.19/32",
"51.4.144.100/31",
"51.4.144.221/32",
"51.4.144.222/32",
"51.4.144.99/32",
"51.4.145.23/32",
"51.4.145.246/32",
"51.4.145.39/32",
"51.4.145.55/32",
"51.4.145.57/32",
"51.4.145.82/32",
"51.4.146.41/32",
"51.4.146.68/32",
"51.4.146.77/32",
"51.4.146.80/32",
"51.4.147.130/32",
"51.4.147.190/32",
"51.4.150.40/32",
"51.4.168.128/27",
"51.4.168.16/28",
"51.4.168.48/28",
"51.4.200.133/32",
"51.4.208.16/28",
"51.4.208.32/28",
"51.4.224.239/32",
"51.4.224.37/32",
"51.4.225.99/32",
"51.4.226.98/32",
"51.4.231.202/32",
"51.4.232.32/27",
"51.4.32.0/19",
"51.4.72.0/24",
"51.4.80.0/27",
"51.4.84.0/24",
"51.4.86.64/26",
"51.5.128.0/17",
"51.5.136.21/32",
"51.5.144.101/32",
"51.5.144.120/32",
"51.5.144.140/31",
"51.5.144.173/32",
"51.5.144.179/32",
"51.5.144.185/32",
"51.5.144.198/32",
"51.5.144.201/32",
"51.5.144.216/32",
"51.5.144.236/32",
"51.5.144.237/32",
"51.5.145.130/32",
"51.5.145.89/32",
"51.5.146.29/32",
"51.5.146.33/32",
"51.5.147.182/32",
"51.5.150.132/32",
"51.5.168.128/27",
"51.5.168.64/28",
"51.5.168.96/28",
"51.5.240.174/32",
"51.5.242.106/32",
"51.5.243.5/32",
"51.5.246.239/32",
"51.5.247.109/32",
"51.5.248.112/28",
"51.5.248.128/28",
"51.5.248.160/27",
"51.5.248.64/27",
"51.5.72.0/24",
"51.5.80.0/27",
"51.5.84.0/24",
"51.5.87.0/25",
"51.8.0.0/19",
"51.8.0.0/17",
"51.8.128.0/20",
"51.8.144.0/27",
"51.8.144.128/25",
@ -107,100 +32,10 @@
"51.8.145.0/24",
"51.8.146.0/24",
"51.8.147.0/25",
"51.8.148.0/24",
"51.8.149.0/24",
"51.8.150.0/23",
"51.8.150.0/24",
"51.8.151.0/24",
"51.8.152.0/22",
"51.8.156.0/22",
"51.8.148.0/22",
"51.8.152.0/21",
"51.8.160.0/19",
"51.8.192.0/19",
"51.8.224.0/21",
"51.8.224.0/27",
"51.8.225.0/27",
"51.8.226.0/27",
"51.8.226.128/27",
"51.8.226.160/27",
"51.8.226.192/28",
"51.8.226.208/29",
"51.8.226.216/29",
"51.8.226.224/31",
"51.8.226.232/29",
"51.8.226.240/28",
"51.8.226.32/28",
"51.8.226.48/29",
"51.8.226.56/29",
"51.8.226.64/26",
"51.8.227.0/26",
"51.8.227.160/28",
"51.8.227.176/28",
"51.8.227.192/27",
"51.8.227.224/29",
"51.8.227.232/29",
"51.8.227.240/29",
"51.8.227.64/27",
"51.8.227.96/27",
"51.8.229.0/27",
"51.8.230.0/23",
"51.8.232.0/21",
"51.8.232.0/27",
"51.8.233.0/27",
"51.8.234.0/27",
"51.8.234.128/26",
"51.8.234.192/27",
"51.8.234.224/29",
"51.8.234.232/31",
"51.8.234.240/29",
"51.8.234.248/29",
"51.8.234.32/28",
"51.8.234.48/29",
"51.8.234.56/29",
"51.8.234.64/29",
"51.8.234.72/29",
"51.8.234.80/28",
"51.8.234.96/27",
"51.8.235.0/26",
"51.8.235.160/28",
"51.8.235.192/27",
"51.8.235.224/28",
"51.8.235.240/28",
"51.8.235.64/27",
"51.8.235.96/27",
"51.8.236.0/29",
"51.8.236.16/29",
"51.8.236.24/29",
"51.8.236.32/27",
"51.8.236.64/28",
"51.8.236.8/29",
"51.8.238.0/23",
"51.8.240.0/20",
"51.8.240.0/27",
"51.8.241.0/27",
"51.8.242.0/30",
"51.8.242.128/28",
"51.8.242.16/28",
"51.8.242.32/27",
"51.8.242.64/29",
"51.8.242.72/29",
"51.8.242.8/29",
"51.8.242.80/29",
"51.8.242.88/29",
"51.8.242.96/27",
"51.8.248.0/27",
"51.8.249.0/27",
"51.8.250.0/30",
"51.8.250.104/29",
"51.8.250.112/29",
"51.8.250.120/29",
"51.8.250.128/28",
"51.8.250.16/28",
"51.8.250.32/27",
"51.8.250.64/27",
"51.8.250.8/29",
"51.8.250.96/29",
"51.8.32.0/19",
"51.8.64.0/18",
"51.8.192.0/18",
"52.108.119.0/24",
"52.108.120.0/24"
],
@ -211,5 +46,5 @@
],
"name": "List of known Microsoft Azure Germany Datacenter IP Ranges",
"type": "cidr",
"version": 20210610
"version": 20210613
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -54,30 +54,23 @@
"40.73.164.128/25",
"40.73.165.0/26",
"40.73.248.0/21",
"40.73.248.8/32",
"40.73.252.10/32",
"42.159.132.138/32",
"42.159.132.73/32",
"42.159.132.74/32",
"42.159.132.75/32",
"42.159.132.74/31",
"42.159.133.17/32",
"42.159.135.78/32",
"42.159.161.192/27",
"42.159.162.0/27",
"42.159.162.32/27",
"42.159.162.0/26",
"42.159.162.64/27",
"42.159.162.96/28",
"42.159.163.128/25",
"42.159.164.0/24",
"42.159.165.0/24",
"42.159.166.0/23",
"42.159.164.0/22",
"42.159.224.122/32",
"42.159.233.91/32",
"42.159.237.146/32",
"42.159.238.120/32",
"42.159.33.192/27",
"42.159.34.0/27",
"42.159.34.32/27",
"42.159.34.0/26",
"42.159.34.64/27",
"42.159.34.96/28",
"42.159.36.0/24",
@ -109,5 +102,5 @@
],
"name": "List of known Office 365 IP address ranges in China",
"type": "cidr",
"version": 20210612
"version": 20210613
}

View File

@ -37,8 +37,7 @@
"2603:1026:2400::/40",
"2603:1026:3000::/48",
"2603:1026::/36",
"2603:1027:1::/48",
"2603:1027::/48",
"2603:1027::/47",
"2603:1030:1000::21a/128",
"2603:1030:7::749/128",
"2603:1030:800:5::bfee:ad3c/128",
@ -46,8 +45,7 @@
"2603:1036:2400::/40",
"2603:1036:3000::/48",
"2603:1036::/36",
"2603:1037:1::/48",
"2603:1037::/48",
"2603:1037::/47",
"2603:1040:200::4f3/128",
"2603:1040:401::762/128",
"2603:1040:601::60f/128",
@ -58,8 +56,7 @@
"2603:1046:1400::/40",
"2603:1046:2000::/48",
"2603:1046::/36",
"2603:1047:1::/48",
"2603:1047::/48",
"2603:1047::/47",
"2603:1050:1::cd/128",
"2603:1056:1400::/40",
"2603:1056:2000::/48",
@ -77,22 +74,18 @@
"2603:10a6:800::/40",
"2603:10d6:200::/40",
"2620:1ec:40::/42",
"2620:1ec:4::152/128",
"2620:1ec:4::153/128",
"2620:1ec:4::152/127",
"2620:1ec:6::/48",
"2620:1ec:8f0::/46",
"2620:1ec:8f8::/46",
"2620:1ec:8fc::6/128",
"2620:1ec:900::/46",
"2620:1ec:908::/46",
"2620:1ec:a92::152/128",
"2620:1ec:a92::153/128",
"2620:1ec:a92::152/127",
"2620:1ec:a92::171/128",
"2620:1ec:c::10/128",
"2620:1ec:c::11/128",
"2620:1ec:c::10/127",
"2620:1ec:c::15/128",
"2620:1ec:d::10/128",
"2620:1ec:d::11/128",
"2620:1ec:d::10/127",
"2a01:111:200a:a::/64",
"2a01:111:2035:8::/64",
"2a01:111:f100:2000::a83e:3019/128",
@ -101,8 +94,7 @@
"2a01:111:f100:7000::6fdd:6cd5/128",
"2a01:111:f100:a004::bfeb:88cf/128",
"2a01:111:f400::/48",
"2a01:111:f402::/48",
"2a01:111:f403::/48",
"2a01:111:f402::/47",
"2a01:111:f406:1004::/64",
"2a01:111:f406:1805::/64",
"2a01:111:f406:1::/64",
@ -117,9 +109,6 @@
"40.126.0.0/18",
"40.92.0.0/15",
"40.96.0.0/13",
"52.100.0.0/14",
"52.104.0.0/14",
"52.108.0.0/14",
"52.112.0.0/14",
"52.120.0.0/14",
"52.238.106.116/32",
@ -131,7 +120,7 @@
"52.244.223.198/32",
"52.244.37.168/32",
"52.247.150.191/32",
"52.96.0.0/14"
"52.96.0.0/12"
],
"matching_attributes": [
"ip-src",
@ -140,5 +129,5 @@
],
"name": "List of known Office 365 IP address ranges",
"type": "cidr",
"version": 20210604
"version": 20210613
}

View File

@ -306,5 +306,5 @@
],
"name": "List of known Office 365 URLs",
"type": "string",
"version": 20210604
"version": 20210613
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

78
tools/generate-akamai.py Normal file
View File

@ -0,0 +1,78 @@
from generator import get_abspath_source_file, download, get_version, write_to_file, consolidate_networks
from typing import List
import json
from time import sleep
def get_networks_for_asn(asn: int) -> List[str]:
temp_file = get_abspath_source_file("bgp-asn-{}".format(asn))
try:
prefixes = json.load(open(temp_file, "r"))
except:
sleep(0.5) # API has limitation, we have to wait between requests
response = download("https://api.bgpview.io/asn/{}/prefixes".format(asn))
response.raise_for_status()
prefixes = response.json()
json.dump(prefixes, open(temp_file, "w"))
output = []
for ipv4_prefix in prefixes["data"]["ipv4_prefixes"]:
output.append(ipv4_prefix["prefix"])
for ipv6_prefix in prefixes["data"]["ipv6_prefixes"]:
output.append(ipv6_prefix["prefix"])
return output
def search(term: str):
response = download("https://api.bgpview.io/search?query_term={}".format(term))
response.raise_for_status()
return response.json()
def is_akamai(data: dict) -> bool:
if not data["name"].startswith("AKAMAI"):
return False
for email in data["abuse_contacts"]:
if "@akamai.com" in email:
return True
return False
if __name__ == '__main__':
# Fetch all AS that belongs to AKAMAI
search_result = search("AKAMAI")
networks = set()
asn_to_fetch = []
for asn in search_result["data"]["asns"]:
if is_akamai(asn):
asn_to_fetch.append(asn["asn"])
for prefix in search_result["data"]["ipv4_prefixes"]:
if is_akamai(prefix):
networks.add(prefix["prefix"])
for prefix in search_result["data"]["ipv6_prefixes"]:
if is_akamai(prefix):
networks.add(prefix["prefix"])
for asn in asn_to_fetch:
try:
networks.update(get_networks_for_asn(asn))
except Exception as e:
print(str(e))
warninglist = {
'name': 'List of known Akamai IP ranges',
'version': get_version(),
'description': 'Akamai IP ranges from BGP search',
'type': 'cidr',
'list': consolidate_networks(networks),
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"]
}
write_to_file(warninglist, "akamai")

View File

@ -3,7 +3,7 @@
import json
from generator import download_to_file, get_version, write_to_file, get_abspath_source_file
from generator import download_to_file, get_version, write_to_file, get_abspath_source_file, consolidate_networks
def process(file, dst):
@ -22,7 +22,7 @@ def process(file, dst):
'version': get_version(),
'description': 'Amazon AWS IP address ranges (https://ip-ranges.amazonaws.com/ip-ranges.json)',
'type': 'cidr',
'list': l,
'list': consolidate_networks(l),
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"]
}

View File

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
import json
from generator import download, get_version, write_to_file
from generator import download, get_version, write_to_file, consolidate_networks
if __name__ == '__main__':
@ -17,7 +17,7 @@ if __name__ == '__main__':
'description': "GCP (Google Cloud Platform) IP address ranges (https://www.gstatic.com/ipranges/cloud.json)",
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"],
'type': 'cidr',
'list': ranges,
'list': consolidate_networks(ranges),
}
write_to_file(warninglist, "google-gcp")

View File

@ -5,7 +5,7 @@ import json
from bs4 import BeautifulSoup
from generator import download, download_to_file, get_version, write_to_file, get_abspath_source_file
from generator import download, download_to_file, get_version, write_to_file, get_abspath_source_file, consolidate_networks
def get_json_url(page):
@ -31,7 +31,7 @@ def process(file, dst, name: str, description: str):
for value in ms_azure_ip_list['values']:
values += value['properties']['addressPrefixes']
warninglist['list'] = values
warninglist['list'] = consolidate_networks(values)
write_to_file(warninglist, dst)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from generator import download, get_version, write_to_file
from generator import download, get_version, write_to_file, consolidate_networks
def process(url):
@ -25,7 +25,7 @@ def process(url):
'type': 'cidr',
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"]
}
generate(lips, office365_ips_dst, office365_ips_warninglist)
generate(consolidate_networks(lips), office365_ips_dst, office365_ips_warninglist)
def generate(data_list, dst, warninglist):
@ -67,4 +67,4 @@ if __name__ == '__main__':
'type': 'cidr',
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"]
}
generate(lips, "microsoft-office365-cn", warninglist)
generate(consolidate_networks(lips), "microsoft-office365-cn", warninglist)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from generator import process_stream, get_version, write_to_file
from generator import process_stream, get_version, write_to_file, consolidate_networks
def process(url, dst):
@ -9,7 +9,7 @@ def process(url, dst):
'name': 'Specialized list of {} addresses belonging to common VPN providers and datacenters'.format(dst.split('-')[1].replace('ip', 'IP')),
'version': get_version(),
'description': 'Specialized list of {} addresses belonging to common VPN providers and datacenters'.format(dst.split('-')[1].replace('ip', 'IP')),
'list': process_stream(url),
'list': consolidate_networks(process_stream(url)),
'type': 'cidr',
'matching_attributes': ["ip-src", "ip-dst", "domain|ip"]
}

View File

@ -2,6 +2,7 @@
# -*- coding: utf-8 -*-
import datetime
import ipaddress
import json
import logging
from inspect import currentframe, getframeinfo, getmodulename, stack
@ -124,9 +125,9 @@ def write_to_file(warninglist, dst):
caller = getmodulename(frame_records[1]).upper()
try:
warninglist = unique_sorted_warninglist(warninglist)
with open(get_abspath_list_file(dst), 'w') as data_file:
json.dump(unique_sorted_warninglist(warninglist),
data_file, indent=2, sort_keys=True)
json.dump(warninglist, data_file, indent=2, sort_keys=True)
data_file.write("\n")
logging.info('New warninglist written to {}.'.format(
get_abspath_list_file(dst)))
@ -135,6 +136,24 @@ def write_to_file(warninglist, dst):
'{} General exception occurred: {}.'.format(caller, str(exc)))
def consolidate_networks(networks):
# Convert to IpNetwork
ipv4_networks = []
ipv6_networks = []
for network in networks:
network = ipaddress.ip_network(network)
if network.version == 4:
ipv4_networks.append(network)
else:
ipv6_networks.append(network)
# Collapse
networks_to_keep = list(map(str, ipaddress.collapse_addresses(ipv4_networks)))
networks_to_keep.extend(map(str, ipaddress.collapse_addresses(ipv6_networks)))
return networks_to_keep
def main():
init_logging()