Überwachung von PCs

Hi,

ich suche ein Tool oder eine Anleitung zum Programmieren, um feststellen zu können ob bestimmte PCs im LAN eingeschaltet sind.

Alle PCs im LAN haben feste IP-Adressen.

Der ping Befehl ist mir bekannt.

Ich möchte aber ein kleines Fenster haben in dem steht: PC1 ein, PC2 aus, PC3 aus, … und in dem die Daten automatisch, ca. ein mal pro Minute, aktualisiert werden.

Vielen Dank für die Antworten.

Hi,

ich suche ein Tool oder eine Anleitung zum Programmieren, um
feststellen zu können ob bestimmte PCs im LAN eingeschaltet
sind.

Alle PCs im LAN haben feste IP-Adressen.

Der ping Befehl ist mir bekannt.

Ich möchte aber ein kleines Fenster haben in dem steht: PC1
ein, PC2 aus, PC3 aus, … und in dem die Daten automatisch,
ca. ein mal pro Minute, aktualisiert werden.

Programmieren ist recht einfach, sofern perl samt libnet installiert ist, tut es ein (etwas längerer) Einzeiler:

perl -MNet::stuck\_out\_tongue:ing -e '$p=Net::stuck\_out\_tongue:ing-\>new("icmp");while(1) { for $i (1..20,30) { print "$i: \t".($p-\>ping("192.168.0.$i")?"An":"Aus")."\n" }; print "\n\n";sleep(60);}'

Das „Fenster“ ist dann aber eine Textconsole, statt 1…20,30 und der IP sind die richtigen Daten einzusetzen.

Alexander

Hi,

ob es sich automatisch alle Minute aktualisiert weiß ich jetzt nicht, das Programm ist Shareware (Lizenz 25,00 €) und zeigt Dir bspw. die IP-Adressen an (siehe diesen Screenshot http://www.profiler3d.de/download/Scannet/Scannet_sc…) und Du bleibst in der gewohnten Windowsumgebung.

http://www.profiler3d.de/prod01.htm

Gruß Christian

Programmieren ist recht einfach, sofern perl samt libnet
installiert ist, tut es ein (etwas längerer) Einzeiler:

perl -MNet::stuck_out_tongue:ing -e ‚$p=Net::stuck_out_tongue:ing->new(„icmp“);while(1) {
for $i (1…20,30) { print „$i:
\t“.($p->ping(„192.168.0.$i“)?„An“:„Aus“)."\n" }; print
„\n\n“;sleep(60);}‘

Das „Fenster“ ist dann aber eine Textconsole, statt 1…20,30
und der IP sind die richtigen Daten einzusetzen.

Alexander

Perl ist nicht vorhanden.

Kann das so ähnlich auch als Batch oder in BASIC laufen?

Basic Compiler wäre vorhanden.

Danke für die Antwort, aber das Tool ist zu komplex.

Dann kann ich auch Superscan oder LANGuard nehmen.

Und die automatische Aktualisierung fehlt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Kann das so ähnlich auch als Batch oder in BASIC laufen?

In Basic ja, Auf www.planetsoucecode.com findeset Du einen passenden Quellcode für VB6.0
cu Rainer

Hallo,

Kann das so ähnlich auch als Batch oder in BASIC laufen?

In Basic ja, Auf www.planetsoucecode.com findeset Du einen
passenden Quellcode für VB6.0
cu Rainer

Danke, aber ich programmiere eher altmodisch mit DOS-Basic.

PS: der Link ist falsch.

www.planetsourcecode.com

Hallo,

PS: der Link ist falsch.

www.planetsourcecode.com

danke, war 'n Tippfehler, nicht bemerkt.
Wenn Du nichts bekommst und ich merke es nicht, dann mail mal, ich schreibe Dir das dann schnell in VB. Mit QBasic wird’s nicht gehen.

cu Rainer

LOL - die QBasic-Lösung

Danke, aber ich programmiere eher altmodisch mit DOS-Basic.

Intervall = 60 : REM Aktualisierungsintervall in Sekunden

REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* Hier stehen die PC Namen und die zugehörigen IP-Adressen im LAN
REM \*\*\* Letzter Eintrag muss "DATA ," sein!
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
DATA "PC01", "192.168.0.1"
DATA "PC02", "192.168.0.2"
DATA "PC03", "192.168.0.9"
DATA "PC04", "192.168.0.17"
DATA ,

REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* Generieren C:\LANping.bat
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

OPEN "C:\LANping.bat" FOR OUTPUT AS #1
PRINT #1, "@echo off"
PRINT #1, "echo. \>C:\pingecho.dat"

READ PC$, IPS$

WHILE PC$ ""
 PRINT #1, "echo Host: "; PC$; "("; IP$; ") \>\>C:\pingecho.dat"
 PRINT #1, "ping "; IP$; " -a -n 1 -w 30 \>\>C:\pingecho.dat"
 READ PC$, IP$
WEND

PRINT #1, "EXIT"

CLOSE #1

REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* ausführen C:\LANping.bat und Schleife bis eine Taste gedrückt wird
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

GOSUB 1000

IF Intervall 1 THEN
 COLOR flag
 PRINT output$
 flag = 0
 COLOR 7
 END IF

 LINE INPUT #1, in$
WEND

CLOSE #1

PRINT : PRINT "Für Abbruch eine Taste drücken!"

RETURN

Na dann mal viel Spass :smile:

Gruß
Christian

REM ***********************************
REM *** Auswertung und Ausgabe
REM ***********************************

1000 CLS
PRINT DATE$; " "; TIME$: PRINT

SHELL „C:\LANping.bat“

OPEN „C:\LANecho.dat“ FOR INPUT AS #1

musst Du in

OPEN „C:\pingecho.dat“ FOR INPUT AS #1

ändern, sonst geht es nicht :smile:

Danke für den Quelltext.

Werde ich mal Compilieren und testen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich hab noch einen Fehler drinnen

READ PC$, IPS$

WHILE PC$ „“
PRINT #1, "echo Host: "; PC$; „(“; IP$; „)
>>C:\pingecho.dat“
PRINT #1, "ping „; IP$; " -a -n 1 -w 30
>>C:\pingecho.dat“
READ PC$, IP$
WEND

muss

READ PC$, IP$

heissen

Hallo,
wenn Du doch ein VB-Tool testen willst, ich hatte Lust zum Tippen. :wink:

bau-site.de/IP-Sentinel.zip

Einfach installieren und starten. Der Rest sollte selbsterklärend sein, so kompliziert ist’s ja nicht. :wink:
Schade, war zu leicht. ;-(

cu Rainer

die Lösung für Basic Compiler
@carnivora

Vielen Dank noch einmal für das Listing.

Der Basic Compiler mochte einige Variablennamen nicht, da sie Befehlen zugeordnet sind.

Hier das komplette lauffähige Listng:

Intervall = 60 : REM Aktualisierungsintervall in Sekunden
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* Hier stehen die PC Namen und die zugehörigen IP-Adressen im LAN
REM \*\*\* Letzter Eintrag muss "DATA ," sein!
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
DATA "PC1", "192.168.0.1"
DATA "PC2", "192.168.0.10"
DATA "PC3", "192.168.0.20"
DATA "PC4", "192.168.0.30"
DATA ,
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* Generieren C:\LANping.bat
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
OPEN "C:\LANping.bat" FOR OUTPUT AS #1
PRINT #1, "@echo off"
PRINT #1, "echo. \>C:\pingecho.dat"
RESTORE
READ PC$, IP$
WHILE PC$ ""
PRINT #1, "echo Host: "; PC$; "("; IP$; ") \>\>C:\pingecho.dat"
PRINT #1, "ping "; IP$; " -n 1 -w 30 \>\>C:\pingecho.dat"
REM PRINT #1, "ping "; IP$; "-a -n 1 -w 30 \>\>C:\pingecho.dat":REM nur wenn der Name beim Ping aufgelöst werden soll
READ PC$, IP$
WEND
PRINT #1, "EXIT"
CLOSE #1
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
REM \*\*\* ausführen C:\LANping.bat und Schleife bis eine Taste gedrückt wird
REM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
GOSUB 1000
IF Intervall 1 THEN
 COLOR flag
 PRINT outpu$
 flag = 0
 COLOR 7
 END IF
 LINE INPUT #1, inpu$
WEND
CLOSE #1
PRINT : PRINT "Für Abbruch eine Taste drücken!"
RETURN