#!/usr/bin/perl # v3 25/09/23 # Checks popular hostnames for IPv6 records, and optionally IPv4. # List was much larger, but many sites have since previous runs added IPv6 # and have been removed. The list is made up from my uses, my bookmarks, # and common mail services. The list does not include Banks or Lenders. # Copyright © Noel Butler 2015-2023 ########################################################################### use Net::DNS; use Getopt::Std; my %opts; getopts ('4', \%opts); @hosts = ( 'twitter.com','www.abc.net.au','www.foxtel.com.au','www.broadcastify.com','www.bom.gov.au', 'itnews.com.au','slashdot.org','exchangewire.com','www.buzzfeed.com','arstechnica.com','techrepublic.com', 'gizmodo.com','wired.com','www.helinews.com','www.airservices.gov.au','flightaware.com','amsa.gov.au', 'github.com','www.dell.com','irc.undernet.org','www.energex.com.au','tatts.com','www.marriott.com', 'www.sen.com.au','www.wia.org.au','www.qrz.com','www.diamondantenna.net', 'au.dmarcian.com','fr.dmarcian.com','mxtoolbox.com','www.globalcyberalliance.org','grays.com','samsung.com', 'www.myob.com','eway.com.au','xero.com','quickbooks.intuit.com', 'perlmonks.org','www.washingtonpost.com','slackware.com','redhat.com','ubuntuforums.org','isc.sans.edu', 'tpg.com.au','optus.com.au','fastmail.com','mailchimpapp.net','createsend.com','sendgrid.net', 'www.freepbx.org','forums.overclockers.com.au','forums.whirlpool.net.au','linuxquestions.org','lists.digium.com', 'lists.ausnog.net','talk.mikrotik.com.au','cablinginstall.com','cymru.com','www.auspost.com.au', 'ebay.com.au','www.temu.com','www.aliexpress.com','jbhifi.com.au','bunnings.com.au','www.supercheapauto.com.au', 'wordpress.org','wordpress.com','seven.com.au','nine.com.au','ten.com.au','woolworths.com.au','coles.com.au', ); foreach $host (@hosts){ print "\n" . $host . " "; my $res = Net::DNS::Resolver->new; my $query = $res->query($host, "AAAA"); my $query2 = $res->search($host); if ($query) { foreach $rr (grep { $_->type eq 'AAAA' } $query->answer) { print $rr->address, " ; "; } } if ($opts{'4'}) { if ($query2) { foreach $rr ($query2->answer) { next unless $rr->type eq "A"; print $rr->address . " "; } } } } print "\n";