ttnp/0040755000203200000620000000000007640306153011247 5ustar wavexxstaffttnp/traceit.pl0100755000203200000620000000044407640306153013241 0ustar wavexxstaff#!/usr/bin/perl # trace the host $host = $ARGV[0]; die "host is missing" if(!$host); $route=`traceroute -nI $host 2> /dev/null`; if($route) { $route =~ s/ *\d+ *(\S+).*/"\1" ->/mg; $route =~ s/ *$//mg; $route =~ s/\n/ /mg; $route = substr($route, 0, -4) . ";\n"; print "$route"; } ttnp/doscan.pl0100755000203200000620000000042007640306153013047 0ustar wavexxstaff#!/usr/bin/perl $base = $ARGV[0]; die "specify base" if(!$base); print "digraph route\n{\n"; for $i(0 ... 255) { $addr = "$base.$i"; if(!system("ping -c 1 -q \"$addr\" 2>&1 > /dev/null")) { print " "; system("./traceit.pl \"$addr\""); } } print "};\n"; ttnp/resolve.pl0100755000203200000620000000044107640306153013262 0ustar wavexxstaff#!/usr/bin/perl # resolve a traceit.pl produced file while(<>) { while(/\"(\d+\.\d+\.\d+\.\d+)\"/g) { $ip = $1; $res = `host $ip`; $res =~ s/.* pointer (\S+)$/\1/; chop($res); if($res !~ /NXDOMAIN/) { s/"($ip)"/"\1\\n$res"/g; } } print "$_"; }