I need a program written (perl script very preferable, but I am open to others) that will read in a CSV file of domain names and create a new CSV file of domain names including publicly obtainable information about that domain.
I am most interested first in who they are using as their Internet Service Provider, and second in what type of bandwidth / connection type (DSL, T1, cable, etc).
ARIN whois might be useful. Though be aware that this script might check 5000+ domains in a single run.
Regular whois on the domain would be critical. MX records might be the only way to find out if they have an on-premise server. Most of the domains will be of companies with 10-100 employees and would have Windows Small Business Server installed with Exchange on it. One of the MX records for the domain should show the static IP that you need.
Traceroute information would also be needed to detect the IP/FQDN of their gateway (the device right before traceroute gets to their IP).
The script will need to go once through the whole list, and update MySQL before exiting or during the script. Whatever is more efficient.
To find out their download bandwidth you can connect to their mail server and upload a small (perhaps 100k?) attachment.