|
You last visited: Today at 01:14
Advertisement
Website um PC's anzupingen & Status anzeigen
Discussion on Website um PC's anzupingen & Status anzeigen within the Web Development forum part of the Coders Den category.
07/10/2019, 11:26
|
#1
|
elite*gold: 1
Join Date: Jun 2013
Posts: 272
Received Thanks: 5
|
Website um PC's anzupingen & Status anzeigen
Heyo,
Ich möchte eine Website entwickeln welche mehrere PC's anpingt und deren Status bestimmt, ob sie Online sind oder nicht.
Ebenfalls sollte man neue PC's über die Website hinzufügen können.
Welche Programmiersprache wäre die geeignetste hierfür?
Wie kann ich einen Ping befehl auslesen, sodass der Wert den Status auf Online/Offline setzt?
Wie soll die Funktion aussehen einen neuen PC hinzuzufügen, meine Idee wäre nur über die MAC-Adresse
LG
|
|
|
07/10/2019, 12:33
|
#2
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Ich hoffe du bist dir über die Topologie des Internets im Klaren, ansonsten wird dieses Projekt eine ziemliche Enttäuschung für dich.
Für  und  brauchst du raw sockets.  ,  ,  ,  , ... gibt viele die das können. Alternativ kannst du auch einfach das ping-programm vom Betriebssystem ausführen (siehe z.B. PHP  ,  ,  ). Dann musst du dich nicht um Netzwerkkram kümmern.
Wenn du den PC anhand der MAC hinzufügen willst, brauchst du ARP. Ansonsten kommst du nicht an die IP.
Mein Tipp: Führ erstmal den Ping Befehl aus und werte die Ausgabe aus.
Geheimtipp: ExitCode / ErrorLevel
Code:
C:\Users\florian0>ping -n 1 127.0.0.1
Ping wird ausgeführt für 127.0.0.1 mit 32 Bytes Daten:
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Ping-Statistik für 127.0.0.1:
Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
C:\Users\florian0>echo %ERRORLEVEL%
0
C:\Users\florian0>ping -n 1 1.2.4.5
Ping wird ausgeführt für 1.2.4.5 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Ping-Statistik für 1.2.4.5:
Pakete: Gesendet = 1, Empfangen = 0, Verloren = 1
(100% Verlust),
C:\Users\florian0>echo %ERRORLEVEL%
1
Code:
florian0@florian0-PC ~ $ ping 127.0.0.1 -c 1 > /dev/null && echo online || echo offline
online
florian0@florian0-PC ~ $ ping 1.2.4.5 -c 1 > /dev/null && echo online || echo offline
offline
|
|
|
07/10/2019, 13:52
|
#3
|
elite*gold: 1
Join Date: Jun 2013
Posts: 272
Received Thanks: 5
|
Quote:
Originally Posted by florian0
Ich hoffe du bist dir über die Topologie des Internets im Klaren, ansonsten wird dieses Projekt eine ziemliche Enttäuschung für dich.
Für  und  brauchst du raw sockets.  ,  ,  ,  , ... gibt viele die das können. Alternativ kannst du auch einfach das ping-programm vom Betriebssystem ausführen (siehe z.B. PHP  ,  ,  ). Dann musst du dich nicht um Netzwerkkram kümmern.
Wenn du den PC anhand der MAC hinzufügen willst, brauchst du ARP. Ansonsten kommst du nicht an die IP.
Mein Tipp: Führ erstmal den Ping Befehl aus und werte die Ausgabe aus.
Geheimtipp: ExitCode / ErrorLevel
Code:
C:\Users\florian0>ping -n 1 127.0.0.1
Ping wird ausgeführt für 127.0.0.1 mit 32 Bytes Daten:
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Ping-Statistik für 127.0.0.1:
Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
C:\Users\florian0>echo %ERRORLEVEL%
0
C:\Users\florian0>ping -n 1 1.2.4.5
Ping wird ausgeführt für 1.2.4.5 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Ping-Statistik für 1.2.4.5:
Pakete: Gesendet = 1, Empfangen = 0, Verloren = 1
(100% Verlust),
C:\Users\florian0>echo %ERRORLEVEL%
1
Code:
florian0@florian0-PC ~ $ ping 127.0.0.1 -c 1 > /dev/null && echo online || echo offline
online
florian0@florian0-PC ~ $ ping 1.2.4.5 -c 1 > /dev/null && echo online || echo offline
offline
|
Ich selber kenne nur die Basics von HTML/C++/C#/Java.. Wurde von meiner Ausbildungsstelle gefragt ob das möglich wäre für unser Intranet.
Ich dachte mir das es gut realisierbar wäre mit einem Backend das die PC's anpingt und ein HTML Frontend das es anzeigt.
Geht es hier nicht größtenteils nur um den Rückgabewert des Pings den ich auslesen muss und mit einer If/else die den Status auf Grün/Rot setzt?
PC anhand von MAC muss nicht sein wenn es noch eine andere Möglichkeit gibt...
Die PC's die angepingt werden laufen auf Linux alle
|
|
|
07/10/2019, 16:17
|
#4
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Quote:
Originally Posted by Isamani
Ich dachte mir das es gut realisierbar wäre mit einem Backend das die PC's anpingt und ein HTML Frontend das es anzeigt.
Geht es hier nicht größtenteils nur um den Rückgabewert des Pings den ich auslesen muss und mit einer If/else die den Status auf Grün/Rot setzt?
|
Front und Backend trennen ist auf jeden Fall eine gute Idee. Jenachdem wie viele Hosts du hast dauert das natürlich zu laden.
Und ja, im Endeffekt gehts nur um das Auswerten des Pings. Im Hintergrund noch irgendwas Datenbankähnliches und dann nen Cronjob der zyklisch IPs anpingt.
Das Problem mit den MAC-Addressen ist halt, das diese an Routern "verloren" gehen. Sobald ein Router dazwischen ist, siehst du die MAC-Adresse des PCs nicht mehr und hast auch keine (wenig) Chancen damit noch was sinnvolles anzufangen. Eine MAC kann man auch nicht wirklich pingen. Zumindest gibts kein Tool dafür. Mit arp -a kommst du an die ARP-Table, da müssen aber nicht zwingend alle MACs drinstehen.
Theoretisch könntet ihr auch ein Monitoringtool wie Nagios oder Zabbix einsetzen. Das macht genau das was du entwickeln möchtest (und noch viel mehr). Wenns nur um Ping geht ists natürlich overkill. Aber wenn ihr plant evtl. noch andere Sachen zu monitoren wäre das mal einen Gedanken wert.
|
|
|
07/10/2019, 16:51
|
#5
|
elite*gold: 1
Join Date: Jun 2013
Posts: 272
Received Thanks: 5
|
Quote:
Originally Posted by florian0
Front und Backend trennen ist auf jeden Fall eine gute Idee. Jenachdem wie viele Hosts du hast dauert das natürlich zu laden.
Und ja, im Endeffekt gehts nur um das Auswerten des Pings. Im Hintergrund noch irgendwas Datenbankähnliches und dann nen Cronjob der zyklisch IPs anpingt.
Das Problem mit den MAC-Addressen ist halt, das diese an Routern "verloren" gehen. Sobald ein Router dazwischen ist, siehst du die MAC-Adresse des PCs nicht mehr und hast auch keine (wenig) Chancen damit noch was sinnvolles anzufangen. Eine MAC kann man auch nicht wirklich pingen. Zumindest gibts kein Tool dafür. Mit arp -a kommst du an die ARP-Table, da müssen aber nicht zwingend alle MACs drinstehen.
Theoretisch könntet ihr auch ein Monitoringtool wie Nagios oder Zabbix einsetzen. Das macht genau das was du entwickeln möchtest (und noch viel mehr). Wenns nur um Ping geht ists natürlich overkill. Aber wenn ihr plant evtl. noch andere Sachen zu monitoren wäre das mal einen Gedanken wert.
|
Ich hab jetzt mal ganz billig ne .bat geschrieben welche die Rechner(Haben feste namen im System) anpingt und in eine .log datei schreibt.
Eine Website welche per Button das Script ausführt und die werte aus der Log datei grafisch darstellt wäre jetzt meine Idee dazu
|
|
|
07/11/2019, 10:04
|
#6
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Quote:
Originally Posted by Isamani
Ich hab jetzt mal ganz billig ne .bat geschrieben welche die Rechner(Haben feste namen im System) anpingt und in eine .log datei schreibt.
Eine Website welche per Button das Script ausführt und die werte aus der Log datei grafisch darstellt wäre jetzt meine Idee dazu
|
Theoretisch kannst du die bat datei auch einfach zyklisch ausführen und damit die Webseite generieren. Am Besten in ne temporäre Datei und sobald es fertig ist die "live"-Datei austauschen.
Keine Ahnung wie viel Interaktion ihr wollt. Für nen einfachen Online/Offline anzeiger reichts.
|
|
|
07/11/2019, 12:36
|
#7
|
elite*gold: 1337
Join Date: Apr 2013
Posts: 6,480
Received Thanks: 3,190
|
Alternativ kannst du dir natürlich schnell  aufsetzen und die Werte dann im Frontend mit einer AJAX-Request über ein PHP-Script abfragen.
Die .bat-Datei einfach in einen Cronjob rein für das zyklische Ausführen.
|
|
|
07/11/2019, 15:57
|
#8
|
elite*gold: 1
Join Date: Jun 2013
Posts: 272
Received Thanks: 5
|
Ich hab jetzt die Website fertig vom design her fertig gebaut..
Jetzt fehlt nur noch das beim Websiten aufruf ein script ausgeführt und das logfile eingelesen wird, was die Tabelle dynamisch erzeugen soll.
Wie soll ich das am besten anstellen?
|
|
|
07/11/2019, 16:16
|
#9
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
|
Ich würde mir da keine unnötige Arbeit machen (parsen, cronjob und co), einfach eine vorhandene Lib nehmen z.B.
Dann kannst du beim aufrufen deiner Seite leicht ein ping an die Hosts senden z.B.
PHP Code:
$ping = new Ping("DEINE IP");
$latency = $ping->ping();
Wenn das ganze aktuell sein soll, sprich sich aktualisieren soll verfrachtest du das ganze in ein Script und dieses Script rufst du alle X Sekunden/Minuten via Ajax auf.
|
|
|
Similar Threads
|
[Buying] &&&&&&&&&KAUFE STEAM ACCOUNT! &&&&&&&&&
06/07/2013 - Trading - 1 Replies
Hallo, bin nicht hier um groß zu traden,sondern möchte einen Steam Account kaufen.
Fakten:
Biete maximal 60€ PaySafeCard
Es sollten viele kleine Spiele sowie COD enthalten sein
COD 7-9 sind Pflicht!
Kein VAC/TAC/Valve o.Ä Bann!
|
&&&&&&&&&KAUFE STEAM ACCOUNT! &&&&&&&&&
06/07/2013 - elite*gold Trading - 0 Replies
Hallo, bin nicht hier um groß zu traden,sondern möchte einen Steam Account kaufen.
Fakten:
Biete maximal 60€ PaySafeCard oder kann es auch zu egold machen
Es sollten viele kleine Spiele sowie COD enthalten sein
COD 7-9 sind Pflicht!
Kein VAC/TAC/Valve o.Ä Bann!
|
[Buying] &&&&&&&&&KAUFE STEAM ACCOUNT! &&&&&&&&&
06/07/2013 - Steam Trading - 0 Replies
Hallo, bin nicht hier um groß zu traden,sondern möchte einen Steam Account kaufen.
Fakten:
Biete maximal 60€ PaySafeCard
Es sollten viele kleine Spiele sowie COD enthalten sein
COD 7-9 sind Pflicht!
Kein VAC/TAC/Valve o.Ä Bann!
|
All times are GMT +1. The time now is 01:14.
|
|