#!/usr/bin/perl

###
### a program to build known hosts2 file
### September 2004 by Ron Reck RTI Contract
###

# this is the number to pre-cede the class C
$start="206.239.39";

# this is to get things off without a hitch
$number="2";


# get the machine names embedded in this file
@data=<DATA>;


# main program
&cycle_classc();
&cycle_fqdn();
&cycle_hostname();


# subroutines


###
### this cycles the class C based on IP address
###

sub cycle_classc{
while ($number < 255) {
	$answer=`ssh-keyscan -t rsa,dsa "$start.$number"`;
	print "$answer";
	$number++;
	}
}

###
### this cycles the machine names that I got using
### nmap -sP 206.239.39.*
###

sub cycle_fqdn {
foreach $machine (@data) {
	$answer=`ssh-keyscan -t rsa,dsa "$machine"`;
	print "$answer";
	}
}


### 
### Since you might access the machine based on IP or FQDN
### or bare hostname this repeats the earlier keyscan with
### only the hostname
###

sub cycle_hostname {
foreach $machine (@data) {
	($machine,@rest)=split(/\./,$machine);
	$answer=`ssh-keyscan -t rsa,dsa "$machine"`;
	print "$answer";
	}
}


###
### A list of the machine on the network
###
__DATA__
avante.dctd.saic.com
mother.dctd.saic.com
athens.dctd.saic.com
hla3.dctd.saic.com
helpdesk.dctd.saic.com
titus.dctd.saic.com
hla6.dctd.saic.com
bellman.dctd.saic.com
saiclp.dctd.saic.com
colorlp.dctd.saic.com
hla11.dctd.saic.com
hla12.dctd.saic.com
hla14.dctd.saic.com
dizok.dctd.saic.com
hla16.dctd.saic.com
hla17.dctd.saic.com
hla18.dctd.saic.com
hla19.dctd.saic.com
dreary.dctd.saic.com
hla22.dctd.saic.com
typhoon.dctd.saic.com
hla24.dctd.saic.com
hla25.dctd.saic.com
ava.dctd.saic.com
altoona.dctd.saic.com
destiny.dctd.saic.com
newweb.dctd.saic.com
hla31.dctd.saic.com
hla32.dctd.saic.com
hla33.dctd.saic.com
hla34.dctd.saic.com
tickle.dctd.saic.com
dribble.dctd.saic.com
adell.dctd.saic.com
hla38.dctd.saic.com
hla39.dctd.saic.com
hla40.dctd.saic.com
hla42.dctd.saic.com
hla43.dctd.saic.com
hla44.dctd.saic.com
hla45.dctd.saic.com
drudge.dctd.saic.com
died.dctd.saic.com
hla48.dctd.saic.com
simba.dctd.saic.com
sand.dctd.saic.com
lima.dctd.saic.com
dalmation.dctd.saic.com
hla53.dctd.saic.com
hla56.dctd.saic.com
hla57.dctd.saic.com
duster.dctd.saic.com
delight.dctd.saic.com
tinman.dctd.saic.com
dreamer.dctd.saic.com
diva.dctd.saic.com
duke.dctd.saic.com
dairy.dctd.saic.com
hla66.dctd.saic.com
dollar.dctd.saic.com
delta.dctd.saic.com
hla69.dctd.saic.com
hla70.dctd.saic.com
dilbert.dctd.saic.com
hla72.dctd.saic.com
dundee.dctd.saic.com
travesty.dctd.saic.com
denmark.dctd.saic.com
trivial.dctd.saic.com
hla79.dctd.saic.com
tide.dctd.saic.com
tiny.dctd.saic.com
airlan.dctd.saic.com
airlan2.dctd.saic.com
smile.dctd.saic.com
soap.dctd.saic.com
diamond.dctd.saic.com
hla87.dctd.saic.com
tigger.dctd.saic.com
hla89.dctd.saic.com
hla90.dctd.saic.com
hla91.dctd.saic.com
thetis.dctd.saic.com
argo.dctd.saic.com
achillies.dctd.saic.com
hpclj-4500n.dctd.saic.com
hp-plotter.dctd.saic.com
saiclp2.dctd.saic.com
saiclp3.dctd.saic.com
npidc86b1.dctd.saic.com
sonyvaio.sito.saic.com
dharma.dctd.saic.com
dry.dctd.saic.com
silver.dctd.saic.com
kathyw.dctd.saic.com
pyrrhic.dctd.saic.com
bronsonr.dctd.saic.com
density.dctd.saic.com
testlab.dctd.saic.com
doger.dctd.saic.com
breml.dctd.saic.com
saicpc
nagios.dctd.saic.com
jparisi.sito.saic.com
daytona.dctd.saic.com
test10.dctd.saic.com
landerlaptop.dctd.saic.com
coxb.dctd.saic.com
sw-hp1.dctd.saic.com
sw-hp2.dctd.saic.com
sw-hp3.dctd.saic.com
sw-hp4.dctd.saic.com
sw-hp5.dctd.saic.com
printsrv.dctd.saic.com
snap2.dctd.saic.com
enterprise.dctd.saic.com
saic-jjqouunvp0.dctd.saic.com
damian.dctd.saic.com
demitrius.dctd.saic.com
dean.dctd.saic.com
sub.dctd.saic.com
taoshare.dctd.saic.com
homeshare-1.dctd.saic.com
test-1.dctd.saic.com
test-2.dctd.saic.com
test-3.dctd.saic.com
test-4.dctd.saic.com
email.dctd.saic.com
darian-w2k.dctd.saic.com
rtibuild.dctd.saic.com
rtibuild-vc6.dctd.saic.com
coxb.dctd.saic.com
