GithubHelp home page GithubHelp logo

Enriched `dot` report about trippy HOT 4 OPEN

fujiapple852 avatar fujiapple852 commented on June 11, 2024
Enriched `dot` report

from trippy.

Comments (4)

fujiapple852 avatar fujiapple852 commented on June 11, 2024

Current WIP:

trip -u google.com --tcp -m dot -C 10 | dot -Tpng > path.png

Produces:

path

from trippy.

jmanteau avatar jmanteau commented on June 11, 2024

Coming back from #875

it looks nice in the example you linked to. Is that example produced as a DOT file? Do you have the DOT file for reference?
I have just done a fresh run, here you go, see below.

I think to do this these reports should become subcommand such that multiple per-subcommand flags could be added
I would do "both". Having a switch to activate in one go all the opiniated default. And having the others switchs if people want to add only what they need.

from trippy.

jmanteau avatar jmanteau commented on June 11, 2024
### Scapy Multi-Traceroute (MTR) DOT Graph Results (2023-12-20 17:11:46.559516) ###

digraph mtr {
	graph [bgcolor=transparent,ranksep=0.75];
	node [shape="ellipse",fontname="Sans-Serif",fontsize=11,color="black",gradientangle=270,fillcolor="white:#a0a0a0",style="filled"];

	### ASN Clusters ###
	subgraph cluster_15169 {
		tooltip="AS: 15169 - [Google]";
		color="#608686";
		fillcolor="#60868630";
		style="filled,rounded";
		node [color="#608686",gradientangle=270,fillcolor="white:#608686",style="filled"];
		fontsize=10;
		fontname="Sans-Serif";
		label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B><FONT POINT-SIZE="11">AS: 15169</FONT></B></TD></TR><TR><TD>[Google]</TD></TR></TABLE>>;
		labelloc="t";
		penwidth=3;
		"74.125.147.10" [tooltip="Hop Host: 74.125.147.10"];
		"72.14.204.184" [tooltip="Hop Host: 72.14.204.184"];
		"108.170.244.225" [tooltip="Hop Host: 108.170.244.225"];
		"142.250.234.41" [tooltip="Hop Host: 142.250.234.41"];
		"142.250.234.43" [tooltip="Hop Host: 142.250.234.43"];
		"108.170.244.161" [tooltip="Hop Host: 108.170.244.161"];
		"72.14.202.232" [tooltip="Hop Host: 72.14.202.232"];
		"72.14.218.40" [tooltip="Hop Host: 72.14.218.40"];
		"72.14.210.158" [tooltip="Hop Host: 72.14.210.158"];
		"72.14.233.77" [tooltip="Hop Host: 72.14.233.77"];
		### MTR Target Cluster ###
		subgraph cluster_142_250_74_228 {
			tooltip="MTR Target: www.google.com";
			color="darkgreen";
			fontsize=11;
			fontname="Sans-Serif";
			gradientangle=270;
			fillcolor="white:#a0a0a0";
			style="filled,rounded";
			penwidth=2;
			label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B>Target: www.google.com</B></TD></TR><TR><TD><FONT POINT-SIZE="9">Hop Ranges (T1: 1 &rarr; 9, T2: 1 &rarr; 9, T5: 1 &rarr; 9, T6: 1 &rarr; 9, T9: 1 &rarr; 9, T10: 1 &rarr; 9)</FONT></TD></TR></TABLE>>;
			labelloc="b";
			"142.250.74.228";
		}
	}
	subgraph cluster_6453 {
		tooltip="AS: 6453 - [TATA Communications]";
		color="#60baba";
		fillcolor="#60baba30";
		style="filled,rounded";
		node [color="#60baba",gradientangle=270,fillcolor="white:#60baba",style="filled"];
		fontsize=10;
		fontname="Sans-Serif";
		label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B><FONT POINT-SIZE="11">AS: 6453</FONT></B></TD></TR><TR><TD>[TATA Communications]</TD></TR></TABLE>>;
		labelloc="t";
		penwidth=3;
		"80.231.245.41" [tooltip="Hop Host: 80.231.245.41"];
		"195.219.50.74" [tooltip="Hop Host: 195.219.50.74"];
		"80.231.246.13" [tooltip="Hop Host: 80.231.246.13"];
		"80.231.246.26" [tooltip="Hop Host: 80.231.246.26"];
	}
	subgraph cluster_14061 {
		tooltip="AS: 14061 - [DigitalOcean]";
		color="#60ffff";
		fillcolor="#60ffff30";
		style="filled,rounded";
		node [color="#60ffff",gradientangle=270,fillcolor="white:#60ffff",style="filled"];
		fontsize=10;
		fontname="Sans-Serif";
		label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B><FONT POINT-SIZE="11">AS: 14061</FONT></B></TD></TR><TR><TD>[DigitalOcean]</TD></TR></TABLE>>;
		labelloc="t";
		penwidth=3;
		"Unk8" [tooltip="Hop Host: Unk8"];
		"Unk9" [tooltip="Hop Host: Unk9"];
		"Unk10" [tooltip="Hop Host: Unk10"];
		"Unk15" [tooltip="Hop Host: Unk15"];
		"Unk16" [tooltip="Hop Host: Unk16"];
		"Unk17" [tooltip="Hop Host: Unk17"];
		### MTR Target Cluster ###
		subgraph cluster_64_226_122_113 {
			tooltip="MTR Target: openwrt.org";
			color="darkgreen";
			fontsize=11;
			fontname="Sans-Serif";
			gradientangle=270;
			fillcolor="white:#a0a0a0";
			style="filled,rounded";
			penwidth=2;
			label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B>Target: openwrt.org</B></TD></TR><TR><TD><FONT POINT-SIZE="9">Hop Ranges (T3: 1 &rarr; 14, T4: 1 &rarr; 14, T7: 1 &rarr; 14, T8: 1 &rarr; 14, T11: 1 &rarr; 14, T12: 1 &rarr; 14)</FONT></TD></TR></TABLE>>;
			labelloc="b";
			"64.226.122.113";
		}
	}

	### Probe Target Cluster ###
	subgraph cluster_probe_Title {
		tooltip="Multi-Traceroute (MTR) Probe:  192.168.1.104";
		color="darkorange";
		gradientangle=270;
		fillcolor="white:#a0a0a0";
		style="filled,rounded";
		penwidth=3;
		fontsize=11;
		fontname="Sans-Serif";
		label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0"><TR><TD ALIGN="center"><B>Multi-Traceroute (MTR) Probe</B></TD></TR><TR><TD ALIGN="center"><FONT POINT-SIZE="9">2020-02-18 17:00:04</FONT></TD></TR><TR><TD ALIGN="center"><FONT POINT-SIZE="9">Target: www.google.com (142.250.74.228 &rarr; T1, T2, T5, T6, T9, T10)</FONT></TD></TR><TR><TD ALIGN="center"><FONT POINT-SIZE="9">Target: openwrt.org (64.226.122.113 &rarr; T3, T4, T7, T8, T11, T12)</FONT></TD></TR></TABLE>>;
		labelloc="t";
		"192.168.1.104";
	}

	### Default Gateway Cluster ###
	subgraph cluster_default_gateway {
		tooltip="Default Gateway Host: 192.168.1.1";
		color="goldenrod";
		gradientangle=270;
		fillcolor="white:#b8860b30";
		style="filled,rounded";
		penwidth=3;
		fontsize=11;
		fontname="Sans-Serif";
		label=<<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0" ALIGN="center"><TR><TD><B><FONT POINT-SIZE="9">Default Gateway</FONT></B></TD></TR></TABLE>>;
		"192.168.1.1" [shape="diamond",fontname="Sans-Serif",fontsize=11,color="black",gradientangle=270,fillcolor="white:goldenrod",style="rounded,filled",tooltip="Default Gateway Host: 192.168.1.1"];
	}

	### Probe Begin Traces ###
	"192.168.1.104" [shape="record",color="black",gradientangle=270,fillcolor="white:darkorange",style="filled,rounded",label="Probe: 192.168.1.104\nNetwork Interface: lan0|{TCP: http(80)|{<BT1>T1|<BT3>T3|<BT5>T5|<BT7>T7|<BT9>T9|<BT11>T11}}|{TCP: https(443)|{<BT2>T2|<BT4>T4|<BT6>T6|<BT8>T8|<BT10>T10|<BT12>T12}}",tooltip="Begin Host Probe: 192.168.1.104"];

	### Target Endpoints ###
	"142.250.74.228" [shape="record",color="black",gradientangle=270,fillcolor="#00ff00:#005400",style="filled,rounded",label="Resolved Target\n142.250.74.228|{{<ET1>T1|<ET5>T5|<ET9>T9}|http(80) SA}|{{<ET2>T2|<ET6>T6|<ET10>T10}|https(443) SA}",tooltip="MTR Resolved Target: 142.250.74.228"];
	"64.226.122.113" [shape="record",color="black",gradientangle=270,fillcolor="#00ff00:#005400",style="filled,rounded",label="Resolved Target\n64.226.122.113|{{<ET3>T3|<ET7>T7|<ET11>T11}|http(80) SA}|{{<ET4>T4|<ET8>T8|<ET12>T12}|https(443) SA}",tooltip="MTR Resolved Target: 64.226.122.113"];

	### Blackholes ###

	### ICMP Destination Unreachable Hops ###

	### Nodes With Padding ###
	"108.170.244.225" [label=<<BR/>108.170.244.225<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"142.250.234.41" [label=<<BR/>142.250.234.41<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"142.250.234.43" [label=<<BR/>142.250.234.43<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"193.252.160.45" [label=<<BR/>193.252.160.45<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"80.231.245.41" [label=<<BR/>80.231.245.41<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"195.219.50.74" [label=<<BR/>195.219.50.74<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"80.231.246.13" [label=<<BR/>80.231.246.13<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];
	"80.231.246.26" [label=<<BR/>80.231.246.26<BR/><FONT POINT-SIZE="8">Padding</FONT>>,shape="box3d",color="black",gradientangle=270,fillcolor="white:red",style="filled,rounded"];

	### Traces ###
	### T1 -> ('192.168.1.104', '142.250.74.228', 6, 80) ###
	edge [color="#a07070"];
	"192.168.1.104":BT1:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 2.561ms</FONT>>,edgetooltip="Trace: 1:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (2.561ms))",labeltooltip="Trace: 1:1, RTT: 192.168.1.104 <-> 192.168.1.1 (2.561ms)"];
	"192.168.1.1" -> "Unk0" [edgetooltip="Trace: 1:2, 192.168.1.1 -> Unk0"];
	"Unk0" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 6.709ms</FONT>>,edgetooltip="Trace: 1:3, Unk0 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (6.709ms))",labeltooltip="Trace: 1:3, RTT: 192.168.1.104 <-> 193.253.94.198 (6.709ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 28.852ms</FONT>>,edgetooltip="Trace: 1:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (28.852ms))",labeltooltip="Trace: 1:4, RTT: 192.168.1.104 <-> 193.252.160.53 (28.852ms)"];
	"193.252.160.53" -> "Unk1" [edgetooltip="Trace: 1:5, 193.252.160.53 -> Unk1"];
	"Unk1" -> "74.125.147.10" [label=<<FONT POINT-SIZE="8">&nbsp; 18.251ms</FONT>>,edgetooltip="Trace: 1:6, Unk1 -> 74.125.147.10 (RTT: 192.168.1.104 <-> 74.125.147.10 (18.251ms))",labeltooltip="Trace: 1:6, RTT: 192.168.1.104 <-> 74.125.147.10 (18.251ms)"];
	"74.125.147.10" -> "108.170.244.225" [label=<<FONT POINT-SIZE="8">&nbsp; 16.814ms</FONT>>,edgetooltip="Trace: 1:7, 74.125.147.10 -> 108.170.244.225 (RTT: 192.168.1.104 <-> 108.170.244.225 (16.814ms))",labeltooltip="Trace: 1:7, RTT: 192.168.1.104 <-> 108.170.244.225 (16.814ms)"];
	"108.170.244.225" -> "142.250.234.41" [label=<<FONT POINT-SIZE="8">&nbsp; 162.772ms</FONT>>,edgetooltip="Trace: 1:8, 108.170.244.225 -> 142.250.234.41 (RTT: 192.168.1.104 <-> 142.250.234.41 (162.772ms))",labeltooltip="Trace: 1:8, RTT: 192.168.1.104 <-> 142.250.234.41 (162.772ms)"];
	"142.250.234.41" -> "142.250.74.228":ET1:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 161.942ms</FONT>>,edgetooltip="Trace: 1:9, 142.250.234.41 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (161.942ms))",labeltooltip="Trace: 1:9, RTT: 192.168.1.104 <-> 142.250.74.228 (161.942ms)"];
	### T2 -> ('192.168.1.104', '142.250.74.228', 6, 443) ###
	edge [color="#a04040"];
	"192.168.1.104":BT2:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 2.865ms</FONT>>,edgetooltip="Trace: 2:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (2.865ms))",labeltooltip="Trace: 2:1, RTT: 192.168.1.104 <-> 192.168.1.1 (2.865ms)"];
	"192.168.1.1" -> "Unk2" [edgetooltip="Trace: 2:2, 192.168.1.1 -> Unk2"];
	"Unk2" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 30.754ms</FONT>>,edgetooltip="Trace: 2:3, Unk2 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (30.754ms))",labeltooltip="Trace: 2:3, RTT: 192.168.1.104 <-> 193.253.94.198 (30.754ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 20.723ms</FONT>>,edgetooltip="Trace: 2:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (20.723ms))",labeltooltip="Trace: 2:4, RTT: 192.168.1.104 <-> 193.252.160.53 (20.723ms)"];
	"193.252.160.53" -> "Unk3" [edgetooltip="Trace: 2:5, 193.252.160.53 -> Unk3"];
	"Unk3" -> "72.14.204.184" [label=<<FONT POINT-SIZE="8">&nbsp; 17.435ms</FONT>>,edgetooltip="Trace: 2:6, Unk3 -> 72.14.204.184 (RTT: 192.168.1.104 <-> 72.14.204.184 (17.435ms))",labeltooltip="Trace: 2:6, RTT: 192.168.1.104 <-> 72.14.204.184 (17.435ms)"];
	"72.14.204.184" -> "108.170.244.225" [label=<<FONT POINT-SIZE="8">&nbsp; 171.199ms</FONT>>,edgetooltip="Trace: 2:7, 72.14.204.184 -> 108.170.244.225 (RTT: 192.168.1.104 <-> 108.170.244.225 (171.199ms))",labeltooltip="Trace: 2:7, RTT: 192.168.1.104 <-> 108.170.244.225 (171.199ms)"];
	"108.170.244.225" -> "142.250.234.43" [label=<<FONT POINT-SIZE="8">&nbsp; 169.621ms</FONT>>,edgetooltip="Trace: 2:8, 108.170.244.225 -> 142.250.234.43 (RTT: 192.168.1.104 <-> 142.250.234.43 (169.621ms))",labeltooltip="Trace: 2:8, RTT: 192.168.1.104 <-> 142.250.234.43 (169.621ms)"];
	"142.250.234.43" -> "142.250.74.228":ET2:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 163.556ms</FONT>>,edgetooltip="Trace: 2:9, 142.250.234.43 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (163.556ms))",labeltooltip="Trace: 2:9, RTT: 192.168.1.104 <-> 142.250.74.228 (163.556ms)"];
	### T3 -> ('192.168.1.104', '64.226.122.113', 6, 80) ###
	edge [color="#a02020"];
	"192.168.1.104":BT3:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 3.157ms</FONT>>,edgetooltip="Trace: 3:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (3.157ms))",labeltooltip="Trace: 3:1, RTT: 192.168.1.104 <-> 192.168.1.1 (3.157ms)"];
	"192.168.1.1" -> "Unk4" [edgetooltip="Trace: 3:2, 192.168.1.1 -> Unk4"];
	"Unk4" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 7.241ms</FONT>>,edgetooltip="Trace: 3:3, Unk4 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (7.241ms))",labeltooltip="Trace: 3:3, RTT: 192.168.1.104 <-> 193.253.94.198 (7.241ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 55.143ms</FONT>>,edgetooltip="Trace: 3:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (55.143ms))",labeltooltip="Trace: 3:4, RTT: 192.168.1.104 <-> 193.252.160.53 (55.143ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 39.600ms</FONT>>,edgetooltip="Trace: 3:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (39.600ms))",labeltooltip="Trace: 3:5, RTT: 192.168.1.104 <-> 193.252.160.45 (39.600ms)"];
	"193.252.160.45" -> "Unk5" [edgetooltip="Trace: 3:6, 193.252.160.45 -> Unk5"];
	"Unk5" -> "Unk6" [edgetooltip="Trace: 3:7, Unk5 -> Unk6"];
	"Unk6" -> "Unk7" [edgetooltip="Trace: 3:8, Unk6 -> Unk7"];
	"Unk7" -> "80.231.245.41" [label=<<FONT POINT-SIZE="8">&nbsp; 97.607ms</FONT>>,edgetooltip="Trace: 3:9, Unk7 -> 80.231.245.41 (RTT: 192.168.1.104 <-> 80.231.245.41 (97.607ms))",labeltooltip="Trace: 3:9, RTT: 192.168.1.104 <-> 80.231.245.41 (97.607ms)"];
	"80.231.245.41" -> "195.219.50.74" [label=<<FONT POINT-SIZE="8">&nbsp; 67.035ms</FONT>>,edgetooltip="Trace: 3:10, 80.231.245.41 -> 195.219.50.74 (RTT: 192.168.1.104 <-> 195.219.50.74 (67.035ms))",labeltooltip="Trace: 3:10, RTT: 192.168.1.104 <-> 195.219.50.74 (67.035ms)"];
	"195.219.50.74" -> "Unk8" [edgetooltip="Trace: 3:11, 195.219.50.74 -> Unk8"];
	"Unk8" -> "Unk9" [edgetooltip="Trace: 3:12, Unk8 -> Unk9"];
	"Unk9" -> "Unk10" [edgetooltip="Trace: 3:13, Unk9 -> Unk10"];
	"Unk10" -> "64.226.122.113":ET3:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 26.056ms</FONT>>,edgetooltip="Trace: 3:14, Unk10 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (26.056ms))",labeltooltip="Trace: 3:14, RTT: 192.168.1.104 <-> 64.226.122.113 (26.056ms)"];
	### T4 -> ('192.168.1.104', '64.226.122.113', 6, 443) ###
	edge [color="#7070a0"];
	"192.168.1.104":BT4:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 28.520ms</FONT>>,edgetooltip="Trace: 4:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (28.520ms))",labeltooltip="Trace: 4:1, RTT: 192.168.1.104 <-> 192.168.1.1 (28.520ms)"];
	"192.168.1.1" -> "Unk11" [edgetooltip="Trace: 4:2, 192.168.1.1 -> Unk11"];
	"Unk11" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 75.009ms</FONT>>,edgetooltip="Trace: 4:3, Unk11 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (75.009ms))",labeltooltip="Trace: 4:3, RTT: 192.168.1.104 <-> 193.253.94.198 (75.009ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 45.661ms</FONT>>,edgetooltip="Trace: 4:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (45.661ms))",labeltooltip="Trace: 4:4, RTT: 192.168.1.104 <-> 193.252.160.53 (45.661ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 33.659ms</FONT>>,edgetooltip="Trace: 4:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (33.659ms))",labeltooltip="Trace: 4:5, RTT: 192.168.1.104 <-> 193.252.160.45 (33.659ms)"];
	"193.252.160.45" -> "Unk12" [edgetooltip="Trace: 4:6, 193.252.160.45 -> Unk12"];
	"Unk12" -> "Unk13" [edgetooltip="Trace: 4:7, Unk12 -> Unk13"];
	"Unk13" -> "Unk14" [edgetooltip="Trace: 4:8, Unk13 -> Unk14"];
	"Unk14" -> "80.231.245.41" [label=<<FONT POINT-SIZE="8">&nbsp; 76.770ms</FONT>>,edgetooltip="Trace: 4:9, Unk14 -> 80.231.245.41 (RTT: 192.168.1.104 <-> 80.231.245.41 (76.770ms))",labeltooltip="Trace: 4:9, RTT: 192.168.1.104 <-> 80.231.245.41 (76.770ms)"];
	"80.231.245.41" -> "195.219.50.74" [label=<<FONT POINT-SIZE="8">&nbsp; 60.944ms</FONT>>,edgetooltip="Trace: 4:10, 80.231.245.41 -> 195.219.50.74 (RTT: 192.168.1.104 <-> 195.219.50.74 (60.944ms))",labeltooltip="Trace: 4:10, RTT: 192.168.1.104 <-> 195.219.50.74 (60.944ms)"];
	"195.219.50.74" -> "Unk15" [edgetooltip="Trace: 4:11, 195.219.50.74 -> Unk15"];
	"Unk15" -> "Unk16" [edgetooltip="Trace: 4:12, Unk15 -> Unk16"];
	"Unk16" -> "Unk17" [edgetooltip="Trace: 4:13, Unk16 -> Unk17"];
	"Unk17" -> "64.226.122.113":ET4:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 25.974ms</FONT>>,edgetooltip="Trace: 4:14, Unk17 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (25.974ms))",labeltooltip="Trace: 4:14, RTT: 192.168.1.104 <-> 64.226.122.113 (25.974ms)"];
	### T5 -> ('192.168.1.104', '142.250.74.228', 6, 80) ###
	edge [color="#704070"];
	"192.168.1.104":BT5:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 3.353ms</FONT>>,edgetooltip="Trace: 5:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (3.353ms))",labeltooltip="Trace: 5:1, RTT: 192.168.1.104 <-> 192.168.1.1 (3.353ms)"];
	"192.168.1.1" -> "Unk18" [edgetooltip="Trace: 5:2, 192.168.1.1 -> Unk18"];
	"Unk18" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 149.808ms</FONT>>,edgetooltip="Trace: 5:3, Unk18 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (149.808ms))",labeltooltip="Trace: 5:3, RTT: 192.168.1.104 <-> 193.253.94.198 (149.808ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 132.370ms</FONT>>,edgetooltip="Trace: 5:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (132.370ms))",labeltooltip="Trace: 5:4, RTT: 192.168.1.104 <-> 193.252.160.53 (132.370ms)"];
	"193.252.160.53" -> "Unk19" [edgetooltip="Trace: 5:5, 193.252.160.53 -> Unk19"];
	"Unk19" -> "72.14.202.232" [label=<<FONT POINT-SIZE="8">&nbsp; 89.702ms</FONT>>,edgetooltip="Trace: 5:6, Unk19 -> 72.14.202.232 (RTT: 192.168.1.104 <-> 72.14.202.232 (89.702ms))",labeltooltip="Trace: 5:6, RTT: 192.168.1.104 <-> 72.14.202.232 (89.702ms)"];
	"72.14.202.232" -> "108.170.244.161" [label=<<FONT POINT-SIZE="8">&nbsp; 74.415ms</FONT>>,edgetooltip="Trace: 5:7, 72.14.202.232 -> 108.170.244.161 (RTT: 192.168.1.104 <-> 108.170.244.161 (74.415ms))",labeltooltip="Trace: 5:7, RTT: 192.168.1.104 <-> 108.170.244.161 (74.415ms)"];
	"108.170.244.161" -> "142.250.234.43" [label=<<FONT POINT-SIZE="8">&nbsp; 51.894ms</FONT>>,edgetooltip="Trace: 5:8, 108.170.244.161 -> 142.250.234.43 (RTT: 192.168.1.104 <-> 142.250.234.43 (51.894ms))",labeltooltip="Trace: 5:8, RTT: 192.168.1.104 <-> 142.250.234.43 (51.894ms)"];
	"142.250.234.43" -> "142.250.74.228":ET5:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 33.466ms</FONT>>,edgetooltip="Trace: 5:9, 142.250.234.43 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (33.466ms))",labeltooltip="Trace: 5:9, RTT: 192.168.1.104 <-> 142.250.74.228 (33.466ms)"];
	### T6 -> ('192.168.1.104', '142.250.74.228', 6, 443) ###
	edge [color="#702040"];
	"192.168.1.104":BT6:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 2.392ms</FONT>>,edgetooltip="Trace: 6:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (2.392ms))",labeltooltip="Trace: 6:1, RTT: 192.168.1.104 <-> 192.168.1.1 (2.392ms)"];
	"192.168.1.1" -> "Unk20" [edgetooltip="Trace: 6:2, 192.168.1.1 -> Unk20"];
	"Unk20" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 140.917ms</FONT>>,edgetooltip="Trace: 6:3, Unk20 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (140.917ms))",labeltooltip="Trace: 6:3, RTT: 192.168.1.104 <-> 193.253.94.198 (140.917ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 113.681ms</FONT>>,edgetooltip="Trace: 6:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (113.681ms))",labeltooltip="Trace: 6:4, RTT: 192.168.1.104 <-> 193.252.160.53 (113.681ms)"];
	"193.252.160.53" -> "Unk21" [edgetooltip="Trace: 6:5, 193.252.160.53 -> Unk21"];
	"Unk21" -> "72.14.202.232" [label=<<FONT POINT-SIZE="8">&nbsp; 82.061ms</FONT>>,edgetooltip="Trace: 6:6, Unk21 -> 72.14.202.232 (RTT: 192.168.1.104 <-> 72.14.202.232 (82.061ms))",labeltooltip="Trace: 6:6, RTT: 192.168.1.104 <-> 72.14.202.232 (82.061ms)"];
	"72.14.202.232" -> "108.170.244.161" [label=<<FONT POINT-SIZE="8">&nbsp; 58.330ms</FONT>>,edgetooltip="Trace: 6:7, 72.14.202.232 -> 108.170.244.161 (RTT: 192.168.1.104 <-> 108.170.244.161 (58.330ms))",labeltooltip="Trace: 6:7, RTT: 192.168.1.104 <-> 108.170.244.161 (58.330ms)"];
	"108.170.244.161" -> "142.250.234.41" [label=<<FONT POINT-SIZE="8">&nbsp; 45.056ms</FONT>>,edgetooltip="Trace: 6:8, 108.170.244.161 -> 142.250.234.41 (RTT: 192.168.1.104 <-> 142.250.234.41 (45.056ms))",labeltooltip="Trace: 6:8, RTT: 192.168.1.104 <-> 142.250.234.41 (45.056ms)"];
	"142.250.234.41" -> "142.250.74.228":ET6:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 28.591ms</FONT>>,edgetooltip="Trace: 6:9, 142.250.234.41 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (28.591ms))",labeltooltip="Trace: 6:9, RTT: 192.168.1.104 <-> 142.250.74.228 (28.591ms)"];
	### T7 -> ('192.168.1.104', '64.226.122.113', 6, 80) ###
	edge [color="#70a020"];
	"192.168.1.104":BT7:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 3.698ms</FONT>>,edgetooltip="Trace: 7:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (3.698ms))",labeltooltip="Trace: 7:1, RTT: 192.168.1.104 <-> 192.168.1.1 (3.698ms)"];
	"192.168.1.1" -> "Unk22" [edgetooltip="Trace: 7:2, 192.168.1.1 -> Unk22"];
	"Unk22" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 35.026ms</FONT>>,edgetooltip="Trace: 7:3, Unk22 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (35.026ms))",labeltooltip="Trace: 7:3, RTT: 192.168.1.104 <-> 193.253.94.198 (35.026ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 103.679ms</FONT>>,edgetooltip="Trace: 7:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (103.679ms))",labeltooltip="Trace: 7:4, RTT: 192.168.1.104 <-> 193.252.160.53 (103.679ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 398.360ms</FONT>>,edgetooltip="Trace: 7:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (398.360ms))",labeltooltip="Trace: 7:5, RTT: 192.168.1.104 <-> 193.252.160.45 (398.360ms)"];
	"193.252.160.45" -> "Unk23" [edgetooltip="Trace: 7:6, 193.252.160.45 -> Unk23"];
	"Unk23" -> "Unk24" [edgetooltip="Trace: 7:7, Unk23 -> Unk24"];
	"Unk24" -> "Unk25" [edgetooltip="Trace: 7:8, Unk24 -> Unk25"];
	"Unk25" -> "Unk26" [edgetooltip="Trace: 7:9, Unk25 -> Unk26"];
	"Unk26" -> "Unk27" [edgetooltip="Trace: 7:10, Unk26 -> Unk27"];
	"Unk27" -> "Unk28" [edgetooltip="Trace: 7:11, Unk27 -> Unk28"];
	"Unk28" -> "Unk29" [edgetooltip="Trace: 7:12, Unk28 -> Unk29"];
	"Unk29" -> "Unk30" [edgetooltip="Trace: 7:13, Unk29 -> Unk30"];
	"Unk30" -> "64.226.122.113":ET7:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 262.554ms</FONT>>,edgetooltip="Trace: 7:14, Unk30 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (262.554ms))",labeltooltip="Trace: 7:14, RTT: 192.168.1.104 <-> 64.226.122.113 (262.554ms)"];
	### T8 -> ('192.168.1.104', '64.226.122.113', 6, 443) ###
	edge [color="#4040a0"];
	"192.168.1.104":BT8:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 7.850ms</FONT>>,edgetooltip="Trace: 8:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (7.850ms))",labeltooltip="Trace: 8:1, RTT: 192.168.1.104 <-> 192.168.1.1 (7.850ms)"];
	"192.168.1.1" -> "Unk31" [edgetooltip="Trace: 8:2, 192.168.1.1 -> Unk31"];
	"Unk31" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 114.024ms</FONT>>,edgetooltip="Trace: 8:3, Unk31 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (114.024ms))",labeltooltip="Trace: 8:3, RTT: 192.168.1.104 <-> 193.253.94.198 (114.024ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 98.112ms</FONT>>,edgetooltip="Trace: 8:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (98.112ms))",labeltooltip="Trace: 8:4, RTT: 192.168.1.104 <-> 193.252.160.53 (98.112ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 391.118ms</FONT>>,edgetooltip="Trace: 8:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (391.118ms))",labeltooltip="Trace: 8:5, RTT: 192.168.1.104 <-> 193.252.160.45 (391.118ms)"];
	"193.252.160.45" -> "Unk32" [edgetooltip="Trace: 8:6, 193.252.160.45 -> Unk32"];
	"Unk32" -> "Unk33" [edgetooltip="Trace: 8:7, Unk32 -> Unk33"];
	"Unk33" -> "80.231.246.13" [label=<<FONT POINT-SIZE="8">&nbsp; 351.764ms</FONT>>,edgetooltip="Trace: 8:8, Unk33 -> 80.231.246.13 (RTT: 192.168.1.104 <-> 80.231.246.13 (351.764ms))",labeltooltip="Trace: 8:8, RTT: 192.168.1.104 <-> 80.231.246.13 (351.764ms)"];
	"80.231.246.13" -> "Unk34" [edgetooltip="Trace: 8:9, 80.231.246.13 -> Unk34"];
	"Unk34" -> "Unk35" [edgetooltip="Trace: 8:10, Unk34 -> Unk35"];
	"Unk35" -> "Unk36" [edgetooltip="Trace: 8:11, Unk35 -> Unk36"];
	"Unk36" -> "Unk37" [edgetooltip="Trace: 8:12, Unk36 -> Unk37"];
	"Unk37" -> "Unk38" [edgetooltip="Trace: 8:13, Unk37 -> Unk38"];
	"Unk38" -> "64.226.122.113":ET8:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 214.745ms</FONT>>,edgetooltip="Trace: 8:14, Unk38 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (214.745ms))",labeltooltip="Trace: 8:14, RTT: 192.168.1.104 <-> 64.226.122.113 (214.745ms)"];
	### T9 -> ('192.168.1.104', '142.250.74.228', 6, 80) ###
	edge [color="#402070"];
	"192.168.1.104":BT9:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 99.335ms</FONT>>,edgetooltip="Trace: 9:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (99.335ms))",labeltooltip="Trace: 9:1, RTT: 192.168.1.104 <-> 192.168.1.1 (99.335ms)"];
	"192.168.1.1" -> "Unk39" [edgetooltip="Trace: 9:2, 192.168.1.1 -> Unk39"];
	"Unk39" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 31.408ms</FONT>>,edgetooltip="Trace: 9:3, Unk39 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (31.408ms))",labeltooltip="Trace: 9:3, RTT: 192.168.1.104 <-> 193.253.94.198 (31.408ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 48.031ms</FONT>>,edgetooltip="Trace: 9:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (48.031ms))",labeltooltip="Trace: 9:4, RTT: 192.168.1.104 <-> 193.252.160.53 (48.031ms)"];
	"193.252.160.53" -> "Unk40" [edgetooltip="Trace: 9:5, 193.252.160.53 -> Unk40"];
	"Unk40" -> "72.14.218.40" [label=<<FONT POINT-SIZE="8">&nbsp; 30.158ms</FONT>>,edgetooltip="Trace: 9:6, Unk40 -> 72.14.218.40 (RTT: 192.168.1.104 <-> 72.14.218.40 (30.158ms))",labeltooltip="Trace: 9:6, RTT: 192.168.1.104 <-> 72.14.218.40 (30.158ms)"];
	"72.14.218.40" -> "108.170.244.161" [label=<<FONT POINT-SIZE="8">&nbsp; 16.923ms</FONT>>,edgetooltip="Trace: 9:7, 72.14.218.40 -> 108.170.244.161 (RTT: 192.168.1.104 <-> 108.170.244.161 (16.923ms))",labeltooltip="Trace: 9:7, RTT: 192.168.1.104 <-> 108.170.244.161 (16.923ms)"];
	"108.170.244.161" -> "142.250.234.41" [label=<<FONT POINT-SIZE="8">&nbsp; 18.335ms</FONT>>,edgetooltip="Trace: 9:8, 108.170.244.161 -> 142.250.234.41 (RTT: 192.168.1.104 <-> 142.250.234.41 (18.335ms))",labeltooltip="Trace: 9:8, RTT: 192.168.1.104 <-> 142.250.234.41 (18.335ms)"];
	"142.250.234.41" -> "142.250.74.228":ET9:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 17.244ms</FONT>>,edgetooltip="Trace: 9:9, 142.250.234.41 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (17.244ms))",labeltooltip="Trace: 9:9, RTT: 192.168.1.104 <-> 142.250.74.228 (17.244ms)"];
	### T10 -> ('192.168.1.104', '142.250.74.228', 6, 443) ###
	edge [color="#40a040"];
	"192.168.1.104":BT10:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 84.860ms</FONT>>,edgetooltip="Trace: 10:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (84.860ms))",labeltooltip="Trace: 10:1, RTT: 192.168.1.104 <-> 192.168.1.1 (84.860ms)"];
	"192.168.1.1" -> "Unk41" [edgetooltip="Trace: 10:2, 192.168.1.1 -> Unk41"];
	"Unk41" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 23.888ms</FONT>>,edgetooltip="Trace: 10:3, Unk41 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (23.888ms))",labeltooltip="Trace: 10:3, RTT: 192.168.1.104 <-> 193.253.94.198 (23.888ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 39.121ms</FONT>>,edgetooltip="Trace: 10:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (39.121ms))",labeltooltip="Trace: 10:4, RTT: 192.168.1.104 <-> 193.252.160.53 (39.121ms)"];
	"193.252.160.53" -> "Unk42" [edgetooltip="Trace: 10:5, 193.252.160.53 -> Unk42"];
	"Unk42" -> "72.14.210.158" [label=<<FONT POINT-SIZE="8">&nbsp; 17.921ms</FONT>>,edgetooltip="Trace: 10:6, Unk42 -> 72.14.210.158 (RTT: 192.168.1.104 <-> 72.14.210.158 (17.921ms))",labeltooltip="Trace: 10:6, RTT: 192.168.1.104 <-> 72.14.210.158 (17.921ms)"];
	"72.14.210.158" -> "72.14.233.77" [label=<<FONT POINT-SIZE="8">&nbsp; 18.740ms</FONT>>,edgetooltip="Trace: 10:7, 72.14.210.158 -> 72.14.233.77 (RTT: 192.168.1.104 <-> 72.14.233.77 (18.740ms))",labeltooltip="Trace: 10:7, RTT: 192.168.1.104 <-> 72.14.233.77 (18.740ms)"];
	"72.14.233.77" -> "142.250.234.41" [label=<<FONT POINT-SIZE="8">&nbsp; 19.503ms</FONT>>,edgetooltip="Trace: 10:8, 72.14.233.77 -> 142.250.234.41 (RTT: 192.168.1.104 <-> 142.250.234.41 (19.503ms))",labeltooltip="Trace: 10:8, RTT: 192.168.1.104 <-> 142.250.234.41 (19.503ms)"];
	"142.250.234.41" -> "142.250.74.228":ET10:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 17.730ms</FONT>>,edgetooltip="Trace: 10:9, 142.250.234.41 -> 142.250.74.228 (RTT: 192.168.1.104 <-> 142.250.74.228 (17.730ms))",labeltooltip="Trace: 10:9, RTT: 192.168.1.104 <-> 142.250.74.228 (17.730ms)"];
	### T11 -> ('192.168.1.104', '64.226.122.113', 6, 80) ###
	edge [color="#407020"];
	"192.168.1.104":BT11:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 2.762ms</FONT>>,edgetooltip="Trace: 11:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (2.762ms))",labeltooltip="Trace: 11:1, RTT: 192.168.1.104 <-> 192.168.1.1 (2.762ms)"];
	"192.168.1.1" -> "Unk43" [edgetooltip="Trace: 11:2, 192.168.1.1 -> Unk43"];
	"Unk43" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 37.762ms</FONT>>,edgetooltip="Trace: 11:3, Unk43 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (37.762ms))",labeltooltip="Trace: 11:3, RTT: 192.168.1.104 <-> 193.253.94.198 (37.762ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 14.929ms</FONT>>,edgetooltip="Trace: 11:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (14.929ms))",labeltooltip="Trace: 11:4, RTT: 192.168.1.104 <-> 193.252.160.53 (14.929ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 12.022ms</FONT>>,edgetooltip="Trace: 11:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (12.022ms))",labeltooltip="Trace: 11:5, RTT: 192.168.1.104 <-> 193.252.160.45 (12.022ms)"];
	"193.252.160.45" -> "Unk44" [edgetooltip="Trace: 11:6, 193.252.160.45 -> Unk44"];
	"Unk44" -> "Unk45" [edgetooltip="Trace: 11:7, Unk44 -> Unk45"];
	"Unk45" -> "Unk46" [edgetooltip="Trace: 11:8, Unk45 -> Unk46"];
	"Unk46" -> "80.231.245.41" [label=<<FONT POINT-SIZE="8">&nbsp; 105.153ms</FONT>>,edgetooltip="Trace: 11:9, Unk46 -> 80.231.245.41 (RTT: 192.168.1.104 <-> 80.231.245.41 (105.153ms))",labeltooltip="Trace: 11:9, RTT: 192.168.1.104 <-> 80.231.245.41 (105.153ms)"];
	"80.231.245.41" -> "Unk47" [edgetooltip="Trace: 11:10, 80.231.245.41 -> Unk47"];
	"Unk47" -> "Unk48" [edgetooltip="Trace: 11:11, Unk47 -> Unk48"];
	"Unk48" -> "Unk49" [edgetooltip="Trace: 11:12, Unk48 -> Unk49"];
	"Unk49" -> "Unk50" [edgetooltip="Trace: 11:13, Unk49 -> Unk50"];
	"Unk50" -> "64.226.122.113":ET11:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 49.476ms</FONT>>,edgetooltip="Trace: 11:14, Unk50 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (49.476ms))",labeltooltip="Trace: 11:14, RTT: 192.168.1.104 <-> 64.226.122.113 (49.476ms)"];
	### T12 -> ('192.168.1.104', '64.226.122.113', 6, 443) ###
	edge [color="#2020a0"];
	"192.168.1.104":BT12:s -> "192.168.1.1" [label=<<FONT POINT-SIZE="8">&nbsp; 5.344ms</FONT>>,edgetooltip="Trace: 12:1, 192.168.1.104 -> 192.168.1.1 (RTT: 192.168.1.104 <-> 192.168.1.1 (5.344ms))",labeltooltip="Trace: 12:1, RTT: 192.168.1.104 <-> 192.168.1.1 (5.344ms)"];
	"192.168.1.1" -> "Unk51" [edgetooltip="Trace: 12:2, 192.168.1.1 -> Unk51"];
	"Unk51" -> "193.253.94.198" [label=<<FONT POINT-SIZE="8">&nbsp; 29.283ms</FONT>>,edgetooltip="Trace: 12:3, Unk51 -> 193.253.94.198 (RTT: 192.168.1.104 <-> 193.253.94.198 (29.283ms))",labeltooltip="Trace: 12:3, RTT: 192.168.1.104 <-> 193.253.94.198 (29.283ms)"];
	"193.253.94.198" -> "193.252.160.53" [label=<<FONT POINT-SIZE="8">&nbsp; 10.805ms</FONT>>,edgetooltip="Trace: 12:4, 193.253.94.198 -> 193.252.160.53 (RTT: 192.168.1.104 <-> 193.252.160.53 (10.805ms))",labeltooltip="Trace: 12:4, RTT: 192.168.1.104 <-> 193.252.160.53 (10.805ms)"];
	"193.252.160.53" -> "193.252.160.45" [label=<<FONT POINT-SIZE="8">&nbsp; 12.579ms</FONT>>,edgetooltip="Trace: 12:5, 193.252.160.53 -> 193.252.160.45 (RTT: 192.168.1.104 <-> 193.252.160.45 (12.579ms))",labeltooltip="Trace: 12:5, RTT: 192.168.1.104 <-> 193.252.160.45 (12.579ms)"];
	"193.252.160.45" -> "Unk52" [edgetooltip="Trace: 12:6, 193.252.160.45 -> Unk52"];
	"Unk52" -> "80.231.246.26" [label=<<FONT POINT-SIZE="8">&nbsp; 39.247ms</FONT>>,edgetooltip="Trace: 12:7, Unk52 -> 80.231.246.26 (RTT: 192.168.1.104 <-> 80.231.246.26 (39.247ms))",labeltooltip="Trace: 12:7, RTT: 192.168.1.104 <-> 80.231.246.26 (39.247ms)"];
	"80.231.246.26" -> "Unk53" [edgetooltip="Trace: 12:8, 80.231.246.26 -> Unk53"];
	"Unk53" -> "Unk54" [edgetooltip="Trace: 12:9, Unk53 -> Unk54"];
	"Unk54" -> "Unk55" [edgetooltip="Trace: 12:10, Unk54 -> Unk55"];
	"Unk55" -> "Unk56" [edgetooltip="Trace: 12:11, Unk55 -> Unk56"];
	"Unk56" -> "Unk57" [edgetooltip="Trace: 12:12, Unk56 -> Unk57"];
	"Unk57" -> "Unk58" [edgetooltip="Trace: 12:13, Unk57 -> Unk58"];
	"Unk58" -> "64.226.122.113":ET12:n [style="solid",label=<<FONT POINT-SIZE="8">&nbsp; 42.210ms</FONT>>,edgetooltip="Trace: 12:14, Unk58 -> 64.226.122.113 (RTT: 192.168.1.104 <-> 64.226.122.113 (42.210ms))",labeltooltip="Trace: 12:14, RTT: 192.168.1.104 <-> 64.226.122.113 (42.210ms)"];

	### Decoration For Unknown (Unkn) Node Hops ###
	"Unk0" [tooltip="Trace: 1:2, Unknown Hop: Unk0",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk1" [tooltip="Trace: 1:5, Unknown Hop: Unk1",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk2" [tooltip="Trace: 2:2, Unknown Hop: Unk2",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk3" [tooltip="Trace: 2:5, Unknown Hop: Unk3",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk4" [tooltip="Trace: 3:2, Unknown Hop: Unk4",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk5" [tooltip="Trace: 3:6, Unknown Hop: Unk5",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk6" [tooltip="Trace: 3:7, Unknown Hop: Unk6",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk7" [tooltip="Trace: 3:8, Unknown Hop: Unk7",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk8" [tooltip="Trace: 3:11, Unknown Hop: Unk8",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk9" [tooltip="Trace: 3:12, Unknown Hop: Unk9",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk10" [tooltip="Trace: 3:13, Unknown Hop: Unk10",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk11" [tooltip="Trace: 4:2, Unknown Hop: Unk11",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk12" [tooltip="Trace: 4:6, Unknown Hop: Unk12",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk13" [tooltip="Trace: 4:7, Unknown Hop: Unk13",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk14" [tooltip="Trace: 4:8, Unknown Hop: Unk14",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk15" [tooltip="Trace: 4:11, Unknown Hop: Unk15",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk16" [tooltip="Trace: 4:12, Unknown Hop: Unk16",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk17" [tooltip="Trace: 4:13, Unknown Hop: Unk17",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk18" [tooltip="Trace: 5:2, Unknown Hop: Unk18",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk19" [tooltip="Trace: 5:5, Unknown Hop: Unk19",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk20" [tooltip="Trace: 6:2, Unknown Hop: Unk20",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk21" [tooltip="Trace: 6:5, Unknown Hop: Unk21",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk22" [tooltip="Trace: 7:2, Unknown Hop: Unk22",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk23" [tooltip="Trace: 7:6, Unknown Hop: Unk23",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk24" [tooltip="Trace: 7:7, Unknown Hop: Unk24",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk25" [tooltip="Trace: 7:8, Unknown Hop: Unk25",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk26" [tooltip="Trace: 7:9, Unknown Hop: Unk26",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk27" [tooltip="Trace: 7:10, Unknown Hop: Unk27",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk28" [tooltip="Trace: 7:11, Unknown Hop: Unk28",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk29" [tooltip="Trace: 7:12, Unknown Hop: Unk29",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk30" [tooltip="Trace: 7:13, Unknown Hop: Unk30",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk31" [tooltip="Trace: 8:2, Unknown Hop: Unk31",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk32" [tooltip="Trace: 8:6, Unknown Hop: Unk32",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk33" [tooltip="Trace: 8:7, Unknown Hop: Unk33",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk34" [tooltip="Trace: 8:9, Unknown Hop: Unk34",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk35" [tooltip="Trace: 8:10, Unknown Hop: Unk35",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk36" [tooltip="Trace: 8:11, Unknown Hop: Unk36",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk37" [tooltip="Trace: 8:12, Unknown Hop: Unk37",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk38" [tooltip="Trace: 8:13, Unknown Hop: Unk38",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk39" [tooltip="Trace: 9:2, Unknown Hop: Unk39",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk40" [tooltip="Trace: 9:5, Unknown Hop: Unk40",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk41" [tooltip="Trace: 10:2, Unknown Hop: Unk41",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk42" [tooltip="Trace: 10:5, Unknown Hop: Unk42",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk43" [tooltip="Trace: 11:2, Unknown Hop: Unk43",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk44" [tooltip="Trace: 11:6, Unknown Hop: Unk44",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk45" [tooltip="Trace: 11:7, Unknown Hop: Unk45",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk46" [tooltip="Trace: 11:8, Unknown Hop: Unk46",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk47" [tooltip="Trace: 11:10, Unknown Hop: Unk47",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk48" [tooltip="Trace: 11:11, Unknown Hop: Unk48",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk49" [tooltip="Trace: 11:12, Unknown Hop: Unk49",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk50" [tooltip="Trace: 11:13, Unknown Hop: Unk50",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk51" [tooltip="Trace: 12:2, Unknown Hop: Unk51",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk52" [tooltip="Trace: 12:6, Unknown Hop: Unk52",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk53" [tooltip="Trace: 12:8, Unknown Hop: Unk53",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk54" [tooltip="Trace: 12:9, Unknown Hop: Unk54",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk55" [tooltip="Trace: 12:10, Unknown Hop: Unk55",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk56" [tooltip="Trace: 12:11, Unknown Hop: Unk56",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk57" [tooltip="Trace: 12:12, Unknown Hop: Unk57",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];
	"Unk58" [tooltip="Trace: 12:13, Unknown Hop: Unk58",shape="egg",fontname="Sans-Serif",fontsize=9,height=0.2,width=0.2,color="black",gradientangle=270,fillcolor="white:#d8d8d8",style="filled"];

	### Tooltip for Standalone Node Hops ###
	"193.253.94.198" [tooltip="Hop Host: 193.253.94.198"];
	"193.252.160.53" [tooltip="Hop Host: 193.252.160.53"];
	"193.252.160.45" [tooltip="Hop Host: 193.252.160.45"];
}

from trippy.

fujiapple852 avatar fujiapple852 commented on June 11, 2024

That's great! I should be able to emulate something akin to that.

One challenge here is the treatment of "unknown" nodes, Trippy currently conflates all unknown nodes into a single node as part of the DOT report which can be misleading when there are actually multiple unknown nodes. I think the options are to have:

  • One unknown node
  • An unknown node per ttl
  • All unknown nodes observed across all paths

The 1st option is what Trippy does today which isn't great. It appear from the example you have shared that Scapy chooses the 3rd option which leads to a lot of "duplicate" unknown nodes (58 in your example). Perhaps the 2nd option is a good compromise? Again, this would be something that would be nice to expose to users as an option as there seems to be no clear "right" answer.

from trippy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.