├── .gitignore ├── .goreleaser.yaml ├── LICENSE ├── README.md ├── csp-files ├── aws.json ├── azure.json ├── cloudflare-ipv4.txt ├── cloudflare-ipv6.txt └── digitalocean.csv ├── demo.png ├── edge-usage.png ├── edge.go ├── go.mod └── go.sum /.gitignore: -------------------------------------------------------------------------------- 1 | edge 2 | dist/ 3 | ./http 4 | .idea/ 5 | *.json 6 | *-ipv4.txt 7 | *-ipv6.txt 8 | *.csv 9 | -------------------------------------------------------------------------------- /.goreleaser.yaml: -------------------------------------------------------------------------------- 1 | env: 2 | - GO111MODULE=on 3 | - CGO_ENABLED=0 4 | 5 | before: 6 | hooks: 7 | - go mod tidy 8 | - go generate ./... 9 | 10 | builds: 11 | - id: edge 12 | binary: edge-{{ .Arch }} 13 | main: ./edge.go 14 | goos: 15 | - linux 16 | - windows 17 | - darwin 18 | 19 | archives: 20 | - id: archive 21 | name_template: >- 22 | {{ .ProjectName }}_ 23 | {{- title .Os }}_ 24 | {{- if eq .Arch "amd64" }}x86_64 25 | {{- else if eq .Arch "386" }}i386 26 | {{- else }}{{ .Arch }}{{ end }} 27 | 28 | checksum: 29 | name_template: 'checksums.txt' 30 | 31 | snapshot: 32 | name_template: "{{ incpatch .Version }}-next" 33 | 34 | changelog: 35 | sort: asc 36 | filters: 37 | exclude: 38 | - '^docs:' 39 | - '^test:' 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 iknowjason 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | © 2022 GitHub, Inc. 25 | 26 | Terms 27 | Privacy 28 | Security 29 | Status 30 | Docs 31 | Contact GitHub 32 | Pricing 33 | API 34 | Training 35 | Blog 36 | About 37 | 38 | 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cloud edge 2 | *Lookup an IP to find the cloud provider and other details based on the provider's published JSON, CSV, or text data* 3 | 4 | Cloud edge is a recon tool focused on exploring cloud service providers. It can be used for cloud attribution and forensics, pentesting, bug bounty, red teaming, or general R&D of cloud providers. Edge automatically loads Cloud Service Provider (CSP) published IP address ranges (AWS, Azure, GCP, Cloudflare, Digital Ocean) files and performs a prefix lookup based on the input IP address. Can be used to integrate in with other recon tooling. In a black box network pentest, edge quickly discovers which cloud CSP the customer is hosted with, or just double-verifying the scope for rules of engagement. Each of these CSPs publish a list of all of their IP prefixes and/or netblocks. For Azure and AWS, this adds the region/data center and service name. This is an excellent enrichment for threat intelligence, allowing you to map IP addresses to physical data centers and cloud services. Cloud Edge can be useful for reconnaissance workflows to quickly know "what you're dealing with" - it quickly parses and performs a lookup based on IP prefix. 5 | 6 | ![](edge-usage.png) 7 | 8 | 9 | # Input and Output 10 | Here are a few notes on how the tool works for inputs and output. 11 | 12 | ## Getting Started: First Run Download of CSP Files 13 | 14 | Run Cloud Edge and it will automatically download all cloud provider files supported. If the files don't exist in working directory, they will be downloaded: 15 | 16 | ``` 17 | % ./edge 18 | [INF] Starting Cloud Edge version 0.2.4 19 | [INF] File cloud.json has been downloaded and created 20 | [INF] File aws.json has been downloaded and created 21 | [INF] File cloudflare-ipv4.txt has been downloaded and created 22 | [INF] File cloudflare-ipv6.txt has been downloaded and created 23 | [INF] File digitalocean.csv has been downloaded and created 24 | [INF] File azure.json has been downloaded and created 25 | ``` 26 | 27 | If you're offline and they can't be downloaded, check the ```csp-files``` directory in this repository. Copy them to working directory. 28 | 29 | ## Files from cloud providers 30 | 31 | When the tool runs for the first time, it automatically tries to download and load the six cloud provider IP address ranges JSON, text, and csv files to the working directory. Here is how it works: 32 | 33 | By default it will attempt to download the six files from the URLs below unless the files are already in the working directory. 34 | 35 | | Provider | Local File | Remote URL | 36 | |:-------------:|:-------------:| :-----:| 37 | | AWS | aws.json | https://ip-ranges.amazonaws.com/ip-ranges.json | 38 | | Azure | azure.json | https://azservicetags.azurewebsites.net/ | 39 | | GCP | cloud.json | https://www.gstatic.com/ipranges/cloud.json | 40 | | Cloudflare | cloudflare-ipv4.txt | https://www.cloudflare.com/ips-v4/# | 41 | | Cloudflare | cloudflare-ipv6.txt | https://www.cloudflare.com/ips-v6/# | 42 | | Digital Ocean | digitalocean.csv | https://digitalocean.com/geo/google.csv | 43 | 44 | 45 | Cloud Edge checks for each file before downloading. So if the file already exists, it obviously won't be downloaded again unless you delete it. 46 | 47 | These six files are included in this github repository in the ```csp-files``` directory. Since the Cloud Providers frequently update their lists, ensure you have the latest files by removing the files in your working directory: ```aws.json, azure.json, cloud.json, cloudflare-ipv4.txt, cloudflare-ipv6.txt, digitalocean.csv```. 48 | 49 | If found in working directory, all IP prefixes are loaded into memory. The cloud provider IP ranges files always attempt to load from working directory. Enabling the actual lookup is done with the ```-prefix``` flag. 50 | 51 | When ```-dns``` mode is enabled, DNS lookups for both A and CNAME records are buffered without display until all DNS queries are finished. After the queries are finished, the output is displayed. 52 | 53 | 54 | ## Default [INF] Mode enabled 55 | 56 | By the default the output displays Informational messages starting with ```[INF]```. This can be disabled with ```-silent``` flag. The output will look like this: 57 | ``` 58 | ./edge -single 140.179.144.130 59 | [INF] Single IP prefix lookup of 140.179.144.130 60 | [INF] Matched IP [140.179.144.130] to Cloud Provider via prefix [AWS:140.179.144.128/25] 61 | [INF] Matched IP [140.179.144.130] to Cloud Service [API_GATEWAY] and Region [cn-north-1] 62 | 140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY 63 | ``` 64 | 65 | Informational messages will tell you if a record is found through a DNS 'A' record, DNS 'CNAME' record, Certificate (crt.sh), or if a prefix match is found. Prefix matches will tell you the cloud provider detected with the matching prefix, as well as the cloud service and region if applicable. Azure regions are not currently detected but AWS ones are. 66 | 67 | ## Default CSV Output 68 | 69 | With ```-dns``` or ```crt``` mode, the output is is sent by default to the console as comma delimited results. This makes it easy to use other tools to parse these results. 70 | ``` 71 | FQDN,IP,SOURCE,CNAME,DESCRIPTION 72 | ``` 73 | 74 | * **FQDN:** This is the DNS lookup as a FQDN. 75 | * **IP:** This is the IP address returned from an A record if found. 76 | * **SOURCE:** This is the source of the lookup. Either A, CNAME, or Certificate. 77 | * **CNAME:** This returns the CNAME or ALIAS if the request is a CNAME. 78 | * **DESCRIPTION:** This returns any results from the IP address ranges description if ```-prefix``` is enabled. 79 | 80 | With ```-prefix``` mode and either ```-ip``` or ```-nmap```, the output is sent by default to the console as comma delimited results: 81 | 82 | ``` 83 | IP,DESCRIPTION 84 | ``` 85 | 86 | The ```IP``` is the IP address and the ```DESCRIPTION``` is the results from the IP address ranges lookup in the cloud provider IP address ranges JSON files, if applicable. 87 | 88 | 89 | With ```-ptr``` mode and either ```ip``` or ```nmap```, the output is sent by default to the console as comma delimited results: 90 | ``` 91 | IP,PTR 92 | ``` 93 | 94 | The ```IP``` is the IP address and the ```PTR``` is the results from the DNS PTR lookup if found. 95 | 96 | ## IP Address files with -IP 97 | The ```-ip``` flag signals to iterate through a list of IP addresses and can be used in ```prefix``` or ```ptr``` mode. When you run the tool with ```-ip ```, it expects each IP address in a separate line, and will iterate through the list doing lookups. Here is an example of the file contents: 98 | ``` 99 | user@host:~/demo$ cat ip.txt 100 | 3.133.110.237 101 | 18.117.232.92 102 | 18.221.247.211 103 | 3.137.199.52 104 | ``` 105 | 106 | ## Nmap XML files 107 | The ```-nmap``` flag signals to parse an nmap XML file. It will look for any host in the nmap scan file marked as "Up." For example, ```-nmap scan1.xml``` will tell the tool to parse the scan1.xml file and look for any hosts marked as Up by nmap. You then run it with either -ptr or -prefix to do a lookup of the IP. 108 | 109 | ## Subdomain enumeration with -wordlist 110 | The tool performs classic subdomain enumeration by iterating through a wordlist containing hostnames, one hostname per line. This is used in ```-dns``` mode with ```-wordlist ```. An example of what this looks like for the hosts.txt file: 111 | 112 | ``` 113 | user@host:~/demo$ more subdomains-5k.txt 114 | www 115 | blog 116 | news 117 | blogs 118 | en 119 | online 120 | ``` 121 | 122 | # Options 123 | ``` 124 | $ edge -help 125 | Usage of edge: 126 | -crt 127 | Certificate transparency lookup mode 128 | -csv string 129 | Output results to CSV file 130 | -dns 131 | A and CNAME record lookup mode 132 | -domain string 133 | The domain to perform guessing against. 134 | -ip string 135 | The text file to use with IP addresses 136 | -nmap string 137 | Nmap scan xml file to use. 138 | -output 139 | Enable output to CSV 140 | -prefix 141 | IP Prefix CSP lookup mode 142 | -ptr 143 | PTR lookup mode 144 | -resolver string 145 | The DNS server to use. (default "8.8.8.8:53") 146 | -silent 147 | Enable silent mode to suppress [INF] 148 | -single string 149 | Single IP address to do a prefix lookup 150 | -verbose 151 | Enable verbose output 152 | -wordlist string 153 | The wordlist to use for guessing. 154 | -workers int 155 | The amount of workers to use. (default 10) 156 | ``` 157 | 158 | # Examples 159 | 160 | **Example #1:** Look up a single IP address 161 | ``` 162 | edge -single 163 | ``` 164 | 165 | **Description:** Perform a prefix lookup of a single IP address supplied with `````` against the cloud provider's JSON files. 166 | 167 | **Sample Output:** 168 | ``` 169 | edge -single 140.179.144.130 170 | [INF] Single IP prefix lookup of 140.179.144.130 171 | [INF] Matched IP [140.179.144.130] to Cloud Provider via prefix [AWS:140.179.144.128/25] 172 | [INF] Matched IP [140.179.144.130] to Cloud Service [API_GATEWAY] and Region [cn-north-1] 173 | 140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY 174 | ``` 175 | 176 | *** 177 | **Example #2:** Look up a single IP address and suppress Info messages 178 | ``` 179 | $ edge -single -silent 180 | ``` 181 | 182 | **Description:** Same as above, except enable the silent mode. This suppresses the [INF] messages with extra information. 183 | 184 | **Sample Output:** 185 | ``` 186 | edge -single 140.179.144.130 187 | 140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY 188 | ``` 189 | *** 190 | **Example #3:** Use local provider JSON files instead of downloading them. 191 | 192 | ``` 193 | edge -single -silent -nd 194 | ``` 195 | 196 | **Description:** Don't try to download the provider JSON files, but instead use the local files in working directory. 197 | 198 | *** 199 | **Example #4:** Wordlist subdomain enumeration with certificate transparancy and prefix lookup. 200 | 201 | ``` 202 | edge -domain -dns -crt -prefix -wordlist 203 | ``` 204 | 205 | **Description:** Perform a wordlist subdomain enumeration of all A and CNAME records based on wordlist.txt against domain with certificate transparency lookup. For each enumerated host found with Cert transparency, also do a DNS lookup. Do an IP prefix lookup of the IP address across all three cloud service provider's published list of IP prefixes. 206 | 207 | **Sample Output:** 208 | ``` 209 | edge -domain tesla.com -dns -crt -prefix -wordlist subdomains-5k.txt 210 | [INF] Found host via crt.sh [nas-origin.tesla.com] 211 | nas-origin.tesla.com,,Certificate,, 212 | [INF] Found host via crt.sh [eua-origin.tesla.com] 213 | eua-origin.tesla.com,,Certificate,, 214 | [INF] Found host via CNAME [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com] 215 | fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com, 216 | [INF] Found host via CNAME [fleetview.prd.usw2.fn.tesla.com.:a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com] 217 | fleetview.prd.usw2.fn.tesla.com.,,CNAME,a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com, 218 | [INF] Found host via A [a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com:52.39.128.70] 219 | [INF] Matched Cloud Provider via prefix [AWS:52.36.0.0/14] 220 | [INF] Matched IP [52.39.128.70] to Cloud Service [EC2] and Region [us-west-2] 221 | ``` 222 | *** 223 | **Example #5:** Wordlist subdomain enumeration without certificate transparency or IP prefix lookup. 224 | 225 | ``` 226 | edge -domain -dns -wordlist 227 | ``` 228 | 229 | **Description:** Perform just a wordlist scan of all A and CNAME records based on wordlist. 230 | 231 | **Sample Output:** 232 | ``` 233 | edge -domain tesla.com -dns -wordlist subdomains-5k.txt 234 | [INF] Found host via CNAME [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com] 235 | fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com, 236 | [INF] Found host via A [e9056.b.akamaiedge.net:23.2.254.58] 237 | e9056.b.akamaiedge.net,23.2.254.58,A,teslamotors.vanity3.ca1.qualtrics.com, 238 | ``` 239 | *** 240 | **Example #6:** Wordlist subdomain enumeration without certificate transparency but looking up IP prefix for any IP addresses found. 241 | 242 | ``` 243 | edge -domain -dns -wordlist -prefix 244 | ``` 245 | 246 | **Description:** Perform just a wordlist scan of all A and CNAME records based on wordlist. For every IP address enumerated, perform a prefix lookup. 247 | 248 | *** 249 | 250 | **Example #7:** Certificate transparency log lookup. 251 | 252 | ``` 253 | edge -domain -crt 254 | ``` 255 | 256 | **Description:** Do a Certificate Transparency log lookup using https://crt.sh 257 | 258 | **Sample Output:** 259 | ``` 260 | edge -domain tesla.com -crt 261 | [INF] Running certificate transparency lookup crt.sh 262 | [INF] Found host via crt.sh [solarbonds.tesla.com] 263 | solarbonds.tesla.com,,Certificate,, 264 | [INF] Found host via crt.sh [energydesk.tesla.com] 265 | energydesk.tesla.com,,Certificate,, 266 | ``` 267 | 268 | *** 269 | 270 | **Example #8:** Certificate transparency with DNS lookup 271 | 272 | ``` 273 | edge -domain -dns -crt 274 | ``` 275 | 276 | **Description:** Perform a Certificate transparency lookup. For each host discovered via Cert Transparency, do a full DNS A or CNAME lookup. 277 | 278 | *** 279 | 280 | **Example #9:** IP prefix lookup with IP address list 281 | 282 | ``` 283 | edge -prefix -ip 284 | ``` 285 | 286 | **Description:** Perform a lookup of the IP address for the cloud service provider IP prefix. Takes a list of IP addresses in ip-hosts.txt and looks through it doing a lookup. One IP address per line. 287 | 288 | **Sample Output:** 289 | ``` 290 | edge -prefix -ip ip-hosts.txt 291 | [INF] Matched IP [140.179.144.130] to Cloud Provider via prefix [AWS:140.179.144.128/25] 292 | [INF] Matched IP [140.179.144.130] to Cloud Service [API_GATEWAY] and Region [cn-north-1] 293 | 140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY 294 | [INF] Matched IP [18.189.124.22] to Cloud Provider via prefix [AWS:18.189.0.0/16] 295 | [INF] Matched IP [18.189.124.22] to Cloud Service [EC2] and Region [us-east-2] 296 | 18.189.124.22,Provider:AWS;Prefix:18.189.0.0/16;Region:us-east-2;Service:EC2 297 | [INF] Matched IP [20.60.128.132] to Cloud Provider via prefix [Azure:20.60.0.0/16] 298 | [INF] Matched IP [20.60.128.132] to Cloud Service [AzureStorage] 299 | 20.60.128.132,Provider:Azure;Prefix:20.60.0.0/16;Name:Storage;ID:Storage;Platform:Azure;SystemService:AzureStorage 300 | ``` 301 | 302 | *** 303 | 304 | **Example #10:** DNS PTR lookup with ip address list 305 | 306 | ``` 307 | edge -ptr -ip 308 | ``` 309 | 310 | **Description:** Does a DNS PTR lookup based on the IP address on each line of ip-hosts.txt. 311 | 312 | **Sample Output:** 313 | ``` 314 | edge -ptr -ip ip-hosts.txt 315 | 140.179.144.130,ec2-140-179-144-130.cn-north-1.compute.amazonaws.com.cn. 316 | ``` 317 | 318 | *** 319 | 320 | **Example #11:** Parses nmap file and does prefix lookup of IP addresses found 321 | 322 | ``` 323 | edge -prefix -nmap 324 | ``` 325 | 326 | **Description:** Parses an nmap scan XML file, identifying all "Up" hosts. For every "Up" host in nmap XML scan results, do an IP prefix lookup for the cloud service provider. 327 | 328 | *** 329 | 330 | **Example #12:** Parses nmap file and does DNS PTR lookup of each IP address found 331 | 332 | 333 | ``` 334 | edge -ptr -nmap 335 | ``` 336 | 337 | **Description:** Parses an nmap scan XML file, and does a PTR lookup of every "Up" host. 338 | 339 | *** 340 | 341 | **Example #13:** Adds concurrency with 100 workers to boost performance 342 | 343 | ``` 344 | edge -domain -dns -wordlist -workers 100 345 | ``` 346 | 347 | **Description:** Uses a DNS concurrency scan of 100 workers. This increases the scan speed. Default workers: 10. 348 | 349 | *** 350 | 351 | **Example #14:** Specify a DNS resolver 352 | 353 | ``` 354 | edge -domain -dns -wordlist -resolver 8.8.4.4:53 355 | ``` 356 | 357 | **Description:** Specify a DNS resolver of 8.8.4.4 on port 53. Default is 8.8.8.8. 358 | 359 | # Installing 360 | 361 | ## Binaries 362 | You can grab the pre-compiled binaries or build it. Make sure you also get the cloud provider IP prefix JSON files. 363 | 364 | ## Building 365 | Tested with go1.19 366 | 367 | ``` 368 | $ git clone https://github.com/iknowjason/edge.git 369 | $ cd edge 370 | ~/edge$ go build edge.go 371 | ~/edge$ ./edge (Verify it) 372 | ``` 373 | 374 | 375 | 376 | # Credits 377 | @mosesrenegade for tool inspiration 378 | 379 | @0xdabbad00 for general AWS tools and inspiration 380 | 381 | This tool was inspired from many other tools and authors, including dnsrecon and gobuster. Yeah I know. Not a lot new here - just another subdomain enumeration tool. I just really wanted to learn Golang :-) 382 | 383 | "Black Hat Go" book 384 | -------------------------------------------------------------------------------- /csp-files/cloudflare-ipv4.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/13 15 | 131.0.72.0/22 -------------------------------------------------------------------------------- /csp-files/cloudflare-ipv6.txt: -------------------------------------------------------------------------------- 1 | 2400:cb00::/32 2 | 2606:4700::/32 3 | 2803:f800::/32 4 | 2405:b500::/32 5 | 2405:8100::/32 6 | 2a06:98c0::/29 7 | 2c0f:f248::/32 -------------------------------------------------------------------------------- /csp-files/digitalocean.csv: -------------------------------------------------------------------------------- 1 | 5.101.96.0/21,NL,NL-NH,Amsterdam,1105 AT 2 | 5.101.104.0/22,NL,NL-NH,Amsterdam,1105 AT 3 | 24.144.64.0/22,US,US-NJ,North Bergen,07047 4 | 24.144.68.0/22,US,US-CA,Santa Clara,95054 5 | 24.144.80.0/20,US,US-CA,Santa Clara,95054 6 | 24.144.96.0/19,US,US-NJ,North Bergen,07047 7 | 24.199.64.0/22,US,US-NJ,North Bergen,07047 8 | 24.199.68.0/22,US,US-CA,Santa Clara,95054 9 | 24.199.72.0/21,US,US-CA,Santa Clara,95054 10 | 24.199.80.0/20,US,US-NJ,North Bergen,07047 11 | 24.199.96.0/20,US,US-CA,Santa Clara,95054 12 | 24.199.112.0/20,US,US-CA,Santa Clara,95054 13 | 37.139.0.0/24,NL,NL-NH,Amsterdam,1105 AT 14 | 37.139.1.0/24,NL,NL-NH,Amsterdam,1105 AT 15 | 37.139.2.0/24,NL,NL-NH,Amsterdam,1105 AT 16 | 37.139.3.0/24,NL,NL-NH,Amsterdam,1105 AT 17 | 37.139.4.0/24,NL,NL-NH,Amsterdam,1105 AT 18 | 37.139.5.0/24,NL,NL-NH,Amsterdam,1105 AT 19 | 37.139.6.0/24,NL,NL-NH,Amsterdam,1105 AT 20 | 37.139.7.0/24,NL,NL-NH,Amsterdam,1105 AT 21 | 37.139.8.0/24,NL,NL-NH,Amsterdam,1105 AT 22 | 37.139.9.0/24,NL,NL-NH,Amsterdam,1105 AT 23 | 37.139.10.0/24,NL,NL-NH,Amsterdam,1105 AT 24 | 37.139.11.0/24,NL,NL-NH,Amsterdam,1105 AT 25 | 37.139.12.0/24,NL,NL-NH,Amsterdam,1105 AT 26 | 37.139.13.0/24,NL,NL-NH,Amsterdam,1105 AT 27 | 37.139.14.0/24,NL,NL-NH,Amsterdam,1105 AT 28 | 37.139.15.0/24,NL,NL-NH,Amsterdam,1105 AT 29 | 37.139.16.0/24,NL,NL-NH,Amsterdam,1105 AT 30 | 37.139.17.0/24,NL,NL-NH,Amsterdam,1105 AT 31 | 37.139.18.0/24,NL,NL-NH,Amsterdam,1105 AT 32 | 37.139.19.0/24,NL,NL-NH,Amsterdam,1105 AT 33 | 37.139.20.0/24,NL,NL-NH,Amsterdam,1105 AT 34 | 37.139.21.0/24,NL,NL-NH,Amsterdam,1105 AT 35 | 37.139.22.0/24,NL,NL-NH,Amsterdam,1105 AT 36 | 37.139.23.0/24,NL,NL-NH,Amsterdam,1105 AT 37 | 37.139.24.0/24,NL,NL-NH,Amsterdam,1105 AT 38 | 37.139.25.0/24,NL,NL-NH,Amsterdam,1105 AT 39 | 37.139.26.0/24,NL,NL-NH,Amsterdam,1105 AT 40 | 37.139.27.0/24,NL,NL-NH,Amsterdam,1105 AT 41 | 37.139.28.0/24,NL,NL-NH,Amsterdam,1105 AT 42 | 37.139.29.0/24,NL,NL-NH,Amsterdam,1105 AT 43 | 37.139.30.0/24,NL,NL-NH,Amsterdam,1105 AT 44 | 37.139.31.0/24,NL,NL-NH,Amsterdam,1105 AT 45 | 45.55.0.0/19,US,US-SF,San Francisco,94124 46 | 45.55.32.0/19,US,US-NJ,Clifton,07014 47 | 45.55.64.0/19,US,US-NJ,Clifton,07014 48 | 45.55.96.0/22,US,US-NJ,Clifton,07014 49 | 45.55.100.0/22,US,US-NY,New York,10011 50 | 45.55.104.0/22,US,US-NJ,North Bergen,07047 51 | 45.55.108.0/22,US,US-SF,San Francisco,94124 52 | 45.55.112.0/22,US,US-SF,San Francisco,94124 53 | 45.55.116.0/22,US,US-NY,New York,10011 54 | 45.55.120.0/22,US,US-NJ,Clifton,07014 55 | 45.55.124.0/22,US,US-NJ,Clifton,07014 56 | 45.55.128.0/18,US,US-NJ,Clifton,07014 57 | 45.55.192.0/18,US,US-NJ,Clifton,07014 58 | 46.101.0.0/18,GB,GB-SLG,London,SL1 4AX 59 | 46.101.64.0/22,GB,GB-SLG,London,SL1 4AX 60 | 46.101.68.0/22,DE,DE-HE,Frankfurt,60341 61 | 46.101.72.0/21,GB,GB-SLG,London,SL1 4AX 62 | 46.101.80.0/20,GB,GB-SLG,London,SL1 4AX 63 | 46.101.96.0/20,DE,DE-HE,Frankfurt,60341 64 | 46.101.112.0/20,DE,DE-HE,Frankfurt,60341 65 | 46.101.124.0/22,DE,DE-HE,Frankfurt,60341 66 | 46.101.128.0/18,DE,DE-HE,Frankfurt,60341 67 | 46.101.192.0/18,DE,DE-HE,Frankfurt,60341 68 | 64.225.0.0/20,US,US-NJ,Clifton,07014 69 | 64.225.16.0/20,US,US-NJ,Clifton,07014 70 | 64.225.32.0/20,US,US-CA,Santa Clara,95051 71 | 64.225.48.0/20,US,US-NJ,Clifton,07014 72 | 64.225.64.0/20,NL,NL-NH,Amsterdam,1098 XH 73 | 64.225.80.0/22,NL,NL-NH,Amsterdam,1098 XH 74 | 64.225.84.0/22,IN,IN-KA,Bangalore,560100 75 | 64.225.88.0/22,US,US-CA,Santa Clara,95054 76 | 64.225.92.0/22,DE,DE-HE,Frankfurt,60341 77 | 64.225.96.0/20,DE,DE-HE,Frankfurt,60341 78 | 64.225.112.0/20,US,US-CA,Santa Clara,95051 79 | 64.226.64.0/20,DE,DE-HE,Frankfurt,60341 80 | 64.226.80.0/20,DE,DE-HE,Frankfurt,60341 81 | 64.226.96.0/20,DE,DE-HE,Frankfurt,60341 82 | 64.226.112.0/20,DE,DE-HE,Frankfurt,60341 83 | 64.227.0.0/20,US,US-NJ,North Bergen,07047 84 | 64.227.16.0/20,US,US-NJ,North Bergen,07047 85 | 64.227.32.0/20,GB,GB-SLG,London,SL1 4AX 86 | 64.227.48.0/20,US,US-CA,Santa Clara,95051 87 | 64.227.64.0/20,NL,NL-NH,Amsterdam,1098 XH 88 | 64.227.80.0/20,US,US-CA,Santa Clara,95051 89 | 64.227.96.0/20,US,US-CA,Santa Clara,95054 90 | 64.227.112.0/20,DE,DE-HE,Frankfurt,60341 91 | 64.227.128.0/19,IN,IN-KA,Bangalore,560100 92 | 64.227.160.0/20,IN,IN-KA,Bangalore,560100 93 | 64.227.176.0/20,IN,IN-KA,Bangalore,560100 94 | 67.205.128.0/20,US,US-NJ,North Bergen,07047 95 | 67.205.144.0/20,US,US-NJ,North Bergen,07047 96 | 67.205.160.0/20,US,US-NJ,North Bergen,07047 97 | 67.205.176.0/20,US,US-NJ,North Bergen,07047 98 | 67.207.68.0/22,GB,GB-SLG,London,SL1 4AX 99 | 67.207.72.0/22,DE,DE-HE,Frankfurt,60341 100 | 67.207.76.0/22,DE,DE-HE,Frankfurt,60341 101 | 67.207.80.0/20,US,US-NJ,North Bergen,07047 102 | 68.183.0.0/20,NL,NL-NH,Amsterdam,1098 XH 103 | 68.183.16.0/20,US,US-NJ,North Bergen,07047 104 | 68.183.32.0/20,GB,GB-SLG,London,SL1 4AX 105 | 68.183.48.0/20,US,US-NJ,Clifton,07014 106 | 68.183.64.0/20,DE,DE-HE,Frankfurt,60341 107 | 68.183.80.0/20,IN,IN-KA,Bangalore,560100 108 | 68.183.96.0/20,US,US-NJ,North Bergen,07047 109 | 68.183.112.0/20,US,US-NJ,North Bergen,07047 110 | 68.183.128.0/20,US,US-NJ,North Bergen,07047 111 | 68.183.144.0/20,US,US-NJ,Clifton,07014 112 | 68.183.160.0/20,US,US-CA,Santa Clara,95051 113 | 68.183.176.0/20,SG,SG-05,Singapore,627753 114 | 68.183.192.0/20,CA,CA-ON,Toronto,M5A 0B2 115 | 68.183.208.0/20,DE,DE-HE,Frankfurt,60341 116 | 68.183.224.0/20,SG,SG-05,Singapore,627753 117 | 68.183.240.0/22,DE,DE-HE,Frankfurt,60341 118 | 68.183.244.0/22,IN,IN-KA,Bangalore,560100 119 | 68.183.248.0/22,US,US-CA,Santa Clara,95051 120 | 68.183.252.0/22,GB,GB-SLG,London,SL1 4AX 121 | 69.55.49.0/24,US,US-NJ,North Bergen,07047 122 | 69.55.54.0/24,US,US-NJ,North Bergen,07047 123 | 69.55.55.0/24,US,US-NJ,North Bergen,07047 124 | 69.55.59.64/26,US,US-NJ,North Bergen,07047 125 | 69.55.59.128/26,US,US-NJ,North Bergen,07047 126 | 69.55.59.192/27,US,US-NJ,North Bergen,07047 127 | 69.55.60.96/27,US,US-NJ,North Bergen,07047 128 | 69.55.60.128/26,US,US-NJ,North Bergen,07047 129 | 69.55.61.64/26,US,US-NJ,North Bergen,07047 130 | 69.55.62.0/26,US,US-NJ,North Bergen,07047 131 | 80.240.128.0/20,NL,NL-NH,Amsterdam,1105 AT 132 | 82.196.0.0/24,NL,NL-NH,Amsterdam,1105 AT 133 | 82.196.1.0/24,NL,NL-NH,Amsterdam,1105 AT 134 | 82.196.2.0/24,NL,NL-NH,Amsterdam,1105 AT 135 | 82.196.3.0/24,NL,NL-NH,Amsterdam,1105 AT 136 | 82.196.4.0/24,NL,NL-NH,Amsterdam,1105 AT 137 | 82.196.5.0/24,NL,NL-NH,Amsterdam,1105 AT 138 | 82.196.6.0/24,NL,NL-NH,Amsterdam,1105 AT 139 | 82.196.7.0/24,NL,NL-NH,Amsterdam,1105 AT 140 | 82.196.8.0/24,NL,NL-NH,Amsterdam,1105 AT 141 | 82.196.9.0/24,NL,NL-NH,Amsterdam,1105 AT 142 | 82.196.10.0/24,NL,NL-NH,Amsterdam,1105 AT 143 | 82.196.11.0/24,NL,NL-NH,Amsterdam,1105 AT 144 | 82.196.12.0/24,NL,NL-NH,Amsterdam,1105 AT 145 | 82.196.13.0/24,NL,NL-NH,Amsterdam,1105 AT 146 | 82.196.14.0/24,NL,NL-NH,Amsterdam,1105 AT 147 | 82.196.15.0/24,NL,NL-NH,Amsterdam,1105 AT 148 | 95.85.1.0/24,NL,NL-NH,Amsterdam,1105 AT 149 | 95.85.2.0/24,NL,NL-NH,Amsterdam,1105 AT 150 | 95.85.3.0/24,NL,NL-NH,Amsterdam,1105 AT 151 | 95.85.4.0/24,NL,NL-NH,Amsterdam,1105 AT 152 | 95.85.5.0/24,NL,NL-NH,Amsterdam,1105 AT 153 | 95.85.6.0/24,NL,NL-NH,Amsterdam,1105 AT 154 | 95.85.7.0/24,NL,NL-NH,Amsterdam,1105 AT 155 | 95.85.8.0/24,NL,NL-NH,Amsterdam,1105 AT 156 | 95.85.9.0/24,NL,NL-NH,Amsterdam,1105 AT 157 | 95.85.10.0/24,NL,NL-NH,Amsterdam,1105 AT 158 | 95.85.11.0/24,NL,NL-NH,Amsterdam,1105 AT 159 | 95.85.12.0/24,NL,NL-NH,Amsterdam,1105 AT 160 | 95.85.13.0/24,NL,NL-NH,Amsterdam,1105 AT 161 | 95.85.14.0/24,NL,NL-NH,Amsterdam,1105 AT 162 | 95.85.15.0/24,NL,NL-NH,Amsterdam,1105 AT 163 | 95.85.16.0/24,NL,NL-NH,Amsterdam,1105 AT 164 | 95.85.17.0/24,NL,NL-NH,Amsterdam,1105 AT 165 | 95.85.18.0/24,NL,NL-NH,Amsterdam,1105 AT 166 | 95.85.19.0/24,NL,NL-NH,Amsterdam,1105 AT 167 | 95.85.20.0/24,NL,NL-NH,Amsterdam,1105 AT 168 | 95.85.21.0/24,NL,NL-NH,Amsterdam,1105 AT 169 | 95.85.22.0/24,NL,NL-NH,Amsterdam,1105 AT 170 | 95.85.23.0/24,NL,NL-NH,Amsterdam,1105 AT 171 | 95.85.24.0/24,NL,NL-NH,Amsterdam,1105 AT 172 | 95.85.25.0/24,NL,NL-NH,Amsterdam,1105 AT 173 | 95.85.26.0/24,NL,NL-NH,Amsterdam,1105 AT 174 | 95.85.27.0/24,NL,NL-NH,Amsterdam,1105 AT 175 | 95.85.28.0/24,NL,NL-NH,Amsterdam,1105 AT 176 | 95.85.29.0/24,NL,NL-NH,Amsterdam,1105 AT 177 | 95.85.30.0/24,NL,NL-NH,Amsterdam,1105 AT 178 | 95.85.31.0/24,NL,NL-NH,Amsterdam,1105 AT 179 | 95.85.32.0/24,NL,NL-NH,Amsterdam,1105 AT 180 | 95.85.33.0/24,NL,NL-NH,Amsterdam,1105 AT 181 | 95.85.34.0/24,NL,NL-NH,Amsterdam,1105 AT 182 | 95.85.35.0/24,NL,NL-NH,Amsterdam,1105 AT 183 | 95.85.36.0/24,NL,NL-NH,Amsterdam,1105 AT 184 | 95.85.37.0/24,NL,NL-NH,Amsterdam,1105 AT 185 | 95.85.38.0/24,NL,NL-NH,Amsterdam,1105 AT 186 | 95.85.39.0/24,NL,NL-NH,Amsterdam,1105 AT 187 | 95.85.40.0/24,NL,NL-NH,Amsterdam,1105 AT 188 | 95.85.41.0/24,NL,NL-NH,Amsterdam,1105 AT 189 | 95.85.42.0/24,NL,NL-NH,Amsterdam,1105 AT 190 | 95.85.43.0/24,NL,NL-NH,Amsterdam,1105 AT 191 | 95.85.44.0/24,NL,NL-NH,Amsterdam,1105 AT 192 | 95.85.45.0/24,NL,NL-NH,Amsterdam,1105 AT 193 | 95.85.46.0/24,NL,NL-NH,Amsterdam,1105 AT 194 | 95.85.47.0/24,NL,NL-NH,Amsterdam,1105 AT 195 | 95.85.48.0/24,NL,NL-NH,Amsterdam,1105 AT 196 | 95.85.49.0/24,NL,NL-NH,Amsterdam,1105 AT 197 | 95.85.50.0/24,NL,NL-NH,Amsterdam,1105 AT 198 | 95.85.51.0/24,NL,NL-NH,Amsterdam,1105 AT 199 | 95.85.52.0/24,NL,NL-NH,Amsterdam,1105 AT 200 | 95.85.53.0/24,NL,NL-NH,Amsterdam,1105 AT 201 | 95.85.54.0/24,NL,NL-NH,Amsterdam,1105 AT 202 | 95.85.55.0/24,NL,NL-NH,Amsterdam,1105 AT 203 | 95.85.56.0/24,NL,NL-NH,Amsterdam,1105 AT 204 | 95.85.57.0/24,NL,NL-NH,Amsterdam,1105 AT 205 | 95.85.58.0/24,NL,NL-NH,Amsterdam,1105 AT 206 | 95.85.59.0/24,NL,NL-NH,Amsterdam,1105 AT 207 | 95.85.60.0/24,NL,NL-NH,Amsterdam,1105 AT 208 | 95.85.61.0/24,NL,NL-NH,Amsterdam,1105 AT 209 | 95.85.62.0/24,NL,NL-NH,Amsterdam,1105 AT 210 | 95.85.63.0/24,NL,NL-NH,Amsterdam,1105 AT 211 | 103.253.145.0/24,SG,SG-05,Singapore,627753 212 | 103.253.146.0/24,SG,SG-05,Singapore,627753 213 | 103.253.147.0/24,SG,SG-05,Singapore,627753 214 | 104.131.0.0/18,US,US-NJ,Clifton,07014 215 | 104.131.64.0/18,US,US-NJ,Clifton,07014 216 | 104.131.128.0/20,US,US-SF,San Francisco,94124 217 | 104.131.144.0/20,US,US-SF,San Francisco,94124 218 | 104.131.160.0/20,US,US-NJ,Clifton,07014 219 | 104.131.176.0/20,US,US-NJ,Clifton,07014 220 | 104.131.192.0/19,US,US-NY,New York,10011 221 | 104.131.224.0/19,US,US-NY,New York,10011 222 | 104.236.0.0/18,US,US-NJ,Clifton,07014 223 | 104.236.64.0/18,US,US-NJ,Clifton,07014 224 | 104.236.128.0/18,US,US-SF,San Francisco,94124 225 | 104.236.192.0/18,US,US-NJ,Clifton,07014 226 | 104.248.0.0/20,US,US-NJ,Clifton,07014 227 | 104.248.16.0/20,DE,DE-HE,Frankfurt,60341 228 | 104.248.32.0/20,DE,DE-HE,Frankfurt,60341 229 | 104.248.48.0/20,US,US-NJ,North Bergen,07047 230 | 104.248.64.0/20,US,US-CA,Santa Clara,95051 231 | 104.248.80.0/20,NL,NL-NH,Amsterdam,1098 XH 232 | 104.248.96.0/22,SG,SG-05,Singapore,627753 233 | 104.248.100.0/22,DE,DE-HE,Frankfurt,60341 234 | 104.248.104.0/22,CA,CA-ON,Toronto,M5A 0B2 235 | 104.248.108.0/22,US,US-NJ,North Bergen,07047 236 | 104.248.112.0/20,US,US-NJ,North Bergen,07047 237 | 104.248.128.0/20,DE,DE-HE,Frankfurt,60341 238 | 104.248.144.0/20,SG,SG-05,Singapore,627753 239 | 104.248.160.0/20,GB,GB-SLG,London,SL1 4AX 240 | 104.248.176.0/20,US,US-CA,Santa Clara,95051 241 | 104.248.192.0/20,NL,NL-NH,Amsterdam,1098 XH 242 | 104.248.208.0/20,US,US-CA,Santa Clara,95051 243 | 104.248.224.0/20,US,US-NJ,North Bergen,07047 244 | 104.248.240.0/20,DE,DE-HE,Frankfurt,60341 245 | 107.170.0.0/24,US,US-NY,New York,10011 246 | 107.170.1.0/24,US,US-NY,New York,10011 247 | 107.170.2.0/24,US,US-NY,New York,10011 248 | 107.170.3.0/24,US,US-NY,New York,10011 249 | 107.170.4.0/24,US,US-NY,New York,10011 250 | 107.170.5.0/24,US,US-NY,New York,10011 251 | 107.170.6.0/24,US,US-NY,New York,10011 252 | 107.170.7.0/24,US,US-NY,New York,10011 253 | 107.170.8.0/24,US,US-NY,New York,10011 254 | 107.170.9.0/24,US,US-NY,New York,10011 255 | 107.170.10.0/24,US,US-NY,New York,10011 256 | 107.170.11.0/24,US,US-NY,New York,10011 257 | 107.170.12.0/24,US,US-NY,New York,10011 258 | 107.170.13.0/24,US,US-NY,New York,10011 259 | 107.170.14.0/24,US,US-NY,New York,10011 260 | 107.170.15.0/24,US,US-NY,New York,10011 261 | 107.170.16.0/24,US,US-NY,New York,10011 262 | 107.170.17.0/24,US,US-NY,New York,10011 263 | 107.170.18.0/24,US,US-NY,New York,10011 264 | 107.170.19.0/24,US,US-NY,New York,10011 265 | 107.170.20.0/24,US,US-NY,New York,10011 266 | 107.170.21.0/24,US,US-NY,New York,10011 267 | 107.170.22.0/24,US,US-NY,New York,10011 268 | 107.170.23.0/24,US,US-NY,New York,10011 269 | 107.170.24.0/24,US,US-NY,New York,10011 270 | 107.170.25.0/24,US,US-NY,New York,10011 271 | 107.170.26.0/24,US,US-NY,New York,10011 272 | 107.170.27.0/24,US,US-NY,New York,10011 273 | 107.170.28.0/24,US,US-NY,New York,10011 274 | 107.170.29.0/24,US,US-NY,New York,10011 275 | 107.170.30.0/24,US,US-NY,New York,10011 276 | 107.170.31.0/24,US,US-NY,New York,10011 277 | 107.170.32.0/24,US,US-NY,New York,10011 278 | 107.170.33.0/24,US,US-NY,New York,10011 279 | 107.170.34.0/24,US,US-NY,New York,10011 280 | 107.170.35.0/24,US,US-NY,New York,10011 281 | 107.170.36.0/24,US,US-NY,New York,10011 282 | 107.170.37.0/24,US,US-NY,New York,10011 283 | 107.170.38.0/24,US,US-NY,New York,10011 284 | 107.170.39.0/24,US,US-NY,New York,10011 285 | 107.170.40.0/24,US,US-NY,New York,10011 286 | 107.170.41.0/24,US,US-NY,New York,10011 287 | 107.170.42.0/24,US,US-NY,New York,10011 288 | 107.170.43.0/24,US,US-NY,New York,10011 289 | 107.170.44.0/24,US,US-NY,New York,10011 290 | 107.170.45.0/24,US,US-NY,New York,10011 291 | 107.170.46.0/24,US,US-NY,New York,10011 292 | 107.170.47.0/24,US,US-NY,New York,10011 293 | 107.170.48.0/24,US,US-NY,New York,10011 294 | 107.170.49.0/24,US,US-NY,New York,10011 295 | 107.170.50.0/24,US,US-NY,New York,10011 296 | 107.170.51.0/24,US,US-NY,New York,10011 297 | 107.170.52.0/24,US,US-NY,New York,10011 298 | 107.170.53.0/24,US,US-NY,New York,10011 299 | 107.170.54.0/24,US,US-NY,New York,10011 300 | 107.170.55.0/24,US,US-NY,New York,10011 301 | 107.170.56.0/24,US,US-NY,New York,10011 302 | 107.170.57.0/24,US,US-NY,New York,10011 303 | 107.170.58.0/24,US,US-NY,New York,10011 304 | 107.170.59.0/24,US,US-NY,New York,10011 305 | 107.170.60.0/24,US,US-NY,New York,10011 306 | 107.170.61.0/24,US,US-NY,New York,10011 307 | 107.170.62.0/24,US,US-NY,New York,10011 308 | 107.170.63.0/24,US,US-NY,New York,10011 309 | 107.170.64.0/24,US,US-NY,New York,10011 310 | 107.170.65.0/24,US,US-NY,New York,10011 311 | 107.170.66.0/24,US,US-NY,New York,10011 312 | 107.170.67.0/24,US,US-NY,New York,10011 313 | 107.170.68.0/24,US,US-NY,New York,10011 314 | 107.170.69.0/24,US,US-NY,New York,10011 315 | 107.170.70.0/24,US,US-NY,New York,10011 316 | 107.170.71.0/24,US,US-NY,New York,10011 317 | 107.170.72.0/24,US,US-NY,New York,10011 318 | 107.170.73.0/24,US,US-NY,New York,10011 319 | 107.170.74.0/24,US,US-NY,New York,10011 320 | 107.170.75.0/24,US,US-NY,New York,10011 321 | 107.170.76.0/24,US,US-NY,New York,10011 322 | 107.170.77.0/24,US,US-NY,New York,10011 323 | 107.170.78.0/24,US,US-NY,New York,10011 324 | 107.170.79.0/24,US,US-NY,New York,10011 325 | 107.170.80.0/20,US,US-NY,New York,10011 326 | 107.170.96.0/20,US,US-NY,New York,10011 327 | 107.170.112.0/20,US,US-NY,New York,10011 328 | 107.170.128.0/19,US,US-NY,New York,10011 329 | 107.170.160.0/19,US,US-NY,New York,10011 330 | 107.170.192.0/20,US,US-SF,San Francisco,94124 331 | 107.170.208.0/20,US,US-SF,San Francisco,94124 332 | 107.170.224.0/24,US,US-SF,San Francisco,94124 333 | 107.170.225.0/24,US,US-SF,San Francisco,94124 334 | 107.170.226.0/24,US,US-SF,San Francisco,94124 335 | 107.170.227.0/24,US,US-SF,San Francisco,94124 336 | 107.170.228.0/24,US,US-SF,San Francisco,94124 337 | 107.170.229.0/24,US,US-SF,San Francisco,94124 338 | 107.170.230.0/24,US,US-SF,San Francisco,94124 339 | 107.170.231.0/24,US,US-SF,San Francisco,94124 340 | 107.170.232.0/24,US,US-SF,San Francisco,94124 341 | 107.170.233.0/24,US,US-SF,San Francisco,94124 342 | 107.170.234.0/24,US,US-SF,San Francisco,94124 343 | 107.170.235.0/24,US,US-SF,San Francisco,94124 344 | 107.170.236.0/24,US,US-SF,San Francisco,94124 345 | 107.170.237.0/24,US,US-SF,San Francisco,94124 346 | 107.170.238.0/24,US,US-SF,San Francisco,94124 347 | 107.170.239.0/24,US,US-SF,San Francisco,94124 348 | 107.170.240.0/24,US,US-SF,San Francisco,94124 349 | 107.170.241.0/24,US,US-SF,San Francisco,94124 350 | 107.170.242.0/24,US,US-SF,San Francisco,94124 351 | 107.170.243.0/24,US,US-SF,San Francisco,94124 352 | 107.170.244.0/24,US,US-SF,San Francisco,94124 353 | 107.170.245.0/24,US,US-SF,San Francisco,94124 354 | 107.170.246.0/24,US,US-SF,San Francisco,94124 355 | 107.170.247.0/24,US,US-SF,San Francisco,94124 356 | 107.170.248.0/24,US,US-SF,San Francisco,94124 357 | 107.170.249.0/24,US,US-SF,San Francisco,94124 358 | 107.170.250.0/24,US,US-SF,San Francisco,94124 359 | 107.170.251.0/24,US,US-SF,San Francisco,94124 360 | 107.170.252.0/24,US,US-SF,San Francisco,94124 361 | 107.170.253.0/24,US,US-SF,San Francisco,94124 362 | 107.170.254.0/24,US,US-SF,San Francisco,94124 363 | 107.170.255.0/24,US,US-SF,San Francisco,94124 364 | 128.199.0.0/20,US,US-CA,Santa Clara,95054 365 | 128.199.16.0/20,IN,IN-KA,Bangalore,560100 366 | 128.199.32.0/19,NL,NL-NH,Amsterdam,1098 XH 367 | 128.199.64.0/18,SG,SG-05,Singapore,627753 368 | 128.199.128.0/18,SG,SG-05,Singapore,627753 369 | 128.199.192.0/18,SG,SG-05,Singapore,627753 370 | 134.122.0.0/20,US,US-NJ,Clifton,07014 371 | 134.122.16.0/20,US,US-NJ,North Bergen,07047 372 | 134.122.32.0/20,CA,CA-ON,Toronto,M5A 0B2 373 | 134.122.48.0/20,NL,NL-NH,Amsterdam,1098 XH 374 | 134.122.64.0/20,DE,DE-HE,Frankfurt,60341 375 | 134.122.80.0/20,DE,DE-HE,Frankfurt,60341 376 | 134.122.96.0/20,GB,GB-SLG,London,SL1 4AX 377 | 134.122.112.0/20,US,US-NJ,North Bergen,07047 378 | 134.209.0.0/20,US,US-CA,Santa Clara,95051 379 | 134.209.16.0/20,GB,GB-SLG,London,SL1 4AX 380 | 134.209.32.0/20,US,US-NJ,Clifton,07014 381 | 134.209.48.0/20,US,US-CA,Santa Clara,95051 382 | 134.209.64.0/20,US,US-NJ,North Bergen,07047 383 | 134.209.80.0/20,NL,NL-NH,Amsterdam,1098 XH 384 | 134.209.96.0/20,SG,SG-05,Singapore,627753 385 | 134.209.112.0/20,US,US-NJ,North Bergen,07047 386 | 134.209.128.0/22,US,US-NJ,North Bergen,07047 387 | 134.209.132.0/22,NL,NL-NH,Amsterdam,1098 XH 388 | 134.209.136.0/22,NL,NL-NH,Amsterdam,1098 XH 389 | 134.209.140.0/22,US,US-CA,Santa Clara,95051 390 | 134.209.144.0/20,IN,IN-KA,Bangalore,560100 391 | 134.209.160.0/20,US,US-NJ,Clifton,07014 392 | 134.209.176.0/20,GB,GB-SLG,London,SL1 4AX 393 | 134.209.192.0/20,NL,NL-NH,Amsterdam,1098 XH 394 | 134.209.208.0/20,US,US-NJ,North Bergen,07047 395 | 134.209.224.0/20,DE,DE-HE,Frankfurt,60341 396 | 134.209.240.0/20,DE,DE-HE,Frankfurt,60341 397 | 137.184.0.0/20,US,US-CA,Santa Clara,95054 398 | 137.184.16.0/20,US,US-NJ,North Bergen,07047 399 | 137.184.32.0/20,US,US-CA,Santa Clara,95054 400 | 137.184.48.0/20,US,US-NJ,North Bergen,07047 401 | 137.184.64.0/20,US,US-NJ,North Bergen,07047 402 | 137.184.80.0/20,US,US-CA,Santa Clara,95054 403 | 137.184.96.0/20,US,US-NJ,North Bergen,07047 404 | 137.184.112.0/20,US,US-CA,Santa Clara,95054 405 | 137.184.128.0/20,US,US-NJ,North Bergen,07047 406 | 137.184.144.0/20,US,US-NJ,North Bergen,07047 407 | 137.184.160.0/20,CA,CA-ON,Toronto,M5A 0B2 408 | 137.184.176.0/20,US,US-CA,Santa Clara,95054 409 | 137.184.192.0/20,US,US-NJ,North Bergen,07047 410 | 137.184.208.0/20,US,US-NJ,North Bergen,07047 411 | 137.184.224.0/20,US,US-CA,Santa Clara,95054 412 | 137.184.240.0/22,US,US-NJ,North Bergen,07047 413 | 137.184.244.0/22,US,US-CA,Santa Clara,95054 414 | 137.184.248.0/22,SG,SG-05,Singapore,627753 415 | 137.184.254.0/24,US,US-NY,New York,10011 416 | 137.184.255.0/24,US,US-SF,San Francisco,94124 417 | 138.68.0.0/20,US,US-CA,Santa Clara,95051 418 | 138.68.16.0/20,US,US-CA,Santa Clara,95051 419 | 138.68.36.0/22,US,US-CA,Santa Clara,95051 420 | 138.68.40.0/21,US,US-CA,Santa Clara,95051 421 | 138.68.48.0/20,US,US-CA,Santa Clara,95051 422 | 138.68.64.0/20,DE,DE-HE,Frankfurt,60341 423 | 138.68.80.0/20,DE,DE-HE,Frankfurt,60341 424 | 138.68.96.0/20,DE,DE-HE,Frankfurt,60341 425 | 138.68.112.0/22,DE,DE-HE,Frankfurt,60341 426 | 138.68.116.0/22,GB,GB-SLG,London,SL1 4AX 427 | 138.68.120.0/23,NL,NL-NH,Amsterdam,1105 AT 428 | 138.68.122.0/23,NL,NL-NH,Amsterdam,1098 XH 429 | 138.68.124.0/22,DE,DE-HE,Frankfurt,60341 430 | 138.68.128.0/20,GB,GB-SLG,London,SL1 4AX 431 | 138.68.144.0/20,GB,GB-SLG,London,SL1 4AX 432 | 138.68.160.0/20,GB,GB-SLG,London,SL1 4AX 433 | 138.68.176.0/20,GB,GB-SLG,London,SL1 4AX 434 | 138.68.192.0/22,US,US-SF,San Francisco,94124 435 | 138.68.196.0/22,US,US-SF,San Francisco,94124 436 | 138.68.200.0/22,US,US-SF,San Francisco,94124 437 | 138.68.204.0/22,NL,NL-NH,Amsterdam,1105 AT 438 | 138.68.208.0/20,US,US-SF,San Francisco,94124 439 | 138.68.224.0/20,US,US-CA,Santa Clara,95051 440 | 138.68.240.0/20,US,US-CA,Santa Clara,95051 441 | 138.197.0.0/20,US,US-NJ,Clifton,07014 442 | 138.197.16.0/20,US,US-NJ,Clifton,07014 443 | 138.197.32.0/20,US,US-NJ,Clifton,07014 444 | 138.197.48.0/22,US,US-NJ,Clifton,07014 445 | 138.197.52.0/22,US,US-NJ,Clifton,07014 446 | 138.197.56.0/22,US,US-NJ,Clifton,07014 447 | 138.197.60.0/22,US,US-NJ,Clifton,07014 448 | 138.197.64.0/20,US,US-NJ,Clifton,07014 449 | 138.197.80.0/20,US,US-NJ,Clifton,07014 450 | 138.197.96.0/20,US,US-NJ,Clifton,07014 451 | 138.197.112.0/20,US,US-NJ,Clifton,07014 452 | 138.197.128.0/20,CA,CA-ON,Toronto,M5A 0B2 453 | 138.197.144.0/20,CA,CA-ON,Toronto,M5A 0B2 454 | 138.197.160.0/20,CA,CA-ON,Toronto,M5A 0B2 455 | 138.197.176.0/20,DE,DE-HE,Frankfurt,60341 456 | 138.197.192.0/20,US,US-CA,Santa Clara,95051 457 | 138.197.208.0/20,US,US-CA,Santa Clara,95051 458 | 138.197.224.0/22,US,US-NJ,North Bergen,07047 459 | 138.197.228.0/22,US,US-NJ,North Bergen,07047 460 | 138.197.232.0/22,US,US-CA,Santa Clara,95051 461 | 138.197.236.0/22,US,US-CA,Santa Clara,95051 462 | 138.197.240.0/22,US,US-NY,New York,10011 463 | 138.197.252.0/22,US,US-NY,New York,10011 464 | 139.59.0.0/20,IN,IN-KA,Bangalore,560100 465 | 139.59.16.0/20,IN,IN-KA,Bangalore,560100 466 | 139.59.32.0/20,IN,IN-KA,Bangalore,560100 467 | 139.59.48.0/22,IN,IN-KA,Bangalore,560100 468 | 139.59.52.0/22,IN,IN-KA,Bangalore,560100 469 | 139.59.56.0/21,IN,IN-KA,Bangalore,560100 470 | 139.59.64.0/20,IN,IN-KA,Bangalore,560100 471 | 139.59.80.0/20,IN,IN-KA,Bangalore,560100 472 | 139.59.96.0/20,SG,SG-05,Singapore,627753 473 | 139.59.112.0/20,SG,SG-05,Singapore,627753 474 | 139.59.128.0/20,DE,DE-HE,Frankfurt,60341 475 | 139.59.144.0/20,DE,DE-HE,Frankfurt,60341 476 | 139.59.160.0/20,GB,GB-SLG,London,SL1 4AX 477 | 139.59.176.0/20,GB,GB-SLG,London,SL1 4AX 478 | 139.59.192.0/22,SG,SG-05,Singapore,627753 479 | 139.59.196.0/22,GB,GB-SLG,London,SL1 4AX 480 | 139.59.200.0/22,GB,GB-SLG,London,SL1 4AX 481 | 139.59.204.0/22,DE,DE-HE,Frankfurt,60341 482 | 139.59.208.0/21,DE,DE-HE,Frankfurt,60341 483 | 139.59.216.0/22,SG,SG-05,Singapore,627753 484 | 139.59.220.0/22,SG,SG-05,Singapore,627753 485 | 139.59.224.0/20,SG,SG-05,Singapore,627753 486 | 139.59.240.0/20,SG,SG-05,Singapore,627753 487 | 141.0.169.0/24,NL,NL-NH,Amsterdam,1105 AT 488 | 141.0.170.0/24,NL,NL-NH,Amsterdam,1105 AT 489 | 142.93.0.0/20,US,US-NJ,North Bergen,07047 490 | 142.93.16.0/20,US,US-CA,Santa Clara,95051 491 | 142.93.32.0/20,GB,GB-SLG,London,SL1 4AX 492 | 142.93.48.0/20,US,US-NJ,North Bergen,07047 493 | 142.93.64.0/20,US,US-NJ,Clifton,07014 494 | 142.93.80.0/20,US,US-CA,Santa Clara,95051 495 | 142.93.96.0/20,DE,DE-HE,Frankfurt,60341 496 | 142.93.112.0/20,US,US-NJ,North Bergen,07047 497 | 142.93.128.0/20,NL,NL-NH,Amsterdam,1098 XH 498 | 142.93.144.0/20,CA,CA-ON,Toronto,M5A 0B2 499 | 142.93.160.0/20,DE,DE-HE,Frankfurt,60341 500 | 142.93.176.0/20,US,US-NJ,Clifton,07014 501 | 142.93.192.0/20,US,US-NJ,North Bergen,07047 502 | 142.93.208.0/20,IN,IN-KA,Bangalore,560100 503 | 142.93.224.0/20,NL,NL-NH,Amsterdam,1098 XH 504 | 142.93.240.0/20,US,US-NJ,North Bergen,07047 505 | 143.110.128.0/20,US,US-CA,Santa Clara,95051 506 | 143.110.144.0/20,US,US-CA,Santa Clara,95054 507 | 143.110.160.0/20,GB,GB-SLG,London,SL1 4AX 508 | 143.110.176.0/20,IN,IN-KA,Bangalore,560100 509 | 143.110.192.0/20,US,US-CA,Santa Clara,95051 510 | 143.110.208.0/20,CA,CA-ON,Toronto,M5A 0B2 511 | 143.110.224.0/20,US,US-CA,Santa Clara,95054 512 | 143.110.240.0/20,IN,IN-KA,Bangalore,560100 513 | 143.198.0.0/20,US,US-NJ,Clifton,07014 514 | 143.198.16.0/20,US,US-NJ,Clifton,07014 515 | 143.198.32.0/20,CA,CA-ON,Toronto,M5A 0B2 516 | 143.198.48.0/20,US,US-CA,Santa Clara,95054 517 | 143.198.64.0/20,US,US-CA,Santa Clara,95054 518 | 143.198.80.0/20,SG,SG-05,Singapore,627753 519 | 143.198.96.0/20,US,US-CA,Santa Clara,95054 520 | 143.198.112.0/20,US,US-NJ,North Bergen,07047 521 | 143.198.128.0/20,US,US-CA,Santa Clara,95054 522 | 143.198.144.0/20,US,US-CA,Santa Clara,95054 523 | 143.198.160.0/20,US,US-NJ,North Bergen,07047 524 | 143.198.176.0/20,US,US-NJ,North Bergen,07047 525 | 143.198.192.0/20,SG,SG-05,Singapore,627753 526 | 143.198.208.0/20,SG,SG-05,Singapore,627753 527 | 143.198.224.0/20,US,US-CA,Santa Clara,95054 528 | 143.198.240.0/22,GB,GB-SLG,London,SL1 4AX 529 | 143.198.244.0/22,US,US-CA,Santa Clara,95054 530 | 143.198.248.0/22,NL,NL-NH,Amsterdam,1098 XH 531 | 143.244.128.0/20,IN,IN-KA,Bangalore,560100 532 | 143.244.144.0/20,US,US-NJ,North Bergen,07047 533 | 143.244.160.0/20,US,US-NJ,North Bergen,07047 534 | 143.244.176.0/20,US,US-CA,Santa Clara,95054 535 | 143.244.196.0/22,NL,NL-NH,Amsterdam,1098 XH 536 | 143.244.200.0/22,US,US-NJ,North Bergen,07047 537 | 143.244.204.0/22,DE,DE-HE,Frankfurt,60341 538 | 143.244.208.0/22,US,US-CA,Santa Clara,95054 539 | 143.244.212.0/22,US,US-NJ,North Bergen,07047 540 | 143.244.218.0/24,NL,NL-NH,Amsterdam,1105 AT 541 | 143.244.220.0/22,US,US-NJ,Clifton,07014 542 | 144.126.192.0/20,GB,GB-SLG,London,SL1 4AX 543 | 144.126.208.0/20,US,US-CA,Santa Clara,95054 544 | 144.126.224.0/20,GB,GB-SLG,London,SL1 4AX 545 | 144.126.240.0/22,SG,SG-05,Singapore,627753 546 | 144.126.244.0/22,DE,DE-HE,Frankfurt,60341 547 | 144.126.248.0/22,US,US-NJ,Clifton,07014 548 | 144.126.252.0/22,IN,IN-KA,Bangalore,560100 549 | 146.185.128.0/24,NL,NL-NH,Amsterdam,1105 AT 550 | 146.185.129.0/24,NL,NL-NH,Amsterdam,1105 AT 551 | 146.185.130.0/24,NL,NL-NH,Amsterdam,1105 AT 552 | 146.185.131.0/24,NL,NL-NH,Amsterdam,1105 AT 553 | 146.185.132.0/24,NL,NL-NH,Amsterdam,1105 AT 554 | 146.185.133.0/24,NL,NL-NH,Amsterdam,1105 AT 555 | 146.185.134.0/24,NL,NL-NH,Amsterdam,1105 AT 556 | 146.185.135.0/24,NL,NL-NH,Amsterdam,1105 AT 557 | 146.185.136.0/24,NL,NL-NH,Amsterdam,1105 AT 558 | 146.185.137.0/24,NL,NL-NH,Amsterdam,1105 AT 559 | 146.185.138.0/24,NL,NL-NH,Amsterdam,1105 AT 560 | 146.185.139.0/24,NL,NL-NH,Amsterdam,1105 AT 561 | 146.185.140.0/24,NL,NL-NH,Amsterdam,1105 AT 562 | 146.185.141.0/24,NL,NL-NH,Amsterdam,1105 AT 563 | 146.185.142.0/24,NL,NL-NH,Amsterdam,1105 AT 564 | 146.185.143.0/24,NL,NL-NH,Amsterdam,1105 AT 565 | 146.185.144.0/24,NL,NL-NH,Amsterdam,1105 AT 566 | 146.185.145.0/24,NL,NL-NH,Amsterdam,1105 AT 567 | 146.185.146.0/24,NL,NL-NH,Amsterdam,1105 AT 568 | 146.185.147.0/24,NL,NL-NH,Amsterdam,1105 AT 569 | 146.185.148.0/24,NL,NL-NH,Amsterdam,1105 AT 570 | 146.185.149.0/24,NL,NL-NH,Amsterdam,1105 AT 571 | 146.185.150.0/24,NL,NL-NH,Amsterdam,1105 AT 572 | 146.185.151.0/24,NL,NL-NH,Amsterdam,1105 AT 573 | 146.185.152.0/24,NL,NL-NH,Amsterdam,1105 AT 574 | 146.185.153.0/24,NL,NL-NH,Amsterdam,1105 AT 575 | 146.185.154.0/24,NL,NL-NH,Amsterdam,1105 AT 576 | 146.185.155.0/24,NL,NL-NH,Amsterdam,1105 AT 577 | 146.185.156.0/24,NL,NL-NH,Amsterdam,1105 AT 578 | 146.185.157.0/24,NL,NL-NH,Amsterdam,1105 AT 579 | 146.185.158.0/24,NL,NL-NH,Amsterdam,1105 AT 580 | 146.185.159.0/24,NL,NL-NH,Amsterdam,1105 AT 581 | 146.185.160.0/24,NL,NL-NH,Amsterdam,1105 AT 582 | 146.185.161.0/24,NL,NL-NH,Amsterdam,1105 AT 583 | 146.185.162.0/24,NL,NL-NH,Amsterdam,1105 AT 584 | 146.185.163.0/24,NL,NL-NH,Amsterdam,1105 AT 585 | 146.185.164.0/24,NL,NL-NH,Amsterdam,1105 AT 586 | 146.185.165.0/24,NL,NL-NH,Amsterdam,1105 AT 587 | 146.185.166.0/24,NL,NL-NH,Amsterdam,1105 AT 588 | 146.185.167.0/24,NL,NL-NH,Amsterdam,1105 AT 589 | 146.185.168.0/24,NL,NL-NH,Amsterdam,1105 AT 590 | 146.185.169.0/24,NL,NL-NH,Amsterdam,1105 AT 591 | 146.185.170.0/24,NL,NL-NH,Amsterdam,1105 AT 592 | 146.185.171.0/24,NL,NL-NH,Amsterdam,1105 AT 593 | 146.185.172.0/24,NL,NL-NH,Amsterdam,1105 AT 594 | 146.185.173.0/24,NL,NL-NH,Amsterdam,1105 AT 595 | 146.185.174.0/24,NL,NL-NH,Amsterdam,1105 AT 596 | 146.185.175.0/24,NL,NL-NH,Amsterdam,1105 AT 597 | 146.185.176.0/24,NL,NL-NH,Amsterdam,1105 AT 598 | 146.185.177.0/24,NL,NL-NH,Amsterdam,1105 AT 599 | 146.185.178.0/24,NL,NL-NH,Amsterdam,1105 AT 600 | 146.185.179.0/24,NL,NL-NH,Amsterdam,1105 AT 601 | 146.185.180.0/24,NL,NL-NH,Amsterdam,1105 AT 602 | 146.185.181.0/24,NL,NL-NH,Amsterdam,1105 AT 603 | 146.185.182.0/24,NL,NL-NH,Amsterdam,1105 AT 604 | 146.185.183.0/24,NL,NL-NH,Amsterdam,1105 AT 605 | 146.185.184.0/21,NL,NL-NH,Amsterdam,1105 AT 606 | 146.190.0.0/22,US,US-CA,Santa Clara,95054 607 | 146.190.4.0/22,SG,SG-05,Singapore,627753 608 | 146.190.8.0/22,IN,IN-KA,Bangalore,560100 609 | 146.190.12.0/22,US,US-CA,Santa Clara,95054 610 | 146.190.16.0/20,NL,NL-NH,Amsterdam,1098 XH 611 | 146.190.32.0/19,US,US-CA,Santa Clara,95054 612 | 146.190.64.0/20,US,US-NJ,North Bergen,07047 613 | 146.190.80.0/20,SG,SG-05,Singapore,627753 614 | 146.190.96.0/20,SG,SG-05,Singapore,627753 615 | 146.190.112.0/20,US,US-CA,Santa Clara,95054 616 | 146.190.128.0/19,US,US-CA,Santa Clara,95054 617 | 146.190.160.0/20,US,US-CA,Santa Clara,95054 618 | 146.190.176.0/22,DE,DE-HE,Frankfurt,60341 619 | 146.190.184.0/22,US,US-NJ,North Bergen,07047 620 | 146.190.188.0/22,CA,CA-ON,Toronto,M5A 0B2 621 | 146.190.192.0/22,SG,SG-05,Singapore,627753 622 | 146.190.196.0/22,US,US-NJ,North Bergen,07047 623 | 146.190.200.0/22,SG,SG-05,Singapore,627753 624 | 146.190.204.0/22,DE,DE-HE,Frankfurt,60341 625 | 146.190.208.0/20,US,US-NJ,North Bergen,07047 626 | 146.190.224.0/20,NL,NL-NH,Amsterdam,1098 XH 627 | 146.190.240.0/20,CA,CA-ON,Toronto,M5A 0B2 628 | 147.182.128.0/20,US,US-NJ,North Bergen,07047 629 | 147.182.144.0/20,CA,CA-ON,Toronto,M5A 0B2 630 | 147.182.160.0/20,US,US-NJ,North Bergen,07047 631 | 147.182.176.0/20,US,US-NJ,North Bergen,07047 632 | 147.182.192.0/20,US,US-CA,Santa Clara,95054 633 | 147.182.208.0/20,US,US-NJ,North Bergen,07047 634 | 147.182.224.0/20,US,US-CA,Santa Clara,95054 635 | 147.182.240.0/20,US,US-CA,Santa Clara,95054 636 | 157.230.0.0/20,US,US-NJ,North Bergen,07047 637 | 157.230.16.0/20,DE,DE-HE,Frankfurt,60341 638 | 157.230.32.0/20,SG,SG-05,Singapore,627753 639 | 157.230.48.0/20,US,US-NJ,North Bergen,07047 640 | 157.230.64.0/22,US,US-NJ,North Bergen,07047 641 | 157.230.68.0/22,CA,CA-ON,Toronto,M5A 0B2 642 | 157.230.72.0/22,US,US-CA,Santa Clara,95051 643 | 157.230.76.0/22,DE,DE-HE,Frankfurt,60341 644 | 157.230.80.0/20,US,US-NJ,North Bergen,07047 645 | 157.230.96.0/20,DE,DE-HE,Frankfurt,60341 646 | 157.230.112.0/20,DE,DE-HE,Frankfurt,60341 647 | 157.230.128.0/20,US,US-CA,Santa Clara,95051 648 | 157.230.144.0/20,US,US-CA,Santa Clara,95051 649 | 157.230.160.0/20,US,US-CA,Santa Clara,95051 650 | 157.230.176.0/20,US,US-NJ,North Bergen,07047 651 | 157.230.192.0/22,SG,SG-05,Singapore,627753 652 | 157.230.196.0/22,US,US-CA,Santa Clara,95051 653 | 157.230.200.0/22,US,US-NJ,North Bergen,07047 654 | 157.230.204.0/22,US,US-CA,Santa Clara,95051 655 | 157.230.208.0/20,US,US-NJ,North Bergen,07047 656 | 157.230.224.0/20,US,US-NJ,North Bergen,07047 657 | 157.230.240.0/20,SG,SG-05,Singapore,627753 658 | 157.245.0.0/20,US,US-NJ,Clifton,07014 659 | 157.245.16.0/22,DE,DE-HE,Frankfurt,60341 660 | 157.245.20.0/22,DE,DE-HE,Frankfurt,60341 661 | 157.245.24.0/22,DE,DE-HE,Frankfurt,60341 662 | 157.245.28.0/22,GB,GB-SLG,London,SL1 4AX 663 | 157.245.32.0/20,GB,GB-SLG,London,SL1 4AX 664 | 157.245.48.0/20,SG,SG-05,Singapore,627753 665 | 157.245.64.0/20,NL,NL-NH,Amsterdam,1098 XH 666 | 157.245.80.0/20,US,US-NJ,North Bergen,07047 667 | 157.245.96.0/20,IN,IN-KA,Bangalore,560100 668 | 157.245.112.0/20,US,US-NJ,Clifton,07014 669 | 157.245.128.0/20,US,US-NJ,North Bergen,07047 670 | 157.245.144.0/20,SG,SG-05,Singapore,627753 671 | 157.245.160.0/20,US,US-CA,Santa Clara,95051 672 | 157.245.176.0/20,US,US-CA,Santa Clara,95051 673 | 157.245.192.0/20,SG,SG-05,Singapore,627753 674 | 157.245.208.0/20,US,US-NJ,Clifton,07014 675 | 157.245.224.0/20,US,US-CA,Santa Clara,95051 676 | 157.245.240.0/20,US,US-NJ,North Bergen,07047 677 | 159.65.0.0/20,SG,SG-05,Singapore,627753 678 | 159.65.16.0/20,GB,GB-SLG,London,SL1 4AX 679 | 159.65.32.0/20,US,US-NJ,Clifton,07014 680 | 159.65.48.0/20,GB,GB-SLG,London,SL1 4AX 681 | 159.65.64.0/20,US,US-CA,Santa Clara,95051 682 | 159.65.80.0/20,GB,GB-SLG,London,SL1 4AX 683 | 159.65.96.0/20,US,US-CA,Santa Clara,95051 684 | 159.65.112.0/20,DE,DE-HE,Frankfurt,60341 685 | 159.65.128.0/20,SG,SG-05,Singapore,627753 686 | 159.65.144.0/20,IN,IN-KA,Bangalore,560100 687 | 159.65.160.0/20,US,US-NJ,Clifton,07014 688 | 159.65.176.0/20,US,US-NJ,Clifton,07014 689 | 159.65.192.0/20,NL,NL-NH,Amsterdam,1098 XH 690 | 159.65.208.0/22,GB,GB-SLG,London,SL1 4AX 691 | 159.65.212.0/22,GB,GB-SLG,London,SL1 4AX 692 | 159.65.216.0/21,US,US-NJ,North Bergen,07047 693 | 159.65.224.0/20,US,US-NJ,North Bergen,07047 694 | 159.65.240.0/20,US,US-NJ,Clifton,07014 695 | 159.89.0.0/20,DE,DE-HE,Frankfurt,60341 696 | 159.89.16.0/20,DE,DE-HE,Frankfurt,60341 697 | 159.89.32.0/20,US,US-NJ,Clifton,07014 698 | 159.89.48.0/21,US,US-NJ,North Bergen,07047 699 | 159.89.64.0/20,US,US-NJ,North Bergen,07047 700 | 159.89.80.0/20,US,US-NJ,North Bergen,07047 701 | 159.89.96.0/20,DE,DE-HE,Frankfurt,60341 702 | 159.89.112.0/20,CA,CA-ON,Toronto,M5A 0B2 703 | 159.89.128.0/20,US,US-CA,Santa Clara,95051 704 | 159.89.144.0/20,US,US-CA,Santa Clara,95051 705 | 159.89.160.0/20,IN,IN-KA,Bangalore,560100 706 | 159.89.176.0/20,US,US-NJ,Clifton,07014 707 | 159.89.192.0/20,SG,SG-05,Singapore,627753 708 | 159.89.208.0/22,SG,SG-05,Singapore,627753 709 | 159.89.212.0/22,DE,DE-HE,Frankfurt,60341 710 | 159.89.216.0/22,US,US-NY,New York,10011 711 | 159.89.220.0/22,US,US-CA,Santa Clara,95051 712 | 159.89.224.0/20,US,US-NJ,North Bergen,07047 713 | 159.89.240.0/22,US,US-NJ,Clifton,07014 714 | 159.89.244.0/22,US,US-NJ,Clifton,07014 715 | 159.89.248.0/22,GB,GB-SLG,London,SL1 4AX 716 | 159.89.252.0/22,US,US-NJ,Clifton,07014 717 | 159.203.0.0/20,CA,CA-ON,Toronto,M5A 0B2 718 | 159.203.16.0/20,CA,CA-ON,Toronto,M5A 0B2 719 | 159.203.32.0/20,CA,CA-ON,Toronto,M5A 0B2 720 | 159.203.48.0/22,CA,CA-ON,Toronto,M5A 0B2 721 | 159.203.52.0/22,CA,CA-ON,Toronto,M5A 0B2 722 | 159.203.56.0/21,CA,CA-ON,Toronto,M5A 0B2 723 | 159.203.64.0/20,US,US-NJ,Clifton,07014 724 | 159.203.80.0/20,US,US-NJ,Clifton,07014 725 | 159.203.96.0/20,US,US-NJ,Clifton,07014 726 | 159.203.112.0/20,US,US-NJ,Clifton,07014 727 | 159.203.128.0/20,US,US-NJ,Clifton,07014 728 | 159.203.144.0/22,US,US-NJ,Clifton,07014 729 | 159.203.148.0/22,US,US-NJ,Clifton,07014 730 | 159.203.152.0/22,US,US-NY,New York,10011 731 | 159.203.156.0/22,US,US-NJ,North Bergen,07047 732 | 159.203.160.0/20,US,US-NJ,Clifton,07014 733 | 159.203.176.0/20,US,US-NJ,North Bergen,07047 734 | 159.203.192.0/20,US,US-SF,San Francisco,94124 735 | 159.203.208.0/20,US,US-SF,San Francisco,94124 736 | 159.203.224.0/20,US,US-SF,San Francisco,94124 737 | 159.203.240.0/20,US,US-SF,San Francisco,94124 738 | 159.223.0.0/20,NL,NL-NH,Amsterdam,1098 XH 739 | 159.223.16.0/20,DE,DE-HE,Frankfurt,60341 740 | 159.223.32.0/20,SG,SG-05,Singapore,627753 741 | 159.223.48.0/20,SG,SG-05,Singapore,627753 742 | 159.223.64.0/20,SG,SG-05,Singapore,627753 743 | 159.223.80.0/20,SG,SG-05,Singapore,627753 744 | 159.223.96.0/20,US,US-NJ,North Bergen,07047 745 | 159.223.112.0/20,US,US-NJ,North Bergen,07047 746 | 159.223.128.0/20,US,US-NJ,North Bergen,07047 747 | 159.223.144.0/20,US,US-NJ,North Bergen,07047 748 | 159.223.160.0/19,US,US-NJ,North Bergen,07047 749 | 159.223.192.0/20,US,US-CA,Santa Clara,95054 750 | 159.223.208.0/20,NL,NL-NH,Amsterdam,1098 XH 751 | 159.223.224.0/20,NL,NL-NH,Amsterdam,1098 XH 752 | 159.223.240.0/22,NL,NL-NH,Amsterdam,1098 XH 753 | 159.223.244.0/22,GB,GB-SLG,London,SL1 4AX 754 | 159.223.248.0/22,DE,DE-HE,Frankfurt,60341 755 | 161.35.0.0/20,US,US-NJ,North Bergen,07047 756 | 161.35.16.0/20,DE,DE-HE,Frankfurt,60341 757 | 161.35.32.0/20,GB,GB-SLG,London,SL1 4AX 758 | 161.35.48.0/20,US,US-NJ,North Bergen,07047 759 | 161.35.64.0/20,DE,DE-HE,Frankfurt,60341 760 | 161.35.80.0/20,NL,NL-NH,Amsterdam,1098 XH 761 | 161.35.96.0/20,US,US-NJ,North Bergen,07047 762 | 161.35.112.0/20,US,US-NJ,North Bergen,07047 763 | 161.35.128.0/20,US,US-NJ,Clifton,07014 764 | 161.35.144.0/20,NL,NL-NH,Amsterdam,1098 XH 765 | 161.35.160.0/20,GB,GB-SLG,London,SL1 4AX 766 | 161.35.176.0/20,US,US-NJ,Clifton,07014 767 | 161.35.192.0/20,DE,DE-HE,Frankfurt,60341 768 | 161.35.208.0/20,DE,DE-HE,Frankfurt,60341 769 | 161.35.224.0/20,US,US-CA,Santa Clara,95054 770 | 161.35.240.0/22,US,US-CA,Santa Clara,95051 771 | 161.35.244.0/22,NL,NL-NH,Amsterdam,1098 XH 772 | 161.35.248.0/22,US,US-NJ,Clifton,07014 773 | 161.35.252.0/22,US,US-NJ,North Bergen,07047 774 | 162.243.0.0/24,US,US-NY,New York,10011 775 | 162.243.1.0/24,US,US-NY,New York,10011 776 | 162.243.2.0/24,US,US-NY,New York,10011 777 | 162.243.3.0/24,US,US-NY,New York,10011 778 | 162.243.4.0/24,US,US-NY,New York,10011 779 | 162.243.5.0/24,US,US-NY,New York,10011 780 | 162.243.6.0/24,US,US-NY,New York,10011 781 | 162.243.7.0/24,US,US-NY,New York,10011 782 | 162.243.8.0/24,US,US-NY,New York,10011 783 | 162.243.9.0/24,US,US-NY,New York,10011 784 | 162.243.10.0/24,US,US-NY,New York,10011 785 | 162.243.11.0/24,US,US-NY,New York,10011 786 | 162.243.12.0/24,US,US-NY,New York,10011 787 | 162.243.13.0/24,US,US-NY,New York,10011 788 | 162.243.14.0/24,US,US-NY,New York,10011 789 | 162.243.15.0/24,US,US-NY,New York,10011 790 | 162.243.16.0/24,US,US-NY,New York,10011 791 | 162.243.17.0/24,US,US-NY,New York,10011 792 | 162.243.18.0/24,US,US-NY,New York,10011 793 | 162.243.19.0/24,US,US-NY,New York,10011 794 | 162.243.20.0/24,US,US-NY,New York,10011 795 | 162.243.21.0/24,US,US-NY,New York,10011 796 | 162.243.22.0/24,US,US-NY,New York,10011 797 | 162.243.23.0/24,US,US-NY,New York,10011 798 | 162.243.24.0/24,US,US-NY,New York,10011 799 | 162.243.25.0/24,US,US-NY,New York,10011 800 | 162.243.26.0/24,US,US-NY,New York,10011 801 | 162.243.27.0/24,US,US-NY,New York,10011 802 | 162.243.28.0/24,US,US-NY,New York,10011 803 | 162.243.29.0/24,US,US-NY,New York,10011 804 | 162.243.30.0/24,US,US-NY,New York,10011 805 | 162.243.31.0/24,US,US-NY,New York,10011 806 | 162.243.32.0/24,US,US-NY,New York,10011 807 | 162.243.33.0/24,US,US-NY,New York,10011 808 | 162.243.34.0/24,US,US-NY,New York,10011 809 | 162.243.35.0/24,US,US-NY,New York,10011 810 | 162.243.36.0/24,US,US-NY,New York,10011 811 | 162.243.37.0/24,US,US-NY,New York,10011 812 | 162.243.38.0/24,US,US-NY,New York,10011 813 | 162.243.39.0/24,US,US-NY,New York,10011 814 | 162.243.40.0/24,US,US-NY,New York,10011 815 | 162.243.41.0/24,US,US-NY,New York,10011 816 | 162.243.42.0/24,US,US-NY,New York,10011 817 | 162.243.43.0/24,US,US-NY,New York,10011 818 | 162.243.44.0/24,US,US-NY,New York,10011 819 | 162.243.45.0/24,US,US-NY,New York,10011 820 | 162.243.46.0/24,US,US-NY,New York,10011 821 | 162.243.47.0/24,US,US-NY,New York,10011 822 | 162.243.48.0/24,US,US-NY,New York,10011 823 | 162.243.49.0/24,US,US-NY,New York,10011 824 | 162.243.50.0/24,US,US-NY,New York,10011 825 | 162.243.51.0/24,US,US-NY,New York,10011 826 | 162.243.52.0/24,US,US-NY,New York,10011 827 | 162.243.53.0/24,US,US-NY,New York,10011 828 | 162.243.54.0/24,US,US-NY,New York,10011 829 | 162.243.55.0/24,US,US-NY,New York,10011 830 | 162.243.56.0/24,US,US-NY,New York,10011 831 | 162.243.57.0/24,US,US-NY,New York,10011 832 | 162.243.58.0/24,US,US-NY,New York,10011 833 | 162.243.59.0/24,US,US-NY,New York,10011 834 | 162.243.60.0/24,US,US-NY,New York,10011 835 | 162.243.61.0/24,US,US-NY,New York,10011 836 | 162.243.62.0/24,US,US-NY,New York,10011 837 | 162.243.63.0/24,US,US-NY,New York,10011 838 | 162.243.64.0/24,US,US-NY,New York,10011 839 | 162.243.65.0/24,US,US-NY,New York,10011 840 | 162.243.66.0/24,US,US-NY,New York,10011 841 | 162.243.67.0/24,US,US-NY,New York,10011 842 | 162.243.68.0/24,US,US-NY,New York,10011 843 | 162.243.69.0/24,US,US-NY,New York,10011 844 | 162.243.70.0/24,US,US-NY,New York,10011 845 | 162.243.71.0/24,US,US-NY,New York,10011 846 | 162.243.72.0/24,US,US-NY,New York,10011 847 | 162.243.73.0/24,US,US-NY,New York,10011 848 | 162.243.74.0/24,US,US-NY,New York,10011 849 | 162.243.75.0/24,US,US-NY,New York,10011 850 | 162.243.76.0/24,US,US-NY,New York,10011 851 | 162.243.77.0/24,US,US-NY,New York,10011 852 | 162.243.78.0/24,US,US-NY,New York,10011 853 | 162.243.79.0/24,US,US-NY,New York,10011 854 | 162.243.80.0/24,US,US-NY,New York,10011 855 | 162.243.81.0/24,US,US-NY,New York,10011 856 | 162.243.82.0/24,US,US-NY,New York,10011 857 | 162.243.83.0/24,US,US-NY,New York,10011 858 | 162.243.84.0/24,US,US-NY,New York,10011 859 | 162.243.85.0/24,US,US-NY,New York,10011 860 | 162.243.86.0/24,US,US-NY,New York,10011 861 | 162.243.87.0/24,US,US-NY,New York,10011 862 | 162.243.88.0/24,US,US-NY,New York,10011 863 | 162.243.89.0/24,US,US-NY,New York,10011 864 | 162.243.90.0/24,US,US-NY,New York,10011 865 | 162.243.91.0/24,US,US-NY,New York,10011 866 | 162.243.92.0/24,US,US-NY,New York,10011 867 | 162.243.93.0/24,US,US-NY,New York,10011 868 | 162.243.94.0/24,US,US-NY,New York,10011 869 | 162.243.95.0/24,US,US-NY,New York,10011 870 | 162.243.96.0/24,US,US-NY,New York,10011 871 | 162.243.97.0/24,US,US-NY,New York,10011 872 | 162.243.98.0/24,US,US-NY,New York,10011 873 | 162.243.99.0/24,US,US-NY,New York,10011 874 | 162.243.100.0/24,US,US-NY,New York,10011 875 | 162.243.101.0/24,US,US-NY,New York,10011 876 | 162.243.102.0/24,US,US-NY,New York,10011 877 | 162.243.103.0/24,US,US-NY,New York,10011 878 | 162.243.104.0/24,US,US-NY,New York,10011 879 | 162.243.105.0/24,US,US-NY,New York,10011 880 | 162.243.106.0/24,US,US-NY,New York,10011 881 | 162.243.107.0/24,US,US-NY,New York,10011 882 | 162.243.108.0/24,US,US-NY,New York,10011 883 | 162.243.109.0/24,US,US-NY,New York,10011 884 | 162.243.110.0/24,US,US-NY,New York,10011 885 | 162.243.111.0/24,US,US-NY,New York,10011 886 | 162.243.112.0/24,US,US-NY,New York,10011 887 | 162.243.113.0/24,US,US-NY,New York,10011 888 | 162.243.114.0/24,US,US-NY,New York,10011 889 | 162.243.115.0/24,US,US-NY,New York,10011 890 | 162.243.116.0/24,US,US-NY,New York,10011 891 | 162.243.117.0/24,US,US-NY,New York,10011 892 | 162.243.118.0/24,US,US-NY,New York,10011 893 | 162.243.119.0/24,US,US-NY,New York,10011 894 | 162.243.120.0/24,US,US-NY,New York,10011 895 | 162.243.121.0/24,US,US-NY,New York,10011 896 | 162.243.122.0/24,US,US-NY,New York,10011 897 | 162.243.123.0/24,US,US-NY,New York,10011 898 | 162.243.124.0/24,US,US-NY,New York,10011 899 | 162.243.125.0/24,US,US-NY,New York,10011 900 | 162.243.126.0/24,US,US-NY,New York,10011 901 | 162.243.127.0/24,US,US-NY,New York,10011 902 | 162.243.128.0/24,US,US-SF,San Francisco,94124 903 | 162.243.129.0/24,US,US-SF,San Francisco,94124 904 | 162.243.130.0/24,US,US-SF,San Francisco,94124 905 | 162.243.131.0/24,US,US-SF,San Francisco,94124 906 | 162.243.132.0/24,US,US-SF,San Francisco,94124 907 | 162.243.133.0/24,US,US-SF,San Francisco,94124 908 | 162.243.134.0/24,US,US-SF,San Francisco,94124 909 | 162.243.135.0/24,US,US-SF,San Francisco,94124 910 | 162.243.136.0/24,US,US-SF,San Francisco,94124 911 | 162.243.137.0/24,US,US-SF,San Francisco,94124 912 | 162.243.138.0/24,US,US-SF,San Francisco,94124 913 | 162.243.139.0/24,US,US-SF,San Francisco,94124 914 | 162.243.140.0/24,US,US-SF,San Francisco,94124 915 | 162.243.141.0/24,US,US-SF,San Francisco,94124 916 | 162.243.142.0/24,US,US-SF,San Francisco,94124 917 | 162.243.143.0/24,US,US-SF,San Francisco,94124 918 | 162.243.144.0/24,US,US-SF,San Francisco,94124 919 | 162.243.145.0/24,US,US-SF,San Francisco,94124 920 | 162.243.146.0/24,US,US-SF,San Francisco,94124 921 | 162.243.147.0/24,US,US-SF,San Francisco,94124 922 | 162.243.148.0/24,US,US-SF,San Francisco,94124 923 | 162.243.149.0/24,US,US-SF,San Francisco,94124 924 | 162.243.150.0/24,US,US-SF,San Francisco,94124 925 | 162.243.151.0/24,US,US-SF,San Francisco,94124 926 | 162.243.152.0/21,US,US-SF,San Francisco,94124 927 | 162.243.160.0/24,US,US-NJ,North Bergen,07047 928 | 162.243.161.0/24,US,US-NJ,North Bergen,07047 929 | 162.243.162.0/24,US,US-NJ,North Bergen,07047 930 | 162.243.163.0/24,US,US-NJ,North Bergen,07047 931 | 162.243.164.0/24,US,US-NJ,North Bergen,07047 932 | 162.243.165.0/24,US,US-NJ,North Bergen,07047 933 | 162.243.166.0/24,US,US-NJ,North Bergen,07047 934 | 162.243.167.0/24,US,US-NJ,North Bergen,07047 935 | 162.243.168.0/24,US,US-NJ,North Bergen,07047 936 | 162.243.169.0/24,US,US-NJ,North Bergen,07047 937 | 162.243.170.0/24,US,US-NJ,North Bergen,07047 938 | 162.243.171.0/24,US,US-NJ,North Bergen,07047 939 | 162.243.172.0/24,US,US-NJ,North Bergen,07047 940 | 162.243.173.0/24,US,US-NJ,North Bergen,07047 941 | 162.243.174.0/24,US,US-NJ,North Bergen,07047 942 | 162.243.175.0/24,US,US-NJ,North Bergen,07047 943 | 162.243.177.0/24,US,US-NJ,Clifton,07014 944 | 162.243.184.0/22,US,US-NJ,Clifton,07014 945 | 162.243.192.0/24,US,US-NY,New York,10011 946 | 162.243.193.0/24,US,US-NY,New York,10011 947 | 162.243.194.0/24,US,US-NY,New York,10011 948 | 162.243.195.0/24,US,US-NY,New York,10011 949 | 162.243.196.0/24,US,US-NY,New York,10011 950 | 162.243.197.0/24,US,US-NY,New York,10011 951 | 162.243.198.0/24,US,US-NY,New York,10011 952 | 162.243.199.0/24,US,US-NY,New York,10011 953 | 162.243.200.0/24,US,US-NY,New York,10011 954 | 162.243.201.0/24,US,US-NY,New York,10011 955 | 162.243.202.0/24,US,US-NY,New York,10011 956 | 162.243.203.0/24,US,US-NY,New York,10011 957 | 162.243.204.0/24,US,US-NY,New York,10011 958 | 162.243.205.0/24,US,US-NY,New York,10011 959 | 162.243.206.0/24,US,US-NY,New York,10011 960 | 162.243.207.0/24,US,US-NY,New York,10011 961 | 162.243.208.0/24,US,US-NY,New York,10011 962 | 162.243.209.0/24,US,US-NY,New York,10011 963 | 162.243.210.0/24,US,US-NY,New York,10011 964 | 162.243.211.0/24,US,US-NY,New York,10011 965 | 162.243.212.0/24,US,US-NY,New York,10011 966 | 162.243.213.0/24,US,US-NY,New York,10011 967 | 162.243.214.0/24,US,US-NY,New York,10011 968 | 162.243.215.0/24,US,US-NY,New York,10011 969 | 162.243.216.0/24,US,US-NY,New York,10011 970 | 162.243.217.0/24,US,US-NY,New York,10011 971 | 162.243.218.0/24,US,US-NY,New York,10011 972 | 162.243.219.0/24,US,US-NY,New York,10011 973 | 162.243.220.0/24,US,US-NY,New York,10011 974 | 162.243.221.0/24,US,US-NY,New York,10011 975 | 162.243.222.0/24,US,US-NY,New York,10011 976 | 162.243.223.0/24,US,US-NY,New York,10011 977 | 162.243.224.0/24,US,US-NY,New York,10011 978 | 162.243.225.0/24,US,US-NY,New York,10011 979 | 162.243.226.0/24,US,US-NY,New York,10011 980 | 162.243.227.0/24,US,US-NY,New York,10011 981 | 162.243.228.0/24,US,US-NY,New York,10011 982 | 162.243.229.0/24,US,US-NY,New York,10011 983 | 162.243.230.0/24,US,US-NY,New York,10011 984 | 162.243.231.0/24,US,US-NY,New York,10011 985 | 162.243.232.0/24,US,US-NY,New York,10011 986 | 162.243.233.0/24,US,US-NY,New York,10011 987 | 162.243.234.0/24,US,US-NY,New York,10011 988 | 162.243.235.0/24,US,US-NY,New York,10011 989 | 162.243.236.0/24,US,US-NY,New York,10011 990 | 162.243.237.0/24,US,US-NY,New York,10011 991 | 162.243.238.0/24,US,US-NY,New York,10011 992 | 162.243.239.0/24,US,US-NY,New York,10011 993 | 162.243.240.0/24,US,US-NY,New York,10011 994 | 162.243.241.0/24,US,US-NY,New York,10011 995 | 162.243.242.0/24,US,US-NY,New York,10011 996 | 162.243.243.0/24,US,US-NY,New York,10011 997 | 162.243.244.0/24,US,US-NY,New York,10011 998 | 162.243.245.0/24,US,US-NY,New York,10011 999 | 162.243.246.0/24,US,US-NY,New York,10011 1000 | 162.243.247.0/24,US,US-NY,New York,10011 1001 | 162.243.248.0/24,US,US-NY,New York,10011 1002 | 162.243.249.0/24,US,US-NY,New York,10011 1003 | 162.243.250.0/24,US,US-NY,New York,10011 1004 | 162.243.251.0/24,US,US-NY,New York,10011 1005 | 162.243.252.0/24,US,US-NY,New York,10011 1006 | 162.243.253.0/24,US,US-NY,New York,10011 1007 | 162.243.254.0/24,US,US-NY,New York,10011 1008 | 162.243.255.0/24,US,US-NY,New York,10011 1009 | 163.47.8.0/22,SG,SG-05,Singapore,627753 1010 | 164.90.128.0/20,US,US-NJ,Clifton,07014 1011 | 164.90.144.0/20,US,US-CA,Santa Clara,95054 1012 | 164.90.160.0/20,DE,DE-HE,Frankfurt,60341 1013 | 164.90.176.0/20,DE,DE-HE,Frankfurt,60341 1014 | 164.90.192.0/20,NL,NL-NH,Amsterdam,1098 XH 1015 | 164.90.208.0/20,DE,DE-HE,Frankfurt,60341 1016 | 164.90.224.0/20,DE,DE-HE,Frankfurt,60341 1017 | 164.90.240.0/22,DE,DE-HE,Frankfurt,60341 1018 | 164.90.244.0/22,US,US-CA,Santa Clara,95054 1019 | 164.90.252.0/22,US,US-NJ,North Bergen,07047 1020 | 164.92.64.0/19,US,US-CA,Santa Clara,95054 1021 | 164.92.96.0/19,US,US-CA,Santa Clara,95054 1022 | 164.92.128.0/20,DE,DE-HE,Frankfurt,60341 1023 | 164.92.144.0/20,NL,NL-NH,Amsterdam,1098 XH 1024 | 164.92.160.0/20,DE,DE-HE,Frankfurt,60341 1025 | 164.92.176.0/20,DE,DE-HE,Frankfurt,60341 1026 | 164.92.192.0/20,DE,DE-HE,Frankfurt,60341 1027 | 164.92.208.0/20,NL,NL-NH,Amsterdam,1098 XH 1028 | 164.92.224.0/20,DE,DE-HE,Frankfurt,60341 1029 | 164.92.240.0/20,DE,DE-HE,Frankfurt,60341 1030 | 165.22.0.0/20,US,US-NJ,North Bergen,07047 1031 | 165.22.16.0/20,DE,DE-HE,Frankfurt,60341 1032 | 165.22.32.0/20,US,US-NJ,Clifton,07014 1033 | 165.22.48.0/20,SG,SG-05,Singapore,627753 1034 | 165.22.64.0/20,DE,DE-HE,Frankfurt,60341 1035 | 165.22.80.0/20,DE,DE-HE,Frankfurt,60341 1036 | 165.22.96.0/20,SG,SG-05,Singapore,627753 1037 | 165.22.112.0/20,GB,GB-SLG,London,SL1 4AX 1038 | 165.22.128.0/20,US,US-CA,Santa Clara,95051 1039 | 165.22.144.0/20,US,US-CA,Santa Clara,95051 1040 | 165.22.160.0/20,US,US-CA,Santa Clara,95051 1041 | 165.22.176.0/20,US,US-NJ,North Bergen,07047 1042 | 165.22.192.0/20,NL,NL-NH,Amsterdam,1098 XH 1043 | 165.22.208.0/20,IN,IN-KA,Bangalore,560100 1044 | 165.22.224.0/20,CA,CA-ON,Toronto,M5A 0B2 1045 | 165.22.240.0/20,SG,SG-05,Singapore,627753 1046 | 165.227.0.0/20,US,US-CA,Santa Clara,95051 1047 | 165.227.16.0/20,US,US-CA,Santa Clara,95051 1048 | 165.227.32.0/20,CA,CA-ON,Toronto,M5A 0B2 1049 | 165.227.48.0/20,US,US-CA,Santa Clara,95051 1050 | 165.227.64.0/20,US,US-NJ,Clifton,07014 1051 | 165.227.80.0/20,US,US-NJ,North Bergen,07047 1052 | 165.227.96.0/20,US,US-NJ,Clifton,07014 1053 | 165.227.112.0/20,US,US-NJ,Clifton,07014 1054 | 165.227.128.0/20,DE,DE-HE,Frankfurt,60341 1055 | 165.227.144.0/20,DE,DE-HE,Frankfurt,60341 1056 | 165.227.160.0/20,DE,DE-HE,Frankfurt,60341 1057 | 165.227.176.0/20,US,US-NJ,Clifton,07014 1058 | 165.227.192.0/20,US,US-NJ,North Bergen,07047 1059 | 165.227.208.0/20,US,US-NJ,Clifton,07014 1060 | 165.227.224.0/20,GB,GB-SLG,London,SL1 4AX 1061 | 165.227.240.0/22,US,US-CA,Santa Clara,95051 1062 | 165.227.244.0/22,DE,DE-HE,Frankfurt,60341 1063 | 165.227.248.0/22,US,US-NJ,Clifton,07014 1064 | 165.227.252.0/22,US,US-NJ,North Bergen,07047 1065 | 165.232.32.0/20,GB,GB-SLG,London,SL1 4AX 1066 | 165.232.48.0/20,US,US-CA,Santa Clara,95051 1067 | 165.232.64.0/20,DE,DE-HE,Frankfurt,60341 1068 | 165.232.80.0/20,NL,NL-NH,Amsterdam,1098 XH 1069 | 165.232.96.0/20,GB,GB-SLG,London,SL1 4AX 1070 | 165.232.112.0/20,DE,DE-HE,Frankfurt,60341 1071 | 165.232.128.0/20,US,US-CA,Santa Clara,95054 1072 | 165.232.144.0/20,US,US-CA,Santa Clara,95054 1073 | 165.232.160.0/20,SG,SG-05,Singapore,627753 1074 | 165.232.176.0/20,IN,IN-KA,Bangalore,560100 1075 | 167.71.0.0/20,NL,NL-NH,Amsterdam,1098 XH 1076 | 167.71.16.0/20,US,US-NJ,North Bergen,07047 1077 | 167.71.32.0/20,DE,DE-HE,Frankfurt,60341 1078 | 167.71.48.0/20,DE,DE-HE,Frankfurt,60341 1079 | 167.71.64.0/20,NL,NL-NH,Amsterdam,1098 XH 1080 | 167.71.80.0/20,US,US-NJ,Clifton,07014 1081 | 167.71.96.0/20,US,US-NJ,Clifton,07014 1082 | 167.71.112.0/20,US,US-CA,Santa Clara,95051 1083 | 167.71.128.0/20,GB,GB-SLG,London,SL1 4AX 1084 | 167.71.144.0/20,US,US-CA,Santa Clara,95051 1085 | 167.71.160.0/20,US,US-NJ,Clifton,07014 1086 | 167.71.176.0/20,US,US-NJ,Clifton,07014 1087 | 167.71.192.0/20,SG,SG-05,Singapore,627753 1088 | 167.71.208.0/20,SG,SG-05,Singapore,627753 1089 | 167.71.224.0/20,IN,IN-KA,Bangalore,560100 1090 | 167.71.240.0/20,US,US-NJ,Clifton,07014 1091 | 167.99.0.0/20,US,US-NJ,North Bergen,07047 1092 | 167.99.16.0/22,NL,NL-NH,Amsterdam,1098 XH 1093 | 167.99.20.0/22,US,US-NJ,Clifton,07014 1094 | 167.99.24.0/22,US,US-CA,Santa Clara,95051 1095 | 167.99.28.0/22,SG,SG-05,Singapore,627753 1096 | 167.99.32.0/20,NL,NL-NH,Amsterdam,1098 XH 1097 | 167.99.48.0/20,US,US-NJ,Clifton,07014 1098 | 167.99.64.0/20,SG,SG-05,Singapore,627753 1099 | 167.99.80.0/20,GB,GB-SLG,London,SL1 4AX 1100 | 167.99.96.0/20,US,US-CA,Santa Clara,95051 1101 | 167.99.112.0/20,US,US-NJ,Clifton,07014 1102 | 167.99.128.0/20,DE,DE-HE,Frankfurt,60341 1103 | 167.99.144.0/20,US,US-NJ,North Bergen,07047 1104 | 167.99.160.0/20,US,US-CA,Santa Clara,95051 1105 | 167.99.176.0/20,CA,CA-ON,Toronto,M5A 0B2 1106 | 167.99.192.0/20,GB,GB-SLG,London,SL1 4AX 1107 | 167.99.208.0/20,NL,NL-NH,Amsterdam,1098 XH 1108 | 167.99.224.0/20,US,US-NJ,North Bergen,07047 1109 | 167.99.240.0/20,DE,DE-HE,Frankfurt,60341 1110 | 167.172.0.0/22,US,US-NJ,North Bergen,07047 1111 | 167.172.4.0/22,SG,SG-05,Singapore,627753 1112 | 167.172.8.0/22,US,US-CA,Santa Clara,95051 1113 | 167.172.12.0/22,US,US-NJ,North Bergen,07047 1114 | 167.172.16.0/20,US,US-NJ,Clifton,07014 1115 | 167.172.32.0/20,NL,NL-NH,Amsterdam,1098 XH 1116 | 167.172.48.0/20,GB,GB-SLG,London,SL1 4AX 1117 | 167.172.64.0/20,SG,SG-05,Singapore,627753 1118 | 167.172.80.0/20,SG,SG-05,Singapore,627753 1119 | 167.172.96.0/20,DE,DE-HE,Frankfurt,60341 1120 | 167.172.112.0/20,US,US-CA,Santa Clara,95051 1121 | 167.172.128.0/20,US,US-NJ,North Bergen,07047 1122 | 167.172.144.0/20,US,US-NJ,North Bergen,07047 1123 | 167.172.160.0/20,DE,DE-HE,Frankfurt,60341 1124 | 167.172.176.0/20,DE,DE-HE,Frankfurt,60341 1125 | 167.172.192.0/20,US,US-CA,Santa Clara,95051 1126 | 167.172.208.0/20,US,US-CA,Santa Clara,95051 1127 | 167.172.224.0/20,US,US-NJ,Clifton,07014 1128 | 167.172.240.0/20,US,US-NJ,Clifton,07014 1129 | 170.64.128.0/18,AU,AU-NSW,Sydney,2015 1130 | 170.64.192.0/19,AU,AU-NSW,Sydney,2015 1131 | 170.64.248.0/21,AU,AU-NSW,Sydney,2015 1132 | 174.138.0.0/20,NL,NL-NH,Amsterdam,1098 XH 1133 | 174.138.16.0/20,SG,SG-05,Singapore,627753 1134 | 174.138.32.0/20,US,US-NJ,North Bergen,07047 1135 | 174.138.48.0/20,US,US-NJ,Clifton,07014 1136 | 174.138.64.0/20,US,US-NJ,Clifton,07014 1137 | 174.138.80.0/20,US,US-NJ,Clifton,07014 1138 | 174.138.96.0/22,NL,NL-NH,Amsterdam,1105 AT 1139 | 174.138.100.0/22,DE,DE-HE,Frankfurt,60341 1140 | 174.138.104.0/22,NL,NL-NH,Amsterdam,1098 XH 1141 | 174.138.108.0/22,US,US-NJ,North Bergen,07047 1142 | 174.138.112.0/22,CA,CA-ON,Toronto,M5A 0B2 1143 | 174.138.116.0/22,US,US-NJ,Clifton,07014 1144 | 174.138.120.0/22,IN,IN-KA,Bangalore,560100 1145 | 174.138.124.0/22,US,US-NJ,North Bergen,07047 1146 | 178.62.0.0/18,GB,GB-SLG,London,SL1 4AX 1147 | 178.62.64.0/18,GB,GB-SLG,London,SL1 4AX 1148 | 178.62.128.0/18,NL,NL-NH,Amsterdam,1105 AT 1149 | 178.62.192.0/18,NL,NL-NH,Amsterdam,1098 XH 1150 | 178.128.0.0/20,US,US-CA,Santa Clara,95051 1151 | 178.128.16.0/20,SG,SG-05,Singapore,627753 1152 | 178.128.32.0/20,GB,GB-SLG,London,SL1 4AX 1153 | 178.128.48.0/20,SG,SG-05,Singapore,627753 1154 | 178.128.64.0/20,US,US-CA,Santa Clara,95051 1155 | 178.128.80.0/20,SG,SG-05,Singapore,627753 1156 | 178.128.96.0/20,SG,SG-05,Singapore,627753 1157 | 178.128.112.0/20,SG,SG-05,Singapore,627753 1158 | 178.128.128.0/22,US,US-CA,Santa Clara,95051 1159 | 178.128.132.0/22,US,US-NJ,North Bergen,07047 1160 | 178.128.136.0/22,NL,NL-NH,Amsterdam,1098 XH 1161 | 178.128.140.0/22,NL,NL-NH,Amsterdam,1098 XH 1162 | 178.128.144.0/20,US,US-NJ,North Bergen,07047 1163 | 178.128.160.0/20,GB,GB-SLG,London,SL1 4AX 1164 | 178.128.176.0/20,US,US-CA,Santa Clara,95051 1165 | 178.128.192.0/20,DE,DE-HE,Frankfurt,60341 1166 | 178.128.208.0/20,SG,SG-05,Singapore,627753 1167 | 178.128.224.0/20,CA,CA-ON,Toronto,M5A 0B2 1168 | 178.128.240.0/20,NL,NL-NH,Amsterdam,1098 XH 1169 | 185.14.184.0/24,NL,NL-NH,Amsterdam,1105 AT 1170 | 185.14.185.0/24,NL,NL-NH,Amsterdam,1105 AT 1171 | 185.14.186.0/24,NL,NL-NH,Amsterdam,1105 AT 1172 | 185.14.187.0/24,NL,NL-NH,Amsterdam,1105 AT 1173 | 188.166.0.0/18,NL,NL-NH,Amsterdam,1098 XH 1174 | 188.166.64.0/18,NL,NL-NH,Amsterdam,1098 XH 1175 | 188.166.128.0/22,NL,NL-NH,Amsterdam,1105 AT 1176 | 188.166.132.0/22,NL,NL-NH,Amsterdam,1098 XH 1177 | 188.166.136.0/22,GB,GB-SLG,London,SL1 4AX 1178 | 188.166.140.0/22,NL,NL-NH,Amsterdam,1105 AT 1179 | 188.166.144.0/20,GB,GB-SLG,London,SL1 4AX 1180 | 188.166.160.0/21,DE,DE-HE,Frankfurt,60341 1181 | 188.166.168.0/21,GB,GB-SLG,London,SL1 4AX 1182 | 188.166.176.0/20,SG,SG-05,Singapore,627753 1183 | 188.166.192.0/22,DE,DE-HE,Frankfurt,60341 1184 | 188.166.196.0/22,SG,SG-05,Singapore,627753 1185 | 188.166.200.0/22,NL,NL-NH,Amsterdam,1098 XH 1186 | 188.166.204.0/22,SG,SG-05,Singapore,627753 1187 | 188.166.208.0/20,SG,SG-05,Singapore,627753 1188 | 188.166.224.0/20,SG,SG-05,Singapore,627753 1189 | 188.166.240.0/20,SG,SG-05,Singapore,627753 1190 | 188.226.128.0/24,NL,NL-NH,Amsterdam,1105 AT 1191 | 188.226.129.0/24,NL,NL-NH,Amsterdam,1105 AT 1192 | 188.226.130.0/24,NL,NL-NH,Amsterdam,1105 AT 1193 | 188.226.131.0/24,NL,NL-NH,Amsterdam,1105 AT 1194 | 188.226.132.0/24,NL,NL-NH,Amsterdam,1105 AT 1195 | 188.226.133.0/24,NL,NL-NH,Amsterdam,1105 AT 1196 | 188.226.134.0/24,NL,NL-NH,Amsterdam,1105 AT 1197 | 188.226.135.0/24,NL,NL-NH,Amsterdam,1105 AT 1198 | 188.226.136.0/24,NL,NL-NH,Amsterdam,1105 AT 1199 | 188.226.137.0/24,NL,NL-NH,Amsterdam,1105 AT 1200 | 188.226.138.0/24,NL,NL-NH,Amsterdam,1105 AT 1201 | 188.226.139.0/24,NL,NL-NH,Amsterdam,1105 AT 1202 | 188.226.140.0/24,NL,NL-NH,Amsterdam,1105 AT 1203 | 188.226.141.0/24,NL,NL-NH,Amsterdam,1105 AT 1204 | 188.226.142.0/24,NL,NL-NH,Amsterdam,1105 AT 1205 | 188.226.143.0/24,NL,NL-NH,Amsterdam,1105 AT 1206 | 188.226.144.0/24,NL,NL-NH,Amsterdam,1105 AT 1207 | 188.226.145.0/24,NL,NL-NH,Amsterdam,1105 AT 1208 | 188.226.146.0/24,NL,NL-NH,Amsterdam,1105 AT 1209 | 188.226.147.0/24,NL,NL-NH,Amsterdam,1105 AT 1210 | 188.226.148.0/24,NL,NL-NH,Amsterdam,1105 AT 1211 | 188.226.149.0/24,NL,NL-NH,Amsterdam,1105 AT 1212 | 188.226.150.0/24,NL,NL-NH,Amsterdam,1105 AT 1213 | 188.226.151.0/24,NL,NL-NH,Amsterdam,1105 AT 1214 | 188.226.152.0/24,NL,NL-NH,Amsterdam,1105 AT 1215 | 188.226.153.0/24,NL,NL-NH,Amsterdam,1105 AT 1216 | 188.226.154.0/24,NL,NL-NH,Amsterdam,1105 AT 1217 | 188.226.155.0/24,NL,NL-NH,Amsterdam,1105 AT 1218 | 188.226.156.0/24,NL,NL-NH,Amsterdam,1105 AT 1219 | 188.226.157.0/24,NL,NL-NH,Amsterdam,1105 AT 1220 | 188.226.158.0/24,NL,NL-NH,Amsterdam,1105 AT 1221 | 188.226.159.0/24,NL,NL-NH,Amsterdam,1105 AT 1222 | 188.226.160.0/24,NL,NL-NH,Amsterdam,1105 AT 1223 | 188.226.161.0/24,NL,NL-NH,Amsterdam,1105 AT 1224 | 188.226.162.0/24,NL,NL-NH,Amsterdam,1105 AT 1225 | 188.226.163.0/24,NL,NL-NH,Amsterdam,1105 AT 1226 | 188.226.164.0/24,NL,NL-NH,Amsterdam,1105 AT 1227 | 188.226.165.0/24,NL,NL-NH,Amsterdam,1105 AT 1228 | 188.226.166.0/24,NL,NL-NH,Amsterdam,1105 AT 1229 | 188.226.167.0/24,NL,NL-NH,Amsterdam,1105 AT 1230 | 188.226.168.0/24,NL,NL-NH,Amsterdam,1105 AT 1231 | 188.226.169.0/24,NL,NL-NH,Amsterdam,1105 AT 1232 | 188.226.170.0/24,NL,NL-NH,Amsterdam,1105 AT 1233 | 188.226.171.0/24,NL,NL-NH,Amsterdam,1105 AT 1234 | 188.226.172.0/24,NL,NL-NH,Amsterdam,1105 AT 1235 | 188.226.173.0/24,NL,NL-NH,Amsterdam,1105 AT 1236 | 188.226.174.0/24,NL,NL-NH,Amsterdam,1105 AT 1237 | 188.226.175.0/24,NL,NL-NH,Amsterdam,1105 AT 1238 | 188.226.176.0/24,NL,NL-NH,Amsterdam,1105 AT 1239 | 188.226.177.0/24,NL,NL-NH,Amsterdam,1105 AT 1240 | 188.226.178.0/24,NL,NL-NH,Amsterdam,1105 AT 1241 | 188.226.179.0/24,NL,NL-NH,Amsterdam,1105 AT 1242 | 188.226.180.0/24,NL,NL-NH,Amsterdam,1105 AT 1243 | 188.226.181.0/24,NL,NL-NH,Amsterdam,1105 AT 1244 | 188.226.182.0/24,NL,NL-NH,Amsterdam,1105 AT 1245 | 188.226.183.0/24,NL,NL-NH,Amsterdam,1105 AT 1246 | 188.226.184.0/24,NL,NL-NH,Amsterdam,1105 AT 1247 | 188.226.185.0/24,NL,NL-NH,Amsterdam,1105 AT 1248 | 188.226.186.0/24,NL,NL-NH,Amsterdam,1105 AT 1249 | 188.226.187.0/24,NL,NL-NH,Amsterdam,1105 AT 1250 | 188.226.188.0/24,NL,NL-NH,Amsterdam,1105 AT 1251 | 188.226.189.0/24,NL,NL-NH,Amsterdam,1105 AT 1252 | 188.226.190.0/24,NL,NL-NH,Amsterdam,1105 AT 1253 | 188.226.191.0/24,NL,NL-NH,Amsterdam,1105 AT 1254 | 188.226.192.0/20,NL,NL-NH,Amsterdam,1105 AT 1255 | 188.226.208.0/20,NL,NL-NH,Amsterdam,1105 AT 1256 | 188.226.224.0/20,NL,NL-NH,Amsterdam,1105 AT 1257 | 188.226.240.0/20,NL,NL-NH,Amsterdam,1105 AT 1258 | 192.34.56.0/24,US,US-NJ,North Bergen,07047 1259 | 192.34.57.0/24,US,US-NJ,North Bergen,07047 1260 | 192.34.58.0/24,US,US-NJ,North Bergen,07047 1261 | 192.34.59.0/24,US,US-NJ,North Bergen,07047 1262 | 192.34.60.0/24,US,US-NJ,North Bergen,07047 1263 | 192.34.61.0/24,US,US-NJ,North Bergen,07047 1264 | 192.34.62.0/24,US,US-NJ,North Bergen,07047 1265 | 192.34.63.0/24,US,US-NJ,North Bergen,07047 1266 | 192.81.208.0/24,US,US-NJ,North Bergen,07047 1267 | 192.81.209.0/24,US,US-NJ,North Bergen,07047 1268 | 192.81.210.0/24,US,US-NJ,North Bergen,07047 1269 | 192.81.211.0/24,US,US-NJ,North Bergen,07047 1270 | 192.81.212.0/24,US,US-NJ,North Bergen,07047 1271 | 192.81.213.0/24,US,US-NJ,North Bergen,07047 1272 | 192.81.214.0/24,US,US-NJ,North Bergen,07047 1273 | 192.81.215.0/24,US,US-NJ,North Bergen,07047 1274 | 192.81.216.0/24,US,US-NJ,North Bergen,07047 1275 | 192.81.217.0/24,US,US-NJ,North Bergen,07047 1276 | 192.81.218.0/24,US,US-NJ,North Bergen,07047 1277 | 192.81.219.0/24,US,US-NJ,North Bergen,07047 1278 | 192.81.220.0/24,NL,NL-NH,Amsterdam,1105 AT 1279 | 192.81.221.0/24,NL,NL-NH,Amsterdam,1105 AT 1280 | 192.81.222.0/24,NL,NL-NH,Amsterdam,1105 AT 1281 | 192.81.223.0/24,NL,NL-NH,Amsterdam,1105 AT 1282 | 192.241.128.0/24,US,US-NJ,North Bergen,07047 1283 | 192.241.129.0/24,US,US-NJ,North Bergen,07047 1284 | 192.241.130.0/24,US,US-NJ,North Bergen,07047 1285 | 192.241.131.0/24,US,US-NJ,North Bergen,07047 1286 | 192.241.132.0/24,US,US-NJ,North Bergen,07047 1287 | 192.241.133.0/24,US,US-NJ,North Bergen,07047 1288 | 192.241.134.0/24,US,US-NJ,North Bergen,07047 1289 | 192.241.135.0/24,US,US-NJ,North Bergen,07047 1290 | 192.241.136.0/24,US,US-NJ,North Bergen,07047 1291 | 192.241.137.0/24,US,US-NJ,North Bergen,07047 1292 | 192.241.138.0/24,US,US-NJ,North Bergen,07047 1293 | 192.241.139.0/24,US,US-NJ,North Bergen,07047 1294 | 192.241.140.0/24,US,US-NJ,North Bergen,07047 1295 | 192.241.141.0/24,US,US-NJ,North Bergen,07047 1296 | 192.241.142.0/24,US,US-NJ,North Bergen,07047 1297 | 192.241.143.0/24,US,US-NJ,North Bergen,07047 1298 | 192.241.144.0/24,US,US-NJ,North Bergen,07047 1299 | 192.241.145.0/24,US,US-NJ,North Bergen,07047 1300 | 192.241.146.0/24,US,US-NJ,North Bergen,07047 1301 | 192.241.147.0/24,US,US-NJ,North Bergen,07047 1302 | 192.241.148.0/24,US,US-NJ,North Bergen,07047 1303 | 192.241.149.0/24,US,US-NJ,North Bergen,07047 1304 | 192.241.150.0/24,US,US-NJ,North Bergen,07047 1305 | 192.241.151.0/24,US,US-NJ,North Bergen,07047 1306 | 192.241.152.0/24,US,US-NJ,North Bergen,07047 1307 | 192.241.153.0/24,US,US-NJ,North Bergen,07047 1308 | 192.241.154.0/24,US,US-NJ,North Bergen,07047 1309 | 192.241.155.0/24,US,US-NJ,North Bergen,07047 1310 | 192.241.156.0/24,US,US-NJ,North Bergen,07047 1311 | 192.241.157.0/24,US,US-NJ,North Bergen,07047 1312 | 192.241.158.0/24,US,US-NJ,North Bergen,07047 1313 | 192.241.159.0/24,US,US-NJ,North Bergen,07047 1314 | 192.241.160.0/24,US,US-NY,New York,10011 1315 | 192.241.161.0/24,US,US-NY,New York,10011 1316 | 192.241.162.0/24,US,US-NY,New York,10011 1317 | 192.241.163.0/24,US,US-NY,New York,10011 1318 | 192.241.165.0/24,US,US-NY,New York,10011 1319 | 192.241.166.0/24,US,US-NY,New York,10011 1320 | 192.241.167.0/24,US,US-NY,New York,10011 1321 | 192.241.168.0/24,US,US-NY,New York,10011 1322 | 192.241.169.0/24,US,US-NY,New York,10011 1323 | 192.241.170.0/24,US,US-NY,New York,10011 1324 | 192.241.171.0/24,US,US-NY,New York,10011 1325 | 192.241.172.0/24,US,US-NY,New York,10011 1326 | 192.241.173.0/24,US,US-NY,New York,10011 1327 | 192.241.174.0/24,US,US-NY,New York,10011 1328 | 192.241.175.0/24,US,US-NY,New York,10011 1329 | 192.241.176.0/24,US,US-NY,New York,10011 1330 | 192.241.177.0/24,US,US-NY,New York,10011 1331 | 192.241.178.0/24,US,US-NY,New York,10011 1332 | 192.241.179.0/24,US,US-NY,New York,10011 1333 | 192.241.180.0/24,US,US-NY,New York,10011 1334 | 192.241.181.0/24,US,US-NY,New York,10011 1335 | 192.241.182.0/24,US,US-NY,New York,10011 1336 | 192.241.183.0/24,US,US-NY,New York,10011 1337 | 192.241.184.0/24,US,US-NY,New York,10011 1338 | 192.241.185.0/24,US,US-NY,New York,10011 1339 | 192.241.186.0/24,US,US-NY,New York,10011 1340 | 192.241.187.0/24,US,US-NY,New York,10011 1341 | 192.241.188.0/24,US,US-NY,New York,10011 1342 | 192.241.189.0/24,US,US-NY,New York,10011 1343 | 192.241.190.0/24,US,US-NY,New York,10011 1344 | 192.241.191.0/24,US,US-NY,New York,10011 1345 | 192.241.192.0/24,US,US-SF,San Francisco,94124 1346 | 192.241.193.0/24,US,US-SF,San Francisco,94124 1347 | 192.241.194.0/24,US,US-SF,San Francisco,94124 1348 | 192.241.195.0/24,US,US-SF,San Francisco,94124 1349 | 192.241.196.0/24,US,US-SF,San Francisco,94124 1350 | 192.241.197.0/24,US,US-SF,San Francisco,94124 1351 | 192.241.198.0/24,US,US-SF,San Francisco,94124 1352 | 192.241.199.0/24,US,US-SF,San Francisco,94124 1353 | 192.241.200.0/24,US,US-SF,San Francisco,94124 1354 | 192.241.201.0/24,US,US-SF,San Francisco,94124 1355 | 192.241.202.0/24,US,US-SF,San Francisco,94124 1356 | 192.241.203.0/24,US,US-SF,San Francisco,94124 1357 | 192.241.204.0/24,US,US-SF,San Francisco,94124 1358 | 192.241.205.0/24,US,US-SF,San Francisco,94124 1359 | 192.241.206.0/24,US,US-SF,San Francisco,94124 1360 | 192.241.207.0/24,US,US-SF,San Francisco,94124 1361 | 192.241.208.0/24,US,US-SF,San Francisco,94124 1362 | 192.241.209.0/24,US,US-SF,San Francisco,94124 1363 | 192.241.210.0/24,US,US-SF,San Francisco,94124 1364 | 192.241.211.0/24,US,US-SF,San Francisco,94124 1365 | 192.241.212.0/24,US,US-SF,San Francisco,94124 1366 | 192.241.213.0/24,US,US-SF,San Francisco,94124 1367 | 192.241.214.0/24,US,US-SF,San Francisco,94124 1368 | 192.241.215.0/24,US,US-SF,San Francisco,94124 1369 | 192.241.216.0/24,US,US-SF,San Francisco,94124 1370 | 192.241.217.0/24,US,US-SF,San Francisco,94124 1371 | 192.241.218.0/24,US,US-SF,San Francisco,94124 1372 | 192.241.219.0/24,US,US-SF,San Francisco,94124 1373 | 192.241.220.0/24,US,US-SF,San Francisco,94124 1374 | 192.241.221.0/24,US,US-SF,San Francisco,94124 1375 | 192.241.222.0/24,US,US-SF,San Francisco,94124 1376 | 192.241.223.0/24,US,US-SF,San Francisco,94124 1377 | 192.241.224.0/24,US,US-SF,San Francisco,94124 1378 | 192.241.225.0/24,US,US-SF,San Francisco,94124 1379 | 192.241.226.0/24,US,US-SF,San Francisco,94124 1380 | 192.241.227.0/24,US,US-SF,San Francisco,94124 1381 | 192.241.228.0/24,US,US-SF,San Francisco,94124 1382 | 192.241.229.0/24,US,US-SF,San Francisco,94124 1383 | 192.241.230.0/24,US,US-SF,San Francisco,94124 1384 | 192.241.231.0/24,US,US-SF,San Francisco,94124 1385 | 192.241.232.0/24,US,US-SF,San Francisco,94124 1386 | 192.241.233.0/24,US,US-SF,San Francisco,94124 1387 | 192.241.234.0/24,US,US-SF,San Francisco,94124 1388 | 192.241.235.0/24,US,US-SF,San Francisco,94124 1389 | 192.241.236.0/24,US,US-SF,San Francisco,94124 1390 | 192.241.237.0/24,US,US-SF,San Francisco,94124 1391 | 192.241.238.0/24,US,US-SF,San Francisco,94124 1392 | 192.241.239.0/24,US,US-SF,San Francisco,94124 1393 | 192.241.240.0/24,US,US-NY,New York,10011 1394 | 192.241.241.0/24,US,US-NY,New York,10011 1395 | 192.241.242.0/24,US,US-NY,New York,10011 1396 | 192.241.243.0/24,US,US-NY,New York,10011 1397 | 192.241.244.0/24,US,US-NY,New York,10011 1398 | 192.241.245.0/24,US,US-NY,New York,10011 1399 | 192.241.246.0/24,US,US-NY,New York,10011 1400 | 192.241.247.0/24,US,US-NY,New York,10011 1401 | 192.241.248.0/24,US,US-NY,New York,10011 1402 | 192.241.249.0/24,US,US-NY,New York,10011 1403 | 192.241.250.0/24,US,US-NY,New York,10011 1404 | 192.241.251.0/24,US,US-NY,New York,10011 1405 | 192.241.252.0/24,US,US-NY,New York,10011 1406 | 192.241.253.0/24,US,US-NY,New York,10011 1407 | 192.241.254.0/24,US,US-NY,New York,10011 1408 | 192.241.255.0/24,US,US-NY,New York,10011 1409 | 198.199.64.0/24,US,US-NJ,North Bergen,07047 1410 | 198.199.65.0/24,US,US-NJ,North Bergen,07047 1411 | 198.199.66.0/24,US,US-NJ,North Bergen,07047 1412 | 198.199.67.0/24,US,US-NJ,North Bergen,07047 1413 | 198.199.68.0/24,US,US-NJ,North Bergen,07047 1414 | 198.199.69.0/24,US,US-NJ,North Bergen,07047 1415 | 198.199.70.0/24,US,US-NJ,North Bergen,07047 1416 | 198.199.71.0/24,US,US-NJ,North Bergen,07047 1417 | 198.199.72.0/24,US,US-NJ,North Bergen,07047 1418 | 198.199.73.0/24,US,US-NJ,North Bergen,07047 1419 | 198.199.74.0/24,US,US-NJ,North Bergen,07047 1420 | 198.199.75.0/24,US,US-NJ,North Bergen,07047 1421 | 198.199.76.0/24,US,US-NJ,North Bergen,07047 1422 | 198.199.77.0/24,US,US-NJ,North Bergen,07047 1423 | 198.199.78.0/24,US,US-NJ,North Bergen,07047 1424 | 198.199.79.0/24,US,US-NJ,North Bergen,07047 1425 | 198.199.80.0/24,US,US-NJ,North Bergen,07047 1426 | 198.199.81.0/24,US,US-NJ,North Bergen,07047 1427 | 198.199.82.0/24,US,US-NJ,North Bergen,07047 1428 | 198.199.83.0/24,US,US-NJ,North Bergen,07047 1429 | 198.199.84.0/24,US,US-NJ,North Bergen,07047 1430 | 198.199.85.0/24,US,US-NJ,North Bergen,07047 1431 | 198.199.86.0/24,US,US-NJ,North Bergen,07047 1432 | 198.199.87.0/24,US,US-NJ,North Bergen,07047 1433 | 198.199.88.0/24,US,US-NJ,North Bergen,07047 1434 | 198.199.89.0/24,US,US-NJ,North Bergen,07047 1435 | 198.199.90.0/24,US,US-NJ,North Bergen,07047 1436 | 198.199.91.0/24,US,US-NJ,North Bergen,07047 1437 | 198.199.92.0/24,US,US-SF,San Francisco,94124 1438 | 198.199.93.0/24,US,US-SF,San Francisco,94124 1439 | 198.199.94.0/24,US,US-SF,San Francisco,94124 1440 | 198.199.95.0/24,US,US-SF,San Francisco,94124 1441 | 198.199.96.0/24,US,US-SF,San Francisco,94124 1442 | 198.199.97.0/24,US,US-SF,San Francisco,94124 1443 | 198.199.98.0/24,US,US-SF,San Francisco,94124 1444 | 198.199.100.0/24,US,US-SF,San Francisco,94124 1445 | 198.199.101.0/24,US,US-SF,San Francisco,94124 1446 | 198.199.102.0/24,US,US-SF,San Francisco,94124 1447 | 198.199.103.0/24,US,US-SF,San Francisco,94124 1448 | 198.199.104.0/24,US,US-SF,San Francisco,94124 1449 | 198.199.105.0/24,US,US-SF,San Francisco,94124 1450 | 198.199.106.0/24,US,US-SF,San Francisco,94124 1451 | 198.199.107.0/24,US,US-SF,San Francisco,94124 1452 | 198.199.108.0/24,US,US-SF,San Francisco,94124 1453 | 198.199.109.0/24,US,US-SF,San Francisco,94124 1454 | 198.199.110.0/24,US,US-SF,San Francisco,94124 1455 | 198.199.111.0/24,US,US-SF,San Francisco,94124 1456 | 198.199.112.0/24,US,US-SF,San Francisco,94124 1457 | 198.199.113.0/24,US,US-SF,San Francisco,94124 1458 | 198.199.114.0/24,US,US-SF,San Francisco,94124 1459 | 198.199.115.0/24,US,US-SF,San Francisco,94124 1460 | 198.199.116.0/24,US,US-SF,San Francisco,94124 1461 | 198.199.117.0/24,US,US-SF,San Francisco,94124 1462 | 198.199.118.0/24,US,US-SF,San Francisco,94124 1463 | 198.199.119.0/24,US,US-SF,San Francisco,94124 1464 | 198.199.120.0/24,US,US-NJ,North Bergen,07047 1465 | 198.199.121.0/24,US,US-NJ,North Bergen,07047 1466 | 198.199.122.0/24,US,US-NJ,North Bergen,07047 1467 | 198.199.123.0/24,US,US-NJ,North Bergen,07047 1468 | 198.199.124.0/24,NL,NL-NH,Amsterdam,1105 AT 1469 | 198.199.125.0/24,NL,NL-NH,Amsterdam,1105 AT 1470 | 198.199.126.0/24,NL,NL-NH,Amsterdam,1105 AT 1471 | 198.199.127.0/24,NL,NL-NH,Amsterdam,1105 AT 1472 | 198.211.96.0/24,US,US-NJ,North Bergen,07047 1473 | 198.211.97.0/24,US,US-NJ,North Bergen,07047 1474 | 198.211.98.0/24,US,US-NJ,North Bergen,07047 1475 | 198.211.99.0/24,US,US-NJ,North Bergen,07047 1476 | 198.211.100.0/24,US,US-NJ,North Bergen,07047 1477 | 198.211.101.0/24,US,US-NJ,North Bergen,07047 1478 | 198.211.102.0/24,US,US-NJ,North Bergen,07047 1479 | 198.211.103.0/24,US,US-NJ,North Bergen,07047 1480 | 198.211.104.0/24,US,US-NJ,North Bergen,07047 1481 | 198.211.105.0/24,US,US-NJ,North Bergen,07047 1482 | 198.211.106.0/24,US,US-NJ,North Bergen,07047 1483 | 198.211.107.0/24,US,US-NJ,North Bergen,07047 1484 | 198.211.108.0/24,US,US-NJ,North Bergen,07047 1485 | 198.211.109.0/24,US,US-NJ,North Bergen,07047 1486 | 198.211.110.0/24,US,US-NJ,North Bergen,07047 1487 | 198.211.112.0/24,US,US-NJ,North Bergen,07047 1488 | 198.211.113.0/24,US,US-NJ,North Bergen,07047 1489 | 198.211.114.0/24,US,US-NJ,North Bergen,07047 1490 | 198.211.115.0/24,US,US-NJ,North Bergen,07047 1491 | 198.211.116.0/24,US,US-NJ,North Bergen,07047 1492 | 198.211.117.0/24,US,US-NJ,North Bergen,07047 1493 | 198.211.118.0/24,NL,NL-NH,Amsterdam,1105 AT 1494 | 198.211.119.0/24,NL,NL-NH,Amsterdam,1105 AT 1495 | 198.211.120.0/24,NL,NL-NH,Amsterdam,1105 AT 1496 | 198.211.121.0/24,NL,NL-NH,Amsterdam,1105 AT 1497 | 198.211.122.0/24,NL,NL-NH,Amsterdam,1105 AT 1498 | 198.211.123.0/24,NL,NL-NH,Amsterdam,1105 AT 1499 | 198.211.124.0/24,NL,NL-NH,Amsterdam,1105 AT 1500 | 198.211.125.0/24,NL,NL-NH,Amsterdam,1105 AT 1501 | 198.211.126.0/24,NL,NL-NH,Amsterdam,1105 AT 1502 | 198.211.127.0/24,NL,NL-NH,Amsterdam,1105 AT 1503 | 204.48.16.0/20,US,US-NJ,North Bergen,07047 1504 | 206.81.0.0/20,US,US-NJ,North Bergen,07047 1505 | 206.81.16.0/20,DE,DE-HE,Frankfurt,60341 1506 | 206.189.0.0/20,NL,NL-NH,Amsterdam,1098 XH 1507 | 206.189.16.0/20,GB,GB-SLG,London,SL1 4AX 1508 | 206.189.32.0/20,SG,SG-05,Singapore,627753 1509 | 206.189.48.0/20,DE,DE-HE,Frankfurt,60341 1510 | 206.189.64.0/20,US,US-CA,Santa Clara,95051 1511 | 206.189.80.0/20,SG,SG-05,Singapore,627753 1512 | 206.189.96.0/20,NL,NL-NH,Amsterdam,1098 XH 1513 | 206.189.112.0/20,GB,GB-SLG,London,SL1 4AX 1514 | 206.189.128.0/20,IN,IN-KA,Bangalore,560100 1515 | 206.189.144.0/20,SG,SG-05,Singapore,627753 1516 | 206.189.160.0/20,US,US-CA,Santa Clara,95051 1517 | 206.189.176.0/20,US,US-NJ,North Bergen,07047 1518 | 206.189.192.0/20,US,US-NJ,North Bergen,07047 1519 | 206.189.208.0/20,US,US-CA,Santa Clara,95051 1520 | 206.189.224.0/20,US,US-NJ,North Bergen,07047 1521 | 206.189.240.0/22,NL,NL-NH,Amsterdam,1098 XH 1522 | 206.189.244.0/22,GB,GB-SLG,London,SL1 4AX 1523 | 206.189.248.0/22,DE,DE-HE,Frankfurt,60341 1524 | 206.189.252.0/22,US,US-NJ,North Bergen,07047 1525 | 207.154.192.0/20,DE,DE-HE,Frankfurt,60341 1526 | 207.154.208.0/20,DE,DE-HE,Frankfurt,60341 1527 | 207.154.224.0/20,DE,DE-HE,Frankfurt,60341 1528 | 207.154.240.0/20,DE,DE-HE,Frankfurt,60341 1529 | 208.68.36.0/24,US,US-NJ,North Bergen,07047 1530 | 208.68.37.0/24,US,US-NJ,North Bergen,07047 1531 | 208.68.38.0/24,US,US-NJ,North Bergen,07047 1532 | 208.68.39.0/24,US,US-NJ,North Bergen,07047 1533 | 209.38.176.0/20,DE,DE-HE,Frankfurt,60341 1534 | 209.38.192.0/19,DE,DE-HE,Frankfurt,60341 1535 | 209.38.224.0/19,DE,DE-HE,Frankfurt,60341 1536 | 209.97.128.0/20,GB,GB-SLG,London,SL1 4AX 1537 | 209.97.144.0/20,US,US-NJ,Clifton,07014 1538 | 209.97.160.0/20,SG,SG-05,Singapore,627753 1539 | 209.97.176.0/20,GB,GB-SLG,London,SL1 4AX 1540 | 2400:6180:0:d0::/64,SG,SG-05,Singapore,627753 1541 | 2400:6180:0:d1::/64,SG,SG-05,Singapore,627753 1542 | 2400:6180:0:d2::/64,SG,SG-05,Singapore,627753 1543 | 2400:6180:0:d3::/64,SG,SG-05,Singapore,627753 1544 | 2400:6180:10:200::/64,AU,AU-NSW,Sydney,2015 1545 | 2400:6180:100::/40,IN,IN-KA,Bangalore,560100 1546 | 2400:6180:100:d0::/64,IN,IN-KA,Bangalore,560100 1547 | 2604:a880:0:1010::/64,US,US-NY,New York,10011 1548 | 2604:a880:0:1011::/64,US,US-NY,New York,10011 1549 | 2604:a880:0:1012::/64,US,US-NY,New York,10011 1550 | 2604:a880:0:1013::/64,US,US-NY,New York,10011 1551 | 2604:a880:0:1014::/64,US,US-NY,New York,10011 1552 | 2604:a880:0:1015::/64,US,US-NY,New York,10011 1553 | 2604:a880:0:1016::/64,US,US-NY,New York,10011 1554 | 2604:a880:0:1017::/64,US,US-NY,New York,10011 1555 | 2604:a880:0:1018::/64,US,US-NY,New York,10011 1556 | 2604:a880:0:1019::/64,US,US-NY,New York,10011 1557 | 2604:a880:0:1020::/64,US,US-NY,New York,10011 1558 | 2604:a880:0:1021::/64,US,US-NY,New York,10011 1559 | 2604:a880:0:1022::/64,US,US-NY,New York,10011 1560 | 2604:a880:0:1023::/64,US,US-NY,New York,10011 1561 | 2604:a880:0:1024::/64,US,US-NY,New York,10011 1562 | 2604:a880:0:1025::/64,US,US-NY,New York,10011 1563 | 2604:a880:0:1026::/64,US,US-NY,New York,10011 1564 | 2604:a880:0:1027::/64,US,US-NY,New York,10011 1565 | 2604:a880:0:1028::/64,US,US-NY,New York,10011 1566 | 2604:a880:0:1029::/64,US,US-NY,New York,10011 1567 | 2604:a880:0:2010::/64,US,US-NY,New York,10011 1568 | 2604:a880:0:2011::/64,US,US-NY,New York,10011 1569 | 2604:a880:0:2012::/64,US,US-NY,New York,10011 1570 | 2604:a880:0:2013::/64,US,US-NY,New York,10011 1571 | 2604:a880:0:2014::/64,US,US-NY,New York,10011 1572 | 2604:a880:0:2015::/64,US,US-NY,New York,10011 1573 | 2604:a880:0:2016::/64,US,US-NY,New York,10011 1574 | 2604:a880:0:2017::/64,US,US-NY,New York,10011 1575 | 2604:a880:0:2018::/64,US,US-NY,New York,10011 1576 | 2604:a880:0:2019::/64,US,US-NY,New York,10011 1577 | 2604:a880:0:2020::/64,US,US-NY,New York,10011 1578 | 2604:a880:0:2021::/64,US,US-NY,New York,10011 1579 | 2604:a880:0:2022::/64,US,US-NY,New York,10011 1580 | 2604:a880:0:2023::/64,US,US-NY,New York,10011 1581 | 2604:a880:0:2024::/64,US,US-NY,New York,10011 1582 | 2604:a880:0:2025::/64,US,US-NY,New York,10011 1583 | 2604:a880:0:2026::/64,US,US-NY,New York,10011 1584 | 2604:a880:0:2027::/64,US,US-NY,New York,10011 1585 | 2604:a880:0:2028::/64,US,US-NY,New York,10011 1586 | 2604:a880:0:2029::/64,US,US-NY,New York,10011 1587 | 2604:a880:0:202a::/64,US,US-NY,New York,10011 1588 | 2604:a880:1:20::/64,US,US-SF,San Francisco,94124 1589 | 2604:a880:1:4a::/64,US,US-SF,San Francisco,94124 1590 | 2604:a880:2:d0::/64,US,US-CA,Santa Clara,95051 1591 | 2604:a880:2:d1::/64,US,US-CA,Santa Clara,95051 1592 | 2604:a880:4:1d0::/64,US,US-CA,Santa Clara,95054 1593 | 2604:a880:400:d0::/64,US,US-NJ,North Bergen,07047 1594 | 2604:a880:400:d1::/64,US,US-NJ,North Bergen,07047 1595 | 2604:a880:800:10::/64,US,US-NJ,Clifton,07014 1596 | 2604:a880:800:11::/64,US,US-NJ,Clifton,07014 1597 | 2604:a880:800:12::/64,US,US-NJ,Clifton,07014 1598 | 2604:a880:800:13::/64,US,US-NJ,Clifton,07014 1599 | 2604:a880:800:14::/64,US,US-NJ,Clifton,07014 1600 | 2604:a880:800:a1::/64,US,US-NJ,Clifton,07014 1601 | 2604:a880:800:c1::/64,US,US-NJ,Clifton,07014 1602 | 2604:a880:cad:d0::/64,CA,CA-ON,Toronto,M5A 0B2 1603 | 2a03:b0c0:0:108::/64,NL,NL-NH,Amsterdam,1105 AT 1604 | 2a03:b0c0:0:126::/64,NL,NL-NH,Amsterdam,1105 AT 1605 | 2a03:b0c0:0:127::/64,NL,NL-NH,Amsterdam,1105 AT 1606 | 2a03:b0c0:0:128::/64,NL,NL-NH,Amsterdam,1105 AT 1607 | 2a03:b0c0:0:129::/64,NL,NL-NH,Amsterdam,1105 AT 1608 | 2a03:b0c0:0:130::/64,NL,NL-NH,Amsterdam,1105 AT 1609 | 2a03:b0c0:0:131::/64,NL,NL-NH,Amsterdam,1105 AT 1610 | 2a03:b0c0:0:132::/64,NL,NL-NH,Amsterdam,1105 AT 1611 | 2a03:b0c0:0:133::/64,NL,NL-NH,Amsterdam,1105 AT 1612 | 2a03:b0c0:0:134::/64,NL,NL-NH,Amsterdam,1105 AT 1613 | 2a03:b0c0:0:135::/64,NL,NL-NH,Amsterdam,1105 AT 1614 | 2a03:b0c0:0:136::/64,NL,NL-NH,Amsterdam,1105 AT 1615 | 2a03:b0c0:0:137::/64,NL,NL-NH,Amsterdam,1105 AT 1616 | 2a03:b0c0:0:138::/64,NL,NL-NH,Amsterdam,1105 AT 1617 | 2a03:b0c0:0:139::/64,NL,NL-NH,Amsterdam,1105 AT 1618 | 2a03:b0c0:0:140::/64,NL,NL-NH,Amsterdam,1105 AT 1619 | 2a03:b0c0:0:141::/64,NL,NL-NH,Amsterdam,1105 AT 1620 | 2a03:b0c0:0:142::/64,NL,NL-NH,Amsterdam,1105 AT 1621 | 2a03:b0c0:0:143::/64,NL,NL-NH,Amsterdam,1105 AT 1622 | 2a03:b0c0:0:144::/64,NL,NL-NH,Amsterdam,1105 AT 1623 | 2a03:b0c0:0:145::/64,NL,NL-NH,Amsterdam,1105 AT 1624 | 2a03:b0c0:0:146::/64,NL,NL-NH,Amsterdam,1105 AT 1625 | 2a03:b0c0:0:147::/64,NL,NL-NH,Amsterdam,1105 AT 1626 | 2a03:b0c0:0:148::/64,NL,NL-NH,Amsterdam,1105 AT 1627 | 2a03:b0c0:0:149::/64,NL,NL-NH,Amsterdam,1105 AT 1628 | 2a03:b0c0:0:150::/64,NL,NL-NH,Amsterdam,1105 AT 1629 | 2a03:b0c0:0:151::/64,NL,NL-NH,Amsterdam,1105 AT 1630 | 2a03:b0c0:0:152::/64,NL,NL-NH,Amsterdam,1105 AT 1631 | 2a03:b0c0:0:153::/64,NL,NL-NH,Amsterdam,1105 AT 1632 | 2a03:b0c0:0:154::/64,NL,NL-NH,Amsterdam,1105 AT 1633 | 2a03:b0c0:0:155::/64,NL,NL-NH,Amsterdam,1105 AT 1634 | 2a03:b0c0:0:1010::/64,NL,NL-NH,Amsterdam,1105 AT 1635 | 2a03:b0c0:0:1011::/64,NL,NL-NH,Amsterdam,1105 AT 1636 | 2a03:b0c0:0:1012::/64,NL,NL-NH,Amsterdam,1105 AT 1637 | 2a03:b0c0:0:1013::/64,NL,NL-NH,Amsterdam,1105 AT 1638 | 2a03:b0c0:0:1014::/64,NL,NL-NH,Amsterdam,1105 AT 1639 | 2a03:b0c0:0:1015::/64,NL,NL-NH,Amsterdam,1105 AT 1640 | 2a03:b0c0:0:1016::/64,NL,NL-NH,Amsterdam,1105 AT 1641 | 2a03:b0c0:0:1017::/64,NL,NL-NH,Amsterdam,1105 AT 1642 | 2a03:b0c0:0:1018::/64,NL,NL-NH,Amsterdam,1105 AT 1643 | 2a03:b0c0:0:1019::/64,NL,NL-NH,Amsterdam,1105 AT 1644 | 2a03:b0c0:0:1020::/64,NL,NL-NH,Amsterdam,1105 AT 1645 | 2a03:b0c0:0:1021::/64,NL,NL-NH,Amsterdam,1105 AT 1646 | 2a03:b0c0:0:1022::/64,NL,NL-NH,Amsterdam,1105 AT 1647 | 2a03:b0c0:0:1023::/64,NL,NL-NH,Amsterdam,1105 AT 1648 | 2a03:b0c0:0:1024::/64,NL,NL-NH,Amsterdam,1105 AT 1649 | 2a03:b0c0:0:1025::/64,NL,NL-NH,Amsterdam,1105 AT 1650 | 2a03:b0c0:0:1026::/64,NL,NL-NH,Amsterdam,1105 AT 1651 | 2a03:b0c0:0:1027::/64,NL,NL-NH,Amsterdam,1105 AT 1652 | 2a03:b0c0:0:1028::/64,NL,NL-NH,Amsterdam,1105 AT 1653 | 2a03:b0c0:0:1029::/64,NL,NL-NH,Amsterdam,1105 AT 1654 | 2a03:b0c0:0:1030::/64,NL,NL-NH,Amsterdam,1105 AT 1655 | 2a03:b0c0:0:1031::/64,NL,NL-NH,Amsterdam,1105 AT 1656 | 2a03:b0c0:0:1032::/64,NL,NL-NH,Amsterdam,1105 AT 1657 | 2a03:b0c0:0:1033::/64,NL,NL-NH,Amsterdam,1105 AT 1658 | 2a03:b0c0:0:1034::/64,NL,NL-NH,Amsterdam,1105 AT 1659 | 2a03:b0c0:0:1035::/64,NL,NL-NH,Amsterdam,1105 AT 1660 | 2a03:b0c0:0:1036::/64,NL,NL-NH,Amsterdam,1105 AT 1661 | 2a03:b0c0:0:1037::/64,NL,NL-NH,Amsterdam,1105 AT 1662 | 2a03:b0c0:0:1038::/64,NL,NL-NH,Amsterdam,1105 AT 1663 | 2a03:b0c0:0:1039::/64,NL,NL-NH,Amsterdam,1105 AT 1664 | 2a03:b0c0:0:1040::/64,NL,NL-NH,Amsterdam,1105 AT 1665 | 2a03:b0c0:0:1041::/64,NL,NL-NH,Amsterdam,1105 AT 1666 | 2a03:b0c0:0:1042::/64,NL,NL-NH,Amsterdam,1105 AT 1667 | 2a03:b0c0:0:1043::/64,NL,NL-NH,Amsterdam,1105 AT 1668 | 2a03:b0c0:0:1044::/64,NL,NL-NH,Amsterdam,1105 AT 1669 | 2a03:b0c0:0:1045::/64,NL,NL-NH,Amsterdam,1105 AT 1670 | 2a03:b0c0:0:1046::/64,NL,NL-NH,Amsterdam,1105 AT 1671 | 2a03:b0c0:0:1047::/64,NL,NL-NH,Amsterdam,1105 AT 1672 | 2a03:b0c0:0:1048::/64,NL,NL-NH,Amsterdam,1105 AT 1673 | 2a03:b0c0:0:1049::/64,NL,NL-NH,Amsterdam,1105 AT 1674 | 2a03:b0c0:0:1050::/64,NL,NL-NH,Amsterdam,1105 AT 1675 | 2a03:b0c0:0:1051::/64,NL,NL-NH,Amsterdam,1105 AT 1676 | 2a03:b0c0:1:a1::/64,GB,GB-SLG,London,SL1 4AX 1677 | 2a03:b0c0:1:d0::/64,GB,GB-SLG,London,SL1 4AX 1678 | 2a03:b0c0:1:e0::/64,GB,GB-SLG,London,SL1 4AX 1679 | 2a03:b0c0:2:d0::/64,NL,NL-NH,Amsterdam,1098 XH 1680 | 2a03:b0c0:2:f0::/64,NL,NL-NH,Amsterdam,1098 XH 1681 | 2a03:b0c0:3:d0::/64,DE,DE-HE,Frankfurt,60341 1682 | 2a03:b0c0:3:e0::/64,DE,DE-HE,Frankfurt,60341 1683 | 2a03:b0c0:3:f0::/64,DE,DE-HE,Frankfurt,60341 1684 | -------------------------------------------------------------------------------- /demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iknowjason/edge/c0babf833ebf7631b892b260d88d896255bb8087/demo.png -------------------------------------------------------------------------------- /edge-usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iknowjason/edge/c0babf833ebf7631b892b260d88d896255bb8087/edge-usage.png -------------------------------------------------------------------------------- /edge.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "encoding/csv" 6 | "encoding/json" 7 | "encoding/xml" 8 | "flag" 9 | "fmt" 10 | "github.com/miekg/dns" 11 | "golang.org/x/net/html" 12 | "io" 13 | "io/ioutil" 14 | "log" 15 | "net" 16 | "net/http" 17 | "os" 18 | "strconv" 19 | "strings" 20 | "text/tabwriter" 21 | "time" 22 | ) 23 | 24 | /* Global Variables */ 25 | var prefixes Prefixes 26 | var prefixesv6 Prefixesv6 27 | var values Values 28 | var gprefixes GPrefixes 29 | var cfprefixes CFPrefixes 30 | var doprefixes DOPrefixes 31 | var csvfile *os.File 32 | var error_timeout = 0 33 | var dns_lookups = 0 34 | var records_found = 0 35 | var edge_version = "0.2.5" 36 | var ( 37 | flDomain = flag.String("domain", "", "The domain to perform guessing against.") 38 | flWordlist = flag.String("wordlist", "", "The wordlist to use for guessing.") 39 | flCsv = flag.String("csv", "", "Output results to CSV file") 40 | flServerAddr = flag.String("resolver", "8.8.8.8:53", "The DNS server to use.") 41 | flIp = flag.String("ip", "", "The text file to use with IP addresses") 42 | flNmap = flag.String("nmap", "", "Nmap scan xml file to use.") 43 | flWorkerCount = flag.Int("workers", 10, "The amount of workers to use.") 44 | flSingle = flag.String("single", "", "Single IP address to do a prefix lookup") 45 | ptrFlag = false 46 | prefixFlag = false 47 | crtFlag = false 48 | dnsFlag = false 49 | verboseFlag = false 50 | outputFlag = false 51 | silentFlag = false 52 | azurejson = "azure.json" 53 | azureurl = "https://azservicetags.azurewebsites.net/" 54 | googlejson = "cloud.json" 55 | googleurl = "https://www.gstatic.com/ipranges/cloud.json" 56 | awsjson = "aws.json" 57 | awsurl = "https://ip-ranges.amazonaws.com/ip-ranges.json" 58 | cfipv4txt = "cloudflare-ipv4.txt" 59 | cfipv4url = "https://www.cloudflare.com/ips-v4/#" 60 | cfipv6txt = "cloudflare-ipv6.txt" 61 | cfipv6url = "https://www.cloudflare.com/ips-v6/#" 62 | docsv = "digitalocean.csv" 63 | dourl = "https://digitalocean.com/geo/google.csv" 64 | ) 65 | 66 | func DownloadFile(filepath string, url string) error { 67 | 68 | resp, err := http.Get(url) 69 | if err != nil { 70 | fmt.Printf("[ERR] Failed to download the file: %s. Error: %v\n", filepath, err) 71 | return err 72 | } 73 | defer resp.Body.Close() 74 | 75 | // Check if the HTTP request was successful 76 | if resp.StatusCode != http.StatusOK { 77 | err := fmt.Errorf("[ERR] failed to download from url: %s. Server returned status code: %d", url, resp.StatusCode) 78 | fmt.Println(err) 79 | fmt.Println("[ERR] Are you offline?") 80 | fmt.Println("[ERR] Try coping the missing file from 'csp-files' directory to working directory") 81 | os.Exit(1) 82 | } 83 | 84 | out, err := os.Create(filepath) 85 | if err != nil { 86 | return err 87 | } 88 | defer out.Close() 89 | 90 | fmt.Printf("[INF] File %s has been downloaded and created\n", filepath) 91 | 92 | _, err = io.Copy(out, resp.Body) 93 | return err 94 | } 95 | 96 | func fwd_dns_request(query string, serverAddr string) []result { 97 | 98 | var results []result 99 | var fqdn = strings.TrimSuffix(query, ".") 100 | var source = "A" 101 | var cname_response = "" 102 | var pdesc = "" 103 | dns_lookups++ 104 | 105 | var m dns.Msg 106 | m.SetQuestion(dns.Fqdn(query), dns.TypeA) 107 | in, err := dns.Exchange(&m, serverAddr) 108 | 109 | if isFlagPassed("verbose") { 110 | fmt.Println("[+] Looking up", fqdn) 111 | } 112 | 113 | if err != nil { 114 | error_timeout++ 115 | if isFlagPassed("verbose") { 116 | fmt.Println("Error:", err) 117 | } 118 | return nil 119 | } 120 | 121 | if in.MsgHdr.Rcode == 3 { 122 | // No such name result - don't process any further 123 | return nil 124 | } 125 | if len(in.Answer) == 0 { 126 | // Answer length is 0 - don't process any further 127 | return nil 128 | } 129 | 130 | if a, ok := in.Answer[0].(*dns.A); ok { 131 | 132 | // increment records found 133 | 134 | ip_addr := a.A.String() 135 | 136 | if isFlagPassed("prefix") { 137 | if retval1, desc := prefixes.aws_lookup(ip_addr); retval1 { 138 | pdesc = desc 139 | } else if retval2, desc2 := values.azure_lookup(ip_addr); retval2 { 140 | pdesc = desc2 141 | } else if retval3, desc3 := gprefixes.gcloud_lookup(ip_addr); retval3 { 142 | pdesc = desc3 143 | } else if retval4, desc4 := cfprefixes.cf_lookup(ip_addr); retval4 { 144 | pdesc = desc4 145 | } else if retval5, desc5 := doprefixes.do_lookup(ip_addr); retval5 { 146 | pdesc = desc5 147 | } else { 148 | pdesc = "" 149 | } 150 | results = append(results, result{IPAddress: a.A.String(), Hostname: fqdn, Source: source, CNAME_Response: cname_response, Description: pdesc}) 151 | } 152 | 153 | results = append(results, result{IPAddress: ip_addr, Hostname: fqdn, Source: source, CNAME_Response: cname_response, Description: pdesc}) 154 | 155 | } else if a, ok := in.Answer[0].(*dns.CNAME); ok { 156 | source = "CNAME" 157 | for _, s := range in.Answer { 158 | 159 | // increment records found 160 | //records_found++ 161 | 162 | if cresp, ok := s.(*dns.A); ok { 163 | cname_response = strings.TrimSuffix(a.Target, ".") 164 | source = "A" 165 | 166 | ip_addr := cresp.A.String() 167 | 168 | if isFlagPassed("prefix") { 169 | if retval1, desc := prefixes.aws_lookup(ip_addr); retval1 { 170 | pdesc = desc 171 | } else if retval2, desc2 := values.azure_lookup(ip_addr); retval2 { 172 | pdesc = desc2 173 | } else if retval3, desc3 := gprefixes.gcloud_lookup(ip_addr); retval3 { 174 | pdesc = desc3 175 | } else if retval4, desc4 := cfprefixes.cf_lookup(ip_addr); retval4 { 176 | pdesc = desc4 177 | } else if retval5, desc5 := doprefixes.do_lookup(ip_addr); retval5 { 178 | pdesc = desc5 179 | } else { 180 | pdesc = "" 181 | } 182 | results = append(results, result{IPAddress: cresp.A.String(), Hostname: fqdn, Source: source, CNAME_Response: cname_response, Description: pdesc}) 183 | } 184 | 185 | results = append(results, result{IPAddress: cresp.A.String(), Hostname: fqdn, Source: source, CNAME_Response: cname_response, Description: pdesc}) 186 | 187 | } else if cresp, ok := s.(*dns.CNAME); ok { 188 | source = "CNAME" 189 | hostname := cresp.Header().Name 190 | fqdn = strings.TrimSuffix(cresp.Target, ".") 191 | results = append(results, result{IPAddress: "", Hostname: hostname, Source: source, CNAME_Response: fqdn, Description: pdesc}) 192 | fwd_dns_request(fqdn, serverAddr) 193 | } else { 194 | 195 | } 196 | 197 | } 198 | 199 | } 200 | 201 | return results 202 | } 203 | 204 | func worker(tracker chan empty, fqdns chan string, gather chan []result, serverAddr string) { 205 | for fqdn := range fqdns { 206 | lookup := fqdn + "." 207 | results := fwd_dns_request(lookup, serverAddr) 208 | if len(results) > 0 { 209 | gather <- results 210 | } 211 | } 212 | var e empty 213 | tracker <- e 214 | 215 | } 216 | 217 | func removeDuplicateStr(strSlice []string) []string { 218 | allKeys := make(map[string]bool) 219 | list := []string{} 220 | for _, item := range strSlice { 221 | if _, value := allKeys[item]; !value { 222 | allKeys[item] = true 223 | list = append(list, item) 224 | } 225 | } 226 | return list 227 | } 228 | 229 | func crt_transparency(domain_string string, serverAddr string) []result { 230 | 231 | var results []result 232 | 233 | query_string := "https://crt.sh?q=" + domain_string 234 | resp, err := http.Get(query_string) 235 | 236 | if err != nil { 237 | log.Fatalln(err) 238 | } 239 | 240 | body, err := ioutil.ReadAll(resp.Body) 241 | if err != nil { 242 | log.Fatalln(err) 243 | } 244 | 245 | // Convert the body to type string 246 | sb := string(body) 247 | 248 | body2 := strings.NewReader(sb) 249 | 250 | z := html.NewTokenizer(body2) 251 | content := []string{} 252 | 253 | // While have not hit the tag 254 | for z.Token().Data != "html" { 255 | tt := z.Next() 256 | if tt == html.StartTagToken { 257 | t := z.Token() 258 | if t.Data == "td" { 259 | inner := z.Next() 260 | if inner == html.TextToken { 261 | text := (string)(z.Text()) 262 | t := strings.TrimSpace(text) 263 | content = append(content, t) 264 | } 265 | } 266 | } 267 | } 268 | 269 | content2 := removeDuplicateStr(content) 270 | 271 | sum := 0 272 | for _, v := range content2 { 273 | if strings.Contains(v, domain_string) && !strings.HasPrefix(v, "*.") { 274 | 275 | if strings.Contains(v, "Type: Identity") { 276 | // Remove the first line 277 | } else { 278 | 279 | results = append(results, result{IPAddress: "", Hostname: v, Source: "Certificate", CNAME_Response: ""}) 280 | sum += 1 281 | 282 | if isFlagPassed("dns") { 283 | 284 | // Write the csv file 285 | x := csv.NewWriter(csvfile) 286 | defer x.Flush() 287 | 288 | lookup := v + "." 289 | result := fwd_dns_request(lookup, serverAddr) 290 | 291 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 292 | for _, r := range result { 293 | // Print summary [INF] 294 | if silentFlag == false { 295 | if r.Source == "A" { 296 | s := fmt.Sprintf("[INF] Found host via A [%s:%s]", r.Hostname, r.IPAddress) 297 | fmt.Println(s) 298 | } else if r.Source == "CNAME" { 299 | s := fmt.Sprintf("[INF] Found host via CNAME [%s:%s]", r.Hostname, r.CNAME_Response) 300 | fmt.Println(s) 301 | } 302 | 303 | //parse and print r.Description if not empty 304 | //which means a cloud provider prefix has been matched 305 | if r.Description == "" { 306 | //empty string, didn't match to a cloud provider 307 | } else { 308 | 309 | desc_elements := strings.Split(r.Description, ";") 310 | provider := desc_elements[0] 311 | provider_elements := strings.Split(provider, ":") 312 | csp := provider_elements[1] 313 | prefix := desc_elements[1] 314 | prefix_elements := strings.Split(prefix, ":") 315 | csp_prefix := prefix_elements[1] 316 | 317 | s := fmt.Sprintf("[INF] Matched Cloud Provider via prefix [%s:%s]", csp, csp_prefix) 318 | fmt.Println(s) 319 | 320 | // Extract the service if AWS or Azure, extract the region if GCP 321 | if csp == "AWS" || csp == "Azure" || csp == "GCP" { 322 | service_string := "" 323 | region_string := "" 324 | csp_region := "" 325 | s := "" 326 | if csp == "AWS" { 327 | service_string = desc_elements[3] 328 | region_string = desc_elements[2] 329 | regions := strings.Split(region_string, ":") 330 | csp_region = regions[1] 331 | services := strings.Split(service_string, ":") 332 | csp_svc := services[1] 333 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s] and Region [%s]", r.IPAddress, csp_svc, csp_region) 334 | } else if csp == "Azure" { 335 | //Parse azure description for SystemService 336 | service_string = desc_elements[5] 337 | services := strings.Split(service_string, ":") 338 | csp_svc := services[1] 339 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s]", r.IPAddress, csp_svc) 340 | } else if csp == "GCP" { 341 | region_string = desc_elements[2] 342 | regions := strings.Split(region_string, ":") 343 | csp_region = regions[1] 344 | s = fmt.Sprintf("[INF] Matched IP [%s] to Region [%s]", r.IPAddress, csp_region) 345 | } 346 | fmt.Println(s) 347 | 348 | } 349 | } 350 | 351 | } 352 | 353 | // print detailed line 354 | fmt.Fprintf(w, "%s,%s,%s,%s,%s\n", r.Hostname, r.IPAddress, r.Source, r.CNAME_Response, r.Description) 355 | 356 | if isFlagPassed("output") { 357 | record := []string{r.Hostname, r.IPAddress, r.Source, r.CNAME_Response, r.Description} 358 | if err := x.Write(record); err != nil { 359 | log.Fatalln("Error writing record to file:", err) 360 | } 361 | } 362 | } 363 | w.Flush() 364 | 365 | } 366 | } 367 | } 368 | } 369 | return results 370 | 371 | } 372 | 373 | type empty struct{} 374 | 375 | type result struct { 376 | IPAddress string 377 | Hostname string 378 | Source string 379 | CNAME_Response string 380 | Description string 381 | } 382 | 383 | func isFlagPassed(name string) bool { 384 | found := false 385 | flag.Visit(func(f *flag.Flag) { 386 | if f.Name == name { 387 | found = true 388 | } 389 | }) 390 | return found 391 | } 392 | 393 | func reverse(lookup string) string { 394 | ptr, _ := net.LookupAddr(lookup) 395 | 396 | dns_lookups++ 397 | if len(ptr) > 0 { 398 | for _, ptrvalue := range ptr { 399 | return ptrvalue 400 | } 401 | } 402 | return "" 403 | } 404 | 405 | func (s *GPrefixes) gcloud_lookup(lookup string) (bool, string) { 406 | 407 | var description = "" 408 | 409 | for i := 0; i < len(s.GPrefixes); i++ { 410 | IPAddress := net.ParseIP(lookup) 411 | if s.GPrefixes[i].Ipv4prefix != "" { 412 | _, ipv4Net, _ := net.ParseCIDR(s.GPrefixes[i].Ipv4prefix) 413 | mybool := ipv4Net.Contains(IPAddress) 414 | if mybool == true { 415 | description := fmt.Sprintf("Provider:GCP;Prefix:%s;Region:%s", s.GPrefixes[i].Ipv4prefix, s.GPrefixes[i].Scope) 416 | if isFlagPassed("verbose") { 417 | fmt.Println(" [+] Found Google Cloud prefix:", s.GPrefixes[i].Ipv4prefix) 418 | } 419 | return true, description 420 | } 421 | 422 | } else if s.GPrefixes[i].Ipv6prefix != "" { 423 | // Ipv6, so do nothing 424 | 425 | } 426 | } 427 | return false, description 428 | } 429 | 430 | func (s *DOPrefixes) do_lookup(lookup string) (bool, string) { 431 | var description = "" 432 | 433 | IPAddress := net.ParseIP(lookup) 434 | if IPAddress == nil { 435 | return false, "[ERR] Invalid IP address format" 436 | } 437 | 438 | for _, prefix := range s.DOPrefixes { 439 | if prefix.Prefix != "" { 440 | _, ipv4Net, _ := net.ParseCIDR(prefix.Prefix) 441 | if ipv4Net.Contains(IPAddress) { 442 | description := fmt.Sprintf("Provider:DigitalOcean;Prefix:%s;Country:%s;State:%s;City:%s;ASN:%s", 443 | prefix.Prefix, prefix.Country, prefix.State, prefix.City, prefix.ASN) 444 | // fmt.Println(" [+] Found DigitalOcean prefix:", prefix.Prefix) 445 | return true, description 446 | } 447 | } 448 | } 449 | return false, description 450 | } 451 | 452 | func (s *CFPrefixes) cf_lookup(lookup string) (bool, string) { 453 | 454 | var description = "" 455 | 456 | IPAddress := net.ParseIP(lookup) 457 | if IPAddress == nil { 458 | return false, "[ERR] Invalid IP address format" 459 | } 460 | 461 | for i := 0; i < len(s.CFPrefixes); i++ { 462 | 463 | if s.CFPrefixes[i].Prefix != "" { 464 | _, ipv4Net, _ := net.ParseCIDR(s.CFPrefixes[i].Prefix) 465 | mybool := ipv4Net.Contains(IPAddress) 466 | if mybool == true { 467 | description := fmt.Sprintf("Provider:Cloudflare;Prefix:%s", s.CFPrefixes[i].Prefix) 468 | if isFlagPassed("verbose") { 469 | fmt.Println(" [+] Found Cloudflare prefix:", s.CFPrefixes[i].Prefix) 470 | } 471 | return true, description 472 | } 473 | } 474 | } 475 | return false, description 476 | } 477 | 478 | func (s *Prefixes) aws_lookup(lookup string) (bool, string) { 479 | 480 | /* In aws prefixes, an IP address can match more than one prefix 481 | find all matches prefixes and return the longest prefix match 482 | this will show the more detailed service instead of a supernet netblock 483 | */ 484 | 485 | var description = "" 486 | 487 | // structure for holding longest prefix match 488 | type Blob struct { 489 | prefix string 490 | region string 491 | service string 492 | } 493 | 494 | // there should not be more than 2 or 3 prefix matches, but specifying 10 just to be safe 495 | mprefixes := make([]Blob, 10) 496 | mindex := 0 497 | atleastonematch := false 498 | for i := 0; i < len(s.Prefixes); i++ { 499 | IPAddress := net.ParseIP(lookup) 500 | _, ipv4Net, _ := net.ParseCIDR(s.Prefixes[i].Ip_prefix) 501 | mybool := ipv4Net.Contains(IPAddress) 502 | if mybool == true { 503 | tmpStruct := Blob{ 504 | prefix: s.Prefixes[i].Ip_prefix, 505 | region: s.Prefixes[i].Region, 506 | service: s.Prefixes[i].Service, 507 | } 508 | 509 | // Skip if the service name is 'AMAZON' as this doesn't tell us anything new 510 | if s.Prefixes[i].Service != "AMAZON" { 511 | mprefixes[mindex] = tmpStruct 512 | } 513 | 514 | mindex++ 515 | atleastonematch = true 516 | } 517 | } 518 | // Store the longest prefix match into variable 519 | longestprefix := "" 520 | longestregion := "" 521 | longestservice := "" 522 | 523 | if atleastonematch == true { 524 | 525 | // iterate through all of the prefix matches and find longest one 526 | for _, mprefixes := range mprefixes { 527 | if mprefixes.prefix == "" { 528 | 529 | } else { 530 | // if first element in slice, add it 531 | if longestprefix == "" { 532 | longestprefix = mprefixes.prefix 533 | longestregion = mprefixes.region 534 | longestservice = mprefixes.service 535 | } else { 536 | // get the prefix from prefixes 537 | // split the string based on / 538 | elements1 := strings.Split(mprefixes.prefix, "/") 539 | prefix1 := elements1[1] 540 | intprefix1, _ := strconv.Atoi(prefix1) 541 | 542 | // extract prefix from longestprefix variable 543 | elements2 := strings.Split(longestprefix, "/") 544 | prefix2 := elements2[1] 545 | intprefix2, _ := strconv.Atoi(prefix2) 546 | 547 | if intprefix1 > intprefix2 { 548 | longestprefix = mprefixes.prefix 549 | longestregion = mprefixes.region 550 | longestservice = mprefixes.service 551 | 552 | } 553 | } 554 | } 555 | } 556 | 557 | description := fmt.Sprintf("Provider:AWS;Prefix:%s;Region:%s;Service:%s", longestprefix, longestregion, longestservice) 558 | return true, description 559 | } 560 | return false, description 561 | } 562 | 563 | func (s *Values) azure_lookup(lookup string) (bool, string) { 564 | IPAddress := net.ParseIP(lookup) 565 | 566 | var description = "" 567 | 568 | for z := 0; z < len(s.Values); z++ { 569 | for i := 0; i < len(s.Values[z].Properties.Addressprefixes); i++ { 570 | 571 | _, ipv4Net, _ := net.ParseCIDR(s.Values[z].Properties.Addressprefixes[i]) 572 | mybool := ipv4Net.Contains(IPAddress) 573 | if mybool == true { 574 | 575 | description := fmt.Sprintf("Provider:Azure;Prefix:%s;Name:%s;ID:%s;Platform:%s;SystemService:%s", s.Values[z].Properties.Addressprefixes[i], s.Values[z].Name, s.Values[z].Id, s.Values[z].Properties.Platform, s.Values[z].Properties.Systemservice) 576 | if isFlagPassed("verbose") { 577 | fmt.Println("[VERBOSE] Found Azure prefix:", s.Values[z].Properties.Addressprefixes[i]) 578 | fmt.Println("[VERBOSE] Name:", s.Values[z].Name) 579 | fmt.Println("[VERBOSE] ID:", s.Values[z].Id) 580 | fmt.Println("[VERBOSE] Platform:", s.Values[z].Properties.Platform) 581 | fmt.Println("[VERBOSE] SystemService:", s.Values[z].Properties.Systemservice) 582 | } 583 | return true, description 584 | } 585 | 586 | } 587 | } 588 | 589 | return false, description 590 | 591 | } 592 | 593 | func getAzureJSONURL(baseURL string) (string, error) { 594 | resp, err := http.Get(baseURL) 595 | if err != nil { 596 | return "", err 597 | } 598 | defer resp.Body.Close() 599 | 600 | tokenizer := html.NewTokenizer(resp.Body) 601 | for { 602 | tokenType := tokenizer.Next() 603 | switch tokenType { 604 | case html.ErrorToken: 605 | err := tokenizer.Err() 606 | if err == io.EOF { 607 | return "", fmt.Errorf("[ERR] Azure JSON URL not found") 608 | } 609 | return "", err 610 | case html.StartTagToken, html.SelfClosingTagToken: 611 | token := tokenizer.Token() 612 | if token.Data == "a" { 613 | for _, attr := range token.Attr { 614 | if attr.Key == "href" && strings.Contains(attr.Val, "Public") { 615 | return attr.Val, nil 616 | } 617 | } 618 | } 619 | } 620 | } 621 | } 622 | 623 | func checkCSPFiles() { 624 | 625 | // Parse and retrieve the dynamically changing json endpoint for Azure 626 | azureURL, err := getAzureJSONURL(azureurl) 627 | if err != nil { 628 | panic(err) 629 | } 630 | 631 | files := map[string]string{ 632 | azurejson: azureURL, 633 | googlejson: googleurl, 634 | awsjson: awsurl, 635 | cfipv4txt: cfipv4url, 636 | cfipv6txt: cfipv6url, 637 | docsv: dourl, 638 | } 639 | 640 | for filename, url := range files { 641 | _, err := os.Stat(filename) 642 | if os.IsNotExist(err) { 643 | err := DownloadFile(filename, url) 644 | if err != nil { 645 | panic(err) 646 | } 647 | } 648 | } 649 | } 650 | 651 | func loadDOPrefixes(filePath string) (DOPrefixes, error) { 652 | file, err := os.Open(filePath) 653 | if err != nil { 654 | return DOPrefixes{}, err 655 | } 656 | defer file.Close() 657 | 658 | reader := csv.NewReader(file) 659 | 660 | var doPrefixes DOPrefixes 661 | for { 662 | record, err := reader.Read() 663 | if err == io.EOF { 664 | break 665 | } 666 | if err != nil { 667 | return DOPrefixes{}, err 668 | } 669 | 670 | if len(record) < 5 { 671 | fmt.Println("Invalid record:", record) 672 | continue 673 | } 674 | 675 | doPrefix := DOPrefix{ 676 | Prefix: record[0], 677 | Country: record[1], 678 | State: record[2], 679 | City: record[3], 680 | ASN: record[4], 681 | } 682 | doPrefixes.DOPrefixes = append(doPrefixes.DOPrefixes, doPrefix) 683 | } 684 | 685 | return doPrefixes, nil 686 | } 687 | 688 | func loadCFPrefixes(filePath string) (CFPrefixes, error) { 689 | file, err := os.Open(filePath) 690 | if err != nil { 691 | return CFPrefixes{}, err 692 | } 693 | defer file.Close() 694 | 695 | var cfIPv4Prefixes CFPrefixes 696 | scanner := bufio.NewScanner(file) 697 | for scanner.Scan() { 698 | ipv4Prefix := scanner.Text() 699 | cfIPv4Prefix := CFPrefix{Prefix: ipv4Prefix} 700 | cfIPv4Prefixes.CFPrefixes = append(cfIPv4Prefixes.CFPrefixes, cfIPv4Prefix) 701 | } 702 | 703 | if err := scanner.Err(); err != nil { 704 | return CFPrefixes{}, err 705 | } 706 | 707 | return cfIPv4Prefixes, nil 708 | } 709 | 710 | // Nmap structures 711 | type Nmaprun struct { 712 | XMLName xml.Name `xml:"nmaprun"` 713 | Hosts []Hosts `xml:"host"` 714 | } 715 | 716 | type Hosts struct { 717 | XMLName xml.Name `xml:"host"` 718 | Status Status `xml:"status"` 719 | Address Address `xml:"address"` 720 | } 721 | 722 | type Status struct { 723 | XMLName xml.Name `xml:"status"` 724 | State string `xml:"state,attr"` 725 | } 726 | 727 | type Address struct { 728 | XMLName xml.Name `xml:"address"` 729 | Addr string `xml:"addr,attr"` 730 | } 731 | 732 | // End of Nmap structures 733 | 734 | // Start of Cloudflare Structures 735 | type CFPrefixes struct { 736 | CFPrefixes []CFPrefix 737 | } 738 | 739 | type CFPrefix struct { 740 | Prefix string 741 | } 742 | 743 | // End of Cloudflare Structures 744 | 745 | // Digital Ocean strusture 746 | type DOPrefixes struct { 747 | DOPrefixes []DOPrefix 748 | } 749 | 750 | type DOPrefix struct { 751 | Prefix string 752 | Country string 753 | State string 754 | City string 755 | ASN string 756 | } 757 | 758 | // Start of AWS Structures 759 | type Prefixes struct { 760 | Prefixes []Prefix `json:"prefixes"` 761 | } 762 | 763 | type Prefixesv6 struct { 764 | Prefixesv6 []Prefixv6 `json:"ipv6_prefixes"` 765 | } 766 | 767 | type Prefix struct { 768 | Ip_prefix string `json:"ip_prefix"` 769 | Region string `json:"region"` 770 | Service string `json:"service"` 771 | NBG string `json:"network_border_group"` 772 | } 773 | 774 | type Prefixv6 struct { 775 | Ipv6_prefix string `json:"ipv6_prefix"` 776 | Region string `json:"region"` 777 | Service string `json:"service"` 778 | NBG string `json:"network_border_group"` 779 | } 780 | 781 | // End of AWS Structures 782 | 783 | // Start of Azure Structures 784 | type Values struct { 785 | Values []Value `json:"values"` 786 | } 787 | 788 | type Value struct { 789 | Name string `json:"name"` 790 | Id string `json:"id"` 791 | Properties Properties `json:"properties"` 792 | } 793 | 794 | type Properties struct { 795 | Changenumber string `json:"changeNumber"` 796 | Region string `json:"region"` 797 | Regionid string `json:"regionId"` 798 | Platform string `json:"platform"` 799 | Systemservice string `json:"systemService"` 800 | Addressprefixes []string `json:"addressPrefixes"` 801 | Networkfeatures []string `json:"networkFeatures"` 802 | } 803 | 804 | // End of Azure Structures 805 | 806 | // Start of Gcloud Structures 807 | type GPrefixes struct { 808 | GPrefixes []GPrefix `json:"prefixes"` 809 | } 810 | 811 | type GPrefix struct { 812 | Ipv4prefix string `json:"ipv4Prefix"` 813 | Ipv6prefix string `json:"ipv6Prefix"` 814 | Scope string `json:"scope"` 815 | } 816 | 817 | // End of Gcloud Structures 818 | 819 | func main() { 820 | 821 | start := time.Now() 822 | 823 | flag.BoolVar(&ptrFlag, "ptr", false, "PTR lookup mode") 824 | flag.BoolVar(&prefixFlag, "prefix", false, "IP Prefix CSP lookup mode") 825 | flag.BoolVar(&crtFlag, "crt", false, "Certificate transparency lookup mode") 826 | flag.BoolVar(&dnsFlag, "dns", false, "A and CNAME record lookup mode") 827 | flag.BoolVar(&verboseFlag, "verbose", false, "Enable verbose output") 828 | flag.BoolVar(&outputFlag, "output", false, "Enable output to CSV") 829 | flag.BoolVar(&silentFlag, "silent", false, "Enable silent mode to suppress [INF]") 830 | 831 | flag.Parse() 832 | 833 | // Start 834 | if silentFlag == false { 835 | version_line := fmt.Sprintf("[INF] Starting Cloud Edge version %s", edge_version) 836 | fmt.Println(version_line) 837 | } 838 | 839 | // Check all the CSP files (json, csv, txt) 840 | checkCSPFiles() 841 | 842 | if *flDomain == "" && *flIp == "" && *flNmap == "" && *flSingle == "" { 843 | fmt.Println("[WRN] -domain or -ip or -nmap or -single mode is required") 844 | fmt.Println("[WRN] Example 1: -domain acme.com") 845 | fmt.Println("[WRN] Example 2: -ip hosts.txt -ptr") 846 | fmt.Println("[WRN] Example 3: -ip hosts.txt -prefix") 847 | fmt.Println("[WRN] Example 4: -single ") 848 | os.Exit(1) 849 | } 850 | 851 | if *flDomain != "" { 852 | if !isFlagPassed("crt") && !isFlagPassed("dns") { 853 | fmt.Println("[WRN] Either -crt or -dns mode must be specified with -domain ") 854 | fmt.Println("[WRN] Example 1: -domain acme.com -dns") 855 | fmt.Println("[WRN] Example 2: -domain acme.com -crt") 856 | os.Exit(1) 857 | } 858 | } 859 | 860 | if *flIp != "" && *flNmap != "" { 861 | fmt.Println("[WRN] Please select either -ip or -nmap when using reverse lookup mode") 862 | fmt.Println("[WRN] Example 1: -domain acme.com -dns") 863 | os.Exit(1) 864 | } 865 | 866 | // Check if ip address list is specified 867 | if *flIp == "" { 868 | } else { 869 | if isFlagPassed("crt") { 870 | fmt.Println("[WRN] The IP address mode (-ip) can't be enabled with -crt mode") 871 | os.Exit(1) 872 | } else if isFlagPassed("dns") { 873 | fmt.Println("[WRN] The IP address mode (-ip) can't be enabled with -dns mode") 874 | os.Exit(1) 875 | } 876 | 877 | if isFlagPassed("ptr") || isFlagPassed("prefix") { 878 | } else { 879 | fmt.Println("[WRN] Please select either -ptr or -prefix when specifying an IP address list (-ip)") 880 | os.Exit(1) 881 | } 882 | } 883 | 884 | // For now only allow -prefix or -ptr: Not both 885 | if isFlagPassed("ptr") && isFlagPassed("prefix") { 886 | fmt.Println("[WRN] Please specify either PTR mode (-ptr) or Prefix mode (-prefix)") 887 | fmt.Println("[WRN] Both flags are set and this is not allowed") 888 | os.Exit(1) 889 | } 890 | 891 | if isFlagPassed("output") { 892 | if *flCsv == "" { 893 | fmt.Println("[WRN] Please specify an output csv file name with -csv ") 894 | os.Exit(1) 895 | } else { 896 | //Create CSV 897 | 898 | var err error 899 | csvfile, err = os.Create(*flCsv) 900 | defer csvfile.Close() 901 | 902 | if err != nil { 903 | log.Fatalln("failed to open file", err) 904 | } 905 | 906 | } 907 | } 908 | 909 | // Check basic correctness if dns mode is passed 910 | if isFlagPassed("dns") { 911 | if *flWordlist == "" { 912 | if !isFlagPassed("crt") { 913 | fmt.Println("[WRN] -dns mode requires a wordlist or -crt mode") 914 | os.Exit(1) 915 | } 916 | } else { 917 | //Check if file exists 918 | if _, err := os.Stat(*flWordlist); err == nil { 919 | } else { 920 | fmt.Println("[WRN] Error: file specified with -wordlist does not exist: ", *flWordlist) 921 | os.Exit(1) 922 | } 923 | } 924 | if isFlagPassed("ptr") { 925 | fmt.Println("[WRN] Please specify either -dns or -ptr mode - not both") 926 | os.Exit(1) 927 | } 928 | } 929 | 930 | // Load cloudflare ipv4 txt data 931 | var err error 932 | cfprefixes, err = loadCFPrefixes(cfipv4txt) 933 | if err != nil { 934 | fmt.Println("[ERR] Error reading Cloudflare ipv4 text file:", err) 935 | } 936 | 937 | doprefixes, err = loadDOPrefixes(docsv) 938 | if err != nil { 939 | fmt.Println("[ERR] Error reading Digitalocean csv file:", err) 940 | } 941 | 942 | // Load aws.json data 943 | jsonFile, err := os.Open(awsjson) 944 | if err != nil { 945 | fmt.Println(err) 946 | } 947 | 948 | if isFlagPassed("verbose") { 949 | fmt.Println("[VERBOSE] Opened AWS aws.json") 950 | } 951 | 952 | defer jsonFile.Close() 953 | 954 | byteValue, _ := ioutil.ReadAll(jsonFile) 955 | 956 | json.Unmarshal(byteValue, &prefixes) 957 | json.Unmarshal(byteValue, &prefixesv6) 958 | 959 | // Iterate through all of the IPv4 prefixes for AWS 960 | var aws1 int = 0 961 | for i := 0; i < len(prefixes.Prefixes); i++ { 962 | if isFlagPassed("verbose") { 963 | } 964 | aws1++ 965 | } 966 | 967 | if isFlagPassed("verbose") { 968 | fmt.Println("[VERBOSE] Parsed AWS IPv4 prefixes: ", aws1) 969 | } 970 | 971 | // Iterate through all the IPv6 prefixes 972 | var aws2 int = 0 973 | for i := 0; i < len(prefixesv6.Prefixesv6); i++ { 974 | if isFlagPassed("verbose") { 975 | } 976 | aws2++ 977 | } 978 | if isFlagPassed("verbose") { 979 | fmt.Println("[VERBOSE] Parsed AWS IPv6 prefixes: ", aws2) 980 | } 981 | //Finished parsing aws 982 | 983 | // Loading Azure 984 | jsonFileAzure, err := os.Open(azurejson) 985 | if err != nil { 986 | fmt.Println(err) 987 | } 988 | 989 | if isFlagPassed("verbose") { 990 | fmt.Println("[VERBOSE] Opened Azure azure.json") 991 | } 992 | defer jsonFileAzure.Close() 993 | 994 | byteValueA, _ := ioutil.ReadAll(jsonFileAzure) 995 | 996 | json.Unmarshal(byteValueA, &values) 997 | 998 | // Iterate through all of the Azure IPv4 prefixes 999 | var azure1 int = 0 1000 | for i := 0; i < len(values.Values); i++ { 1001 | if isFlagPassed("verbose") { 1002 | } 1003 | for i := 0; i < len(values.Values[i].Properties.Addressprefixes); i++ { 1004 | azure1++ 1005 | } 1006 | } 1007 | if isFlagPassed("verbose") { 1008 | fmt.Println("[VERBOSE] Parsed Azure prefixes: ", azure1) 1009 | } 1010 | // End of Azure parsing section 1011 | 1012 | defer jsonFileAzure.Close() 1013 | 1014 | if isFlagPassed("verbose") { 1015 | fmt.Println("[VERBOSE] Opened cloud.json") 1016 | } 1017 | byteValueG, err := ioutil.ReadFile(googlejson) 1018 | if err != nil { 1019 | fmt.Print(err) 1020 | } 1021 | 1022 | json.Unmarshal(byteValueG, &gprefixes) 1023 | 1024 | // Iterate through all of the IPv4 prefixes 1025 | var gcount1 int = 0 1026 | for i := 0; i < len(gprefixes.GPrefixes); i++ { 1027 | if len(gprefixes.GPrefixes[i].Ipv4prefix) > 0 { 1028 | //fmt.Println("IPv4 Prefix: " + gprefixes.GPrefixes[i].Ipv4prefix) 1029 | } else if len(gprefixes.GPrefixes[i].Ipv6prefix) > 0 { 1030 | //fmt.Println("IPv6 Prefix: " + gprefixes.GPrefixes[i].Ipv6prefix) 1031 | } else { 1032 | 1033 | } 1034 | gcount1++ 1035 | } 1036 | if isFlagPassed("verbose") { 1037 | fmt.Println("[VERBOSE] Parsed GCloud prefixes: ", gcount1) 1038 | } 1039 | // end of Gcloud 1040 | 1041 | // run single IP prefix lookup 1042 | if *flSingle != "" { 1043 | if silentFlag == false { 1044 | fmt.Println("[INF] Single IP prefix lookup of", *flSingle) 1045 | } 1046 | ip_addr := *flSingle 1047 | var pdesc = "" 1048 | if retval1, desc := prefixes.aws_lookup(ip_addr); retval1 { 1049 | pdesc = desc 1050 | } else if retval2, desc2 := values.azure_lookup(ip_addr); retval2 { 1051 | pdesc = desc2 1052 | } else if retval3, desc3 := gprefixes.gcloud_lookup(ip_addr); retval3 { 1053 | pdesc = desc3 1054 | } else if retval4, desc4 := cfprefixes.cf_lookup(ip_addr); retval4 { 1055 | pdesc = desc4 1056 | } else if retval5, desc5 := doprefixes.do_lookup(ip_addr); retval5 { 1057 | pdesc = desc5 1058 | } else { 1059 | pdesc = "" 1060 | } 1061 | 1062 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1063 | 1064 | // Print summary [INF] 1065 | if silentFlag == false { 1066 | if pdesc == "" { 1067 | //empty string, didn't match to a cloud provider 1068 | } else { 1069 | 1070 | desc_elements := strings.Split(pdesc, ";") 1071 | provider := desc_elements[0] 1072 | provider_elements := strings.Split(provider, ":") 1073 | csp := provider_elements[1] 1074 | prefix := desc_elements[1] 1075 | prefix_elements := strings.Split(prefix, ":") 1076 | csp_prefix := prefix_elements[1] 1077 | 1078 | s := fmt.Sprintf("[INF] Matched IP [%s] to Cloud Provider via prefix [%s:%s]", ip_addr, csp, csp_prefix) 1079 | fmt.Println(s) 1080 | 1081 | // Extract the service if AWS or Azure, extract the region if GCP 1082 | if csp == "AWS" || csp == "Azure" || csp == "GCP" { 1083 | service_string := "" 1084 | region_string := "" 1085 | csp_region := "" 1086 | s := "" 1087 | if csp == "AWS" { 1088 | service_string = desc_elements[3] 1089 | region_string = desc_elements[2] 1090 | regions := strings.Split(region_string, ":") 1091 | csp_region = regions[1] 1092 | services := strings.Split(service_string, ":") 1093 | csp_svc := services[1] 1094 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s] and Region [%s]", ip_addr, csp_svc, csp_region) 1095 | } else if csp == "Azure" { 1096 | //Parse azure description for SystemService 1097 | service_string = desc_elements[5] 1098 | services := strings.Split(service_string, ":") 1099 | csp_svc := services[1] 1100 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s]", ip_addr, csp_svc) 1101 | } else if csp == "GCP" { 1102 | region_string = desc_elements[2] 1103 | regions := strings.Split(region_string, ":") 1104 | csp_region = regions[1] 1105 | s = fmt.Sprintf("[INF] Matched IP [%s] to Region [%s]", ip_addr, csp_region) 1106 | } 1107 | fmt.Println(s) 1108 | } 1109 | } 1110 | 1111 | } 1112 | // Print details 1113 | fmt.Fprintf(w, "%s,%s\n", ip_addr, pdesc) 1114 | w.Flush() 1115 | 1116 | os.Exit(1) 1117 | } 1118 | 1119 | var results []result 1120 | 1121 | if isFlagPassed("dns") { 1122 | if silentFlag == false { 1123 | fmt.Println("[INF] Running in DNS mode with workers:", *flWorkerCount) 1124 | } 1125 | 1126 | if *flWordlist == "" { 1127 | //This means crt mode must have been specified 1128 | 1129 | } else { 1130 | 1131 | if silentFlag == false { 1132 | fmt.Println("[INF] Running in DNS mode with wordlist:", *flWordlist) 1133 | } 1134 | 1135 | fqdns := make(chan string, *flWorkerCount) 1136 | gather := make(chan []result) 1137 | tracker := make(chan empty) 1138 | 1139 | f, err := os.Open(*flWordlist) 1140 | if err != nil { 1141 | panic(err) 1142 | } 1143 | defer f.Close() 1144 | scanner := bufio.NewScanner(f) 1145 | 1146 | for i := 0; i < *flWorkerCount; i++ { 1147 | go worker(tracker, fqdns, gather, *flServerAddr) 1148 | } 1149 | 1150 | go func() { 1151 | for r := range gather { 1152 | results = append(results, r...) 1153 | } 1154 | var e empty 1155 | tracker <- e 1156 | }() 1157 | 1158 | for scanner.Scan() { 1159 | fqdns <- fmt.Sprintf("%s.%s", scanner.Text(), *flDomain) 1160 | } 1161 | 1162 | if err := scanner.Err(); err != nil { 1163 | log.Fatal(err) 1164 | } 1165 | 1166 | close(fqdns) 1167 | for i := 0; i < *flWorkerCount; i++ { 1168 | <-tracker 1169 | } 1170 | close(gather) 1171 | <-tracker 1172 | } 1173 | } 1174 | 1175 | if isFlagPassed("crt") { 1176 | if silentFlag == false { 1177 | fmt.Println("[INF] Running certificate transparency lookup crt.sh") 1178 | } 1179 | // Cert Transparency lookup 1180 | crt_results := crt_transparency(*flDomain, *flServerAddr) 1181 | results = append(results, crt_results...) 1182 | } 1183 | 1184 | if isFlagPassed("prefix") && !isFlagPassed("dns") { 1185 | 1186 | // If true, process the IP address host list with -ip option 1187 | if *flIp != "" { 1188 | 1189 | // Open up the IP address text file 1190 | f, err := os.Open(*flIp) 1191 | 1192 | if err != nil { 1193 | log.Fatal(err) 1194 | } 1195 | 1196 | defer f.Close() 1197 | 1198 | scanner := bufio.NewScanner(f) 1199 | 1200 | // Write the csv file 1201 | x := csv.NewWriter(csvfile) 1202 | defer x.Flush() 1203 | 1204 | for scanner.Scan() { 1205 | 1206 | ip_addr := scanner.Text() 1207 | 1208 | var pdesc = "" 1209 | 1210 | if isFlagPassed("verbose") { 1211 | fmt.Println("[VERBOSE] Looking up", ip_addr) 1212 | } 1213 | 1214 | if retval1, desc := prefixes.aws_lookup(ip_addr); retval1 { 1215 | pdesc = desc 1216 | } else if retval2, desc2 := values.azure_lookup(ip_addr); retval2 { 1217 | pdesc = desc2 1218 | } else if retval3, desc3 := gprefixes.gcloud_lookup(ip_addr); retval3 { 1219 | pdesc = desc3 1220 | } else if retval4, desc4 := cfprefixes.cf_lookup(ip_addr); retval4 { 1221 | pdesc = desc4 1222 | } else if retval5, desc5 := doprefixes.do_lookup(ip_addr); retval5 { 1223 | pdesc = desc5 1224 | } else { 1225 | pdesc = "" 1226 | } 1227 | 1228 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1229 | 1230 | // Print summary [INF] 1231 | if silentFlag == false { 1232 | if pdesc == "" { 1233 | //empty string, didn't match to a cloud provider 1234 | } else { 1235 | 1236 | desc_elements := strings.Split(pdesc, ";") 1237 | provider := desc_elements[0] 1238 | provider_elements := strings.Split(provider, ":") 1239 | csp := provider_elements[1] 1240 | prefix := desc_elements[1] 1241 | prefix_elements := strings.Split(prefix, ":") 1242 | csp_prefix := prefix_elements[1] 1243 | 1244 | s := fmt.Sprintf("[INF] Matched IP [%s] to Cloud Provider via prefix [%s:%s]", ip_addr, csp, csp_prefix) 1245 | fmt.Println(s) 1246 | 1247 | // Extract the service if AWS or Azure, extract the region if GCP 1248 | if csp == "AWS" || csp == "Azure" || csp == "GCP" { 1249 | service_string := "" 1250 | region_string := "" 1251 | csp_region := "" 1252 | s := "" 1253 | if csp == "AWS" { 1254 | service_string = desc_elements[3] 1255 | region_string = desc_elements[2] 1256 | regions := strings.Split(region_string, ":") 1257 | csp_region = regions[1] 1258 | services := strings.Split(service_string, ":") 1259 | csp_svc := services[1] 1260 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s] and Region [%s]", ip_addr, csp_svc, csp_region) 1261 | } else if csp == "Azure" { 1262 | //Parse azure description for SystemService 1263 | service_string = desc_elements[5] 1264 | services := strings.Split(service_string, ":") 1265 | csp_svc := services[1] 1266 | s = fmt.Sprintf("[INF] Matched IP [%s] to Cloud Service [%s]", ip_addr, csp_svc) 1267 | } else if csp == "GCP" { 1268 | region_string = desc_elements[2] 1269 | regions := strings.Split(region_string, ":") 1270 | csp_region = regions[1] 1271 | s = fmt.Sprintf("[INF] Matched IP [%s] to Region [%s]", ip_addr, csp_region) 1272 | } 1273 | fmt.Println(s) 1274 | } 1275 | } 1276 | } 1277 | // Print details 1278 | fmt.Fprintf(w, "%s,%s\n", ip_addr, pdesc) 1279 | w.Flush() 1280 | 1281 | if isFlagPassed("output") { 1282 | record := []string{ip_addr, pdesc} 1283 | if err := x.Write(record); err != nil { 1284 | log.Fatalln("Error writing record to file:", err) 1285 | } 1286 | } 1287 | 1288 | } 1289 | } else if *flNmap != "" { 1290 | xmlFile, err := os.Open(*flNmap) 1291 | if err != nil { 1292 | fmt.Println(err) 1293 | } else { 1294 | if silentFlag == false { 1295 | fmt.Println("[INF] Opened nmap file for analysis:", *flNmap) 1296 | } 1297 | } 1298 | 1299 | defer xmlFile.Close() 1300 | 1301 | byteValue, _ := ioutil.ReadAll(xmlFile) 1302 | 1303 | //var nmaprun Nmaprun 1304 | nmaprun := Nmaprun{} 1305 | 1306 | xml.Unmarshal(byteValue, &nmaprun) 1307 | 1308 | // Write the csv file 1309 | x := csv.NewWriter(csvfile) 1310 | defer x.Flush() 1311 | 1312 | for i := 0; i < len(nmaprun.Hosts); i++ { 1313 | if nmaprun.Hosts[i].Status.State == "up" { 1314 | // Only run lookup on hosts that are up 1315 | 1316 | var pdesc = "" 1317 | 1318 | //fmt.Println("Host Address: " + nmaprun.Hosts[i].Address.Addr) 1319 | ip_addr := nmaprun.Hosts[i].Address.Addr 1320 | 1321 | if isFlagPassed("verbose") { 1322 | fmt.Println("[+] Looking up", ip_addr) 1323 | } 1324 | 1325 | if retval1, desc := prefixes.aws_lookup(ip_addr); retval1 { 1326 | pdesc = desc 1327 | } else if retval2, desc2 := values.azure_lookup(ip_addr); retval2 { 1328 | pdesc = desc2 1329 | } else if retval3, desc3 := gprefixes.gcloud_lookup(ip_addr); retval3 { 1330 | pdesc = desc3 1331 | } else if retval4, desc4 := cfprefixes.cf_lookup(ip_addr); retval4 { 1332 | pdesc = desc4 1333 | } else if retval5, desc5 := doprefixes.do_lookup(ip_addr); retval5 { 1334 | pdesc = desc5 1335 | } else { 1336 | pdesc = "" 1337 | } 1338 | 1339 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1340 | fmt.Fprintf(w, "%s,%s\n", ip_addr, pdesc) 1341 | w.Flush() 1342 | 1343 | if isFlagPassed("output") { 1344 | record := []string{ip_addr, pdesc} 1345 | if err := x.Write(record); err != nil { 1346 | log.Fatalln("Error writing record to file:", err) 1347 | } 1348 | } 1349 | 1350 | } else if nmaprun.Hosts[i].Status.State == "down" { 1351 | } else { 1352 | } 1353 | } 1354 | } 1355 | } 1356 | 1357 | if isFlagPassed("ptr") { 1358 | 1359 | // If true, process the IP address host list with -ip option 1360 | if *flIp != "" { 1361 | 1362 | // Open up the IP address text file 1363 | f, err := os.Open(*flIp) 1364 | 1365 | // report error 1366 | if err != nil { 1367 | //log.Fatal(err) 1368 | } 1369 | 1370 | // defer close 1371 | defer f.Close() 1372 | 1373 | scanner := bufio.NewScanner(f) 1374 | 1375 | // Write the csv file 1376 | x := csv.NewWriter(csvfile) 1377 | defer x.Flush() 1378 | 1379 | for scanner.Scan() { 1380 | 1381 | ip_addr := scanner.Text() 1382 | 1383 | if isFlagPassed("verbose") { 1384 | fmt.Println("[+] Looking up", ip_addr) 1385 | } 1386 | 1387 | ptr := reverse(ip_addr) 1388 | if len(ptr) > 0 { 1389 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1390 | fmt.Fprintf(w, "%s,%s\n", ip_addr, ptr) 1391 | w.Flush() 1392 | 1393 | if isFlagPassed("output") { 1394 | record := []string{ip_addr, ptr} 1395 | if err := x.Write(record); err != nil { 1396 | log.Fatalln("Error writing record to file:", err) 1397 | } 1398 | } 1399 | } 1400 | 1401 | } 1402 | } else if *flNmap != "" { 1403 | 1404 | xmlFile, err := os.Open(*flNmap) 1405 | if err != nil { 1406 | fmt.Println(err) 1407 | } else { 1408 | if silentFlag == false { 1409 | fmt.Println("[INF] Opened nmap file for analysis:", *flNmap) 1410 | } 1411 | } 1412 | 1413 | defer xmlFile.Close() 1414 | 1415 | byteValue, _ := ioutil.ReadAll(xmlFile) 1416 | 1417 | //var nmaprun Nmaprun 1418 | nmaprun := Nmaprun{} 1419 | 1420 | xml.Unmarshal(byteValue, &nmaprun) 1421 | 1422 | // Write the csv file 1423 | x := csv.NewWriter(csvfile) 1424 | defer x.Flush() 1425 | 1426 | for i := 0; i < len(nmaprun.Hosts); i++ { 1427 | if nmaprun.Hosts[i].Status.State == "up" { 1428 | // Only run lookup on hosts that are up 1429 | 1430 | ip_addr := nmaprun.Hosts[i].Address.Addr 1431 | 1432 | if isFlagPassed("verbose") { 1433 | fmt.Println("[+] Looking up", ip_addr) 1434 | } 1435 | 1436 | ptr := reverse(ip_addr) 1437 | if len(ptr) > 0 { 1438 | 1439 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1440 | fmt.Fprintf(w, "%s,%s\n", ip_addr, ptr) 1441 | w.Flush() 1442 | 1443 | if isFlagPassed("output") { 1444 | record := []string{ip_addr, ptr} 1445 | if err := x.Write(record); err != nil { 1446 | log.Fatalln("Error writing record to file:", err) 1447 | } 1448 | } 1449 | } 1450 | 1451 | } else if nmaprun.Hosts[i].Status.State == "down" { 1452 | } else { 1453 | } 1454 | } 1455 | 1456 | } 1457 | } 1458 | 1459 | w := tabwriter.NewWriter(os.Stdout, 0, 8, 4, ' ', 0) 1460 | for _, r := range results { 1461 | // print summary [INF] 1462 | if silentFlag == false { 1463 | if r.Source == "Certificate" { 1464 | s := fmt.Sprintf("[INF] Found host via crt.sh [%s]", r.Hostname) 1465 | fmt.Println(s) 1466 | } 1467 | } 1468 | 1469 | // print details 1470 | fmt.Fprintf(w, "%s,%s,%s,%s,%s\n", r.Hostname, r.IPAddress, r.Source, r.CNAME_Response, r.Description) 1471 | 1472 | records_found++ 1473 | } 1474 | w.Flush() 1475 | 1476 | // Write the csv file 1477 | x := csv.NewWriter(csvfile) 1478 | defer x.Flush() 1479 | 1480 | if isFlagPassed("output") { 1481 | for _, r := range results { 1482 | record := []string{r.Hostname, r.IPAddress, r.Source, r.CNAME_Response, r.Description} 1483 | if err := x.Write(record); err != nil { 1484 | log.Fatalln("Error writing record to file:", err) 1485 | } 1486 | } 1487 | } 1488 | 1489 | if silentFlag == false { 1490 | 1491 | if dnsFlag == true { 1492 | fmt.Println("[INF] Timeout errors: ", error_timeout) 1493 | } 1494 | 1495 | } 1496 | duration := time.Since(start) 1497 | 1498 | if silentFlag == false { 1499 | 1500 | if dnsFlag == true && crtFlag == true { 1501 | fmt.Println("[INF] Duration:", duration) 1502 | } 1503 | 1504 | if dnsFlag == true { 1505 | fmt.Println("[INF] DNS Lookups:", dns_lookups) 1506 | } 1507 | if crtFlag == true { 1508 | fmt.Println("[INF] Certificate Records found:", records_found) 1509 | } 1510 | } 1511 | } 1512 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module edge-release 2 | 3 | go 1.18 4 | 5 | require ( 6 | github.com/miekg/dns v1.1.48 7 | golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 8 | ) 9 | 10 | require ( 11 | golang.org/x/mod v0.4.2 // indirect 12 | golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect 13 | golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 // indirect 14 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect 15 | ) 16 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/miekg/dns v1.1.48 h1:Ucfr7IIVyMBz4lRE8qmGUuZ4Wt3/ZGu9hmcMT3Uu4tQ= 2 | github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= 3 | github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= 4 | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 5 | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 6 | golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= 7 | golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 8 | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= 9 | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 10 | golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= 11 | golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 12 | golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= 13 | golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= 14 | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 15 | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= 16 | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 17 | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 18 | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 19 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 20 | golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 21 | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 22 | golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 23 | golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 24 | golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= 25 | golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 26 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= 27 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 28 | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 29 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 30 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 31 | golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 32 | golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 h1:BonxutuHCTL0rBDnZlKjpGIQFTjyUVTexFOdWkB6Fg0= 33 | golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 34 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 35 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 36 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= 37 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 38 | --------------------------------------------------------------------------------