#!/usr/local/bin/perl $|=1; BEGIN { require "../CGI.pm"; import Module CGI; } $query = new CGI; $host = $query->param('host'); if ($host) { @tempHost=split(" ",$host); $ipAddr=$tempHost[0]; } else { if ($ENV{"HTTP_X_FORWARDED_FOR"}) { @forward=split(",",$ENV{"HTTP_X_FORWARDED_FOR"}); $ipAddr=$forward[0]; } else { $ipAddr=$ENV{"REMOTE_ADDR"}; } } print "Content-type: text/html\n\n" ; print "
";
print < ";
print "
FR
open TR ,"/usr/sbin/traceroute $ipAddr |";
print "Traceroute From www.im.ncnu.edu.tw to $ipAddr
";
while (Host Name IP Address Round Trip Time ) {
if (/([\s,\d]\d*)\s+([^*]*)\s\((.*)\)\s*(.*)$/) {
print " \n";
}
else {
if (/([\s|\d]\d*)\s+\*\s(.*)\s\((.*)\)\s*(.*)$/) {
print "$1 $2 $3 $4 \n";
}
else {
if (/([\s|\d]\d*)\s+\*\s\*\s(.*)\s\((.*)\)\s*(.*)$/) {
print "$1 $2 $3 * $4 \n";
}
else {
if (/([\s|\d]\d*)\s+\*\s\*\s\*/) {
print "$1 $2 $3 * * $4 \n";
}
else {
if (/unknown host/) {
print "$1 * * * "
}
else {
print "Unknown Host: $ipAddr ";
}
}
}
}
}
}
print "$_