-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtraceroute.html
More file actions
89 lines (76 loc) · 3.35 KB
/
traceroute.html
File metadata and controls
89 lines (76 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Traceroute | Troubleshoot Chatbot</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<div class="container">
<div class="decor circle1"></div>
<div class="decor circle2"></div>
<h1>Traceroute</h1>
<div class="tool-container">
<div class="tool-description">
<p>Traceroute shows the path packets take to reach a host and measures transit delays across the network.</p>
</div>
<div class="tool-interface">
<div class="input-group">
<input type="text" id="traceroute-host" placeholder="Enter host or IP" value="google.com">
<button id="traceroute-btn">
<i class="fas fa-play"></i> Run Traceroute
</button>
</div>
<div class="result-container">
<div class="result-header">
<h3>Route Path</h3>
<div class="result-actions">
<button id="copy-traceroute"><i class="fas fa-copy"></i></button>
<button id="clear-traceroute"><i class="fas fa-trash"></i></button>
</div>
</div>
<div class="result-output" id="traceroute-result"></div>
</div>
</div>
<a href="index.html" class="back-btn">
<i class="fas fa-arrow-left"></i> Back to Main
</a>
</div>
</div>
<script>
document.getElementById('traceroute-btn').addEventListener('click', async function() {
const host = document.getElementById('traceroute-host').value;
const resultDiv = document.getElementById('traceroute-result');
resultDiv.textContent = 'Tracing route...';
try {
// In a real implementation, you would call your backend API
// For demo purposes, we'll simulate a response
setTimeout(() => {
resultDiv.textContent = `Tracing route to ${host} [142.250.190.46]
over a maximum of 30 hops:
1 2 ms 1 ms 1 ms 192.168.1.1
2 10 ms 9 ms 11 ms 100.64.0.1
3 12 ms 11 ms 10 ms 96.120.24.33
4 14 ms 13 ms 13 ms 68.85.143.125
5 14 ms 15 ms 14 ms 162.151.78.241
6 15 ms 16 ms 15 ms 142.250.227.109
7 12 ms 11 ms 13 ms 142.250.190.46
Trace complete.`;
}, 2000);
} catch (error) {
resultDiv.textContent = `Error: ${error.message}`;
}
});
// Copy and clear functionality
document.getElementById('copy-traceroute').addEventListener('click', function() {
const result = document.getElementById('traceroute-result').textContent;
navigator.clipboard.writeText(result);
});
document.getElementById('clear-traceroute').addEventListener('click', function() {
document.getElementById('traceroute-result').textContent = '';
});
</script>
</body>
</html>