Merge pull request #414 from cvc90/Pi.Alert-New-Tracert-Tool
Added new tool "Tracert" in the "Tools" tab
This commit is contained in:
@@ -8,7 +8,7 @@ ENV USER=pi USER_ID=1000 USER_GID=1000 PORT=20211
|
|||||||
# Todo, do we still need all these packages? I can already see sudo which isn't needed
|
# Todo, do we still need all these packages? I can already see sudo which isn't needed
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install --no-install-recommends tini snmp ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo nginx-light php php-cgi php-fpm php-sqlite3 php-curl sqlite3 dnsutils net-tools python3 iproute2 nmap python3-pip zip systemctl usbutils -y \
|
&& apt-get install --no-install-recommends tini snmp ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo nginx-light php php-cgi php-fpm php-sqlite3 php-curl sqlite3 dnsutils net-tools python3 iproute2 nmap python3-pip zip systemctl usbutils traceroute -y \
|
||||||
&& pip3 install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi \
|
&& pip3 install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi \
|
||||||
&& update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
|
&& update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
|
||||||
&& apt-get clean autoclean \
|
&& apt-get clean autoclean \
|
||||||
|
|||||||
@@ -649,6 +649,35 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if ($_REQUEST['mac'] != 'Internet') {
|
||||||
|
?>
|
||||||
|
<h4 class=""><i class="fa-solid fa-route"></i> <?= lang('DevDetail_Tab_Tools_Traceroute_Title');?></h4>
|
||||||
|
<h5 class=""><?= lang('DevDetail_Tab_Tools_Traceroute_Description');?></h5>
|
||||||
|
<div style="width:100%; text-align: center; margin-bottom: 50px;">
|
||||||
|
<button type="button" id="traceroute" class="btn btn-primary pa-btn" style="margin: auto;" onclick="traceroute()"><?= lang('DevDetail_Tab_Tools_Traceroute_Start');?></button>
|
||||||
|
<br><div id="tracerouteoutput" style="margin-top: 10px;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function traceroute() {
|
||||||
|
|
||||||
|
$( "#tracerouteoutput" ).empty();
|
||||||
|
$.ajax({
|
||||||
|
method: "GET",
|
||||||
|
url: "./php/server/traceroute.php?action=get&ip=" + document.getElementById('txtLastIP').value + "",
|
||||||
|
beforeSend: function() { $('#tracerouteoutput').addClass("ajax_scripts_loading"); },
|
||||||
|
complete: function() { $('#tracerouteoutput').removeClass("ajax_scripts_loading"); },
|
||||||
|
success: function(data, textStatus) {
|
||||||
|
$("#tracerouteoutput").html(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- tab page 3 ------------------------------------------------------------ -->
|
<!-- tab page 3 ------------------------------------------------------------ -->
|
||||||
|
|||||||
40
front/php/server/traceroute.php
Normal file
40
front/php/server/traceroute.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Pi.Alert #
|
||||||
|
# Open Source Network Guard / WIFI & LAN intrusion detector #
|
||||||
|
# #
|
||||||
|
# traceroute.php # Front module. Server side. System Information #
|
||||||
|
###################################################################################
|
||||||
|
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
|
||||||
|
# jokob-sk 2022 jokob.sk@gmail.com GNU GPLv3 #
|
||||||
|
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
|
||||||
|
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
// Get init.php
|
||||||
|
require dirname(__FILE__).'/../server/init.php';
|
||||||
|
|
||||||
|
// Get IP
|
||||||
|
$ip = $_GET['ip'];
|
||||||
|
|
||||||
|
// Check if IP is valid
|
||||||
|
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
|
||||||
|
// Error message
|
||||||
|
$output = lang('DevDetail_Tab_Tools_Traceroute_Error');
|
||||||
|
// Show the result
|
||||||
|
echo "<pre>";
|
||||||
|
echo $output;
|
||||||
|
echo "</pre>";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test with the "Traceroute" command
|
||||||
|
$output = shell_exec("traceroute $ip");
|
||||||
|
|
||||||
|
// Show the result
|
||||||
|
echo "<pre>";
|
||||||
|
echo $output;
|
||||||
|
echo "</pre>";
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -125,6 +125,10 @@
|
|||||||
"DevDetail_Tab_Tools_Speedtest_Title": "Speedtest test",
|
"DevDetail_Tab_Tools_Speedtest_Title": "Speedtest test",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Description": "Das Speedtest-Tool misst die Download-Geschwindigkeit, Upload-Geschwindigkeit und Latenz der Internetverbindung.",
|
"DevDetail_Tab_Tools_Speedtest_Description": "Das Speedtest-Tool misst die Download-Geschwindigkeit, Upload-Geschwindigkeit und Latenz der Internetverbindung.",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Start": "Speedtest starten",
|
"DevDetail_Tab_Tools_Speedtest_Start": "Speedtest starten",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute ist ein Netzwerkdiagnosebefehl, mit dem der Pfad verfolgt wird, den Datenpakete von einem Host zu einem anderen nehmen.<br><br>Der Befehl verwendet das Internet Control Message Protocol (ICMP), um Pakete an Zwischenknoten auf der Route zu senden, jeden Zwischenknoten Der Knoten antwortet mit einem ICMP-Timeout-Paket (TTL-Zeitüberschreitung).<br><br>Die Ausgabe des Traceroute-Befehls zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Die Ausgabe der Traceroute Der Befehl zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Der Befehl „traceroute“ kann zur Diagnose von Netzwerkproblemen wie Verzögerungen, Paketverlust und blockierten Routen verwendet werden.<br><br>Das ist auch möglich kann verwendet werden, um den Standort eines Zwischenknotens in einem Netzwerk zu identifizieren.",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Start": "Traceroute starten",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ungültig",
|
||||||
"DevDetail_Tab_Nmap" : "Nmap",
|
"DevDetail_Tab_Nmap" : "Nmap",
|
||||||
"DevDetail_Tab_NmapTableIndex": "Index",
|
"DevDetail_Tab_NmapTableIndex": "Index",
|
||||||
"DevDetail_Tab_NmapTableTime": "Zeit",
|
"DevDetail_Tab_NmapTableTime": "Zeit",
|
||||||
|
|||||||
@@ -148,6 +148,10 @@
|
|||||||
"DevDetail_Tab_Tools_Speedtest_Title" : "Online Speedtest",
|
"DevDetail_Tab_Tools_Speedtest_Title" : "Online Speedtest",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Description" : "The Speedtest tool measures the download speed, upload speed and latency of the internet connection.",
|
"DevDetail_Tab_Tools_Speedtest_Description" : "The Speedtest tool measures the download speed, upload speed and latency of the internet connection.",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Start" : "Start Speedtest",
|
"DevDetail_Tab_Tools_Speedtest_Start" : "Start Speedtest",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute is a network diagnostic command used to trace the path that data packets take from one host to another.<br><br>The command uses the Internet Control Message Protocol (ICMP) to send packets to intermediate nodes on the route, each intermediate node responds with an ICMP time-out (TTL timed out) packet.<br><br>The output of the traceroute command displays the IP address of each intermediate node on the route.<br><br>The output of the traceroute command displays the IP address of each intermediate node on the route.<br><br>The traceroute command can be used to diagnose network problems, such as delays, packet loss, and blocked routes.<br><br>It can also be used to identify the location of an intermediate node on a network.",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Start": "Start Traceroute",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Error": "Error: IP address is not valid",
|
||||||
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
|
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
|
||||||
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sessions",
|
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sessions",
|
||||||
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Presence",
|
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Presence",
|
||||||
|
|||||||
@@ -148,6 +148,10 @@
|
|||||||
"DevDetail_Tab_Tools_Speedtest_Title": "Prueba Speedtest",
|
"DevDetail_Tab_Tools_Speedtest_Title": "Prueba Speedtest",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexión a Internet.",
|
"DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexión a Internet.",
|
||||||
"DevDetail_Tab_Tools_Speedtest_Start": "Iniciar Speedtest",
|
"DevDetail_Tab_Tools_Speedtest_Start": "Iniciar Speedtest",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute es un comando de diagnóstico de red que se utiliza para rastrear la ruta que toman los paquetes de datos desde un host a otro.<br><br>El comando utiliza el protocolo de mensajes de control de Internet (ICMP) para enviar paquetes a los nodos intermedios en la ruta, cada nodo intermedio responde con un paquete ICMP de tiempo de vida agotado (TTL agotado).<br><br>La salida del comando traceroute muestra la dirección IP de cada nodo intermedio en la ruta.<br><br>El comando traceroute se puede usar para diagnosticar problemas de red, como retrasos, pérdida de paquetes y rutas bloqueadas.<br><br>También se puede usar para identificar la ubicación de un nodo intermedio en una red.",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute",
|
||||||
|
"DevDetail_Tab_Tools_Traceroute_Error": "Error: la dirección IP no es válida",
|
||||||
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
|
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
|
||||||
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sesiones",
|
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sesiones",
|
||||||
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Historial",
|
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Historial",
|
||||||
|
|||||||
Reference in New Issue
Block a user