/[perl]/traceroute2dot.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /traceroute2dot.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Wed Nov 19 14:15:09 2003 UTC (15 years, 6 months ago) by dpavlin
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
produce dot file (for graphviz) from traceroute output. Very useful to
compare traceroutes from different parts of world to your server.

1 #!/usr/bin/perl -w
2
3 # convert one or more traceroute dumps to nice graphviz graph (with colors
4 # and everything)
5 #
6 # You should really name files as hostnames from which this traceroute
7 # is taken (it will be used as first node in traceroute)
8 #
9 # e.g. ssh izuh traceroute mjesec.ffzg.hr > izuh
10 #
11 # Dobrica Pavlinusic <dpavlin@rot13.org> 2003-11-18
12
13 use strict;
14
15 print qq(
16
17 digraph dns {
18
19 // rankdir=LR;
20
21 edge [ fontname = "trebuc", fontsize=9 ]
22 node [ fontname = "trebuc", fontsize=10 ]
23
24 );
25
26 my @colors = qw(#FF99CC #FFCC99 #FFFF99 #CCFFCC #99CCFF #CC99FF);
27 my $col = 0; # color index
28
29 foreach my $file (@ARGV) {
30 open(T,$file) || die "can't open $file: $!";
31 my $from = $file;
32 while(<T>) {
33 chomp;
34 s/^\s*//;
35 next if (! m/^\d+/);
36 my ($nr,$host,$ip,$time,$unit,undef) = split(/\s+/,$_,6);
37 $time .= " $unit";
38 print qq{ "$from" -> "$host" [ label="$nr: $time", color="$colors[$col]" ] \n};
39 $from = $host;
40 }
41 $col++;
42 $col = 0 if ($col > $#colors);
43 }
44
45 print qq(});

  ViewVC Help
Powered by ViewVC 1.1.26