goodbytes
Goto Top

Überwachung aktiver Remotedesktop-Verbindungen

Hallo,
wie kann ich (möglichst per vbs-Script) in eine Logdatei schreiben, wann eine eingehende Remotedesktop auf meinen XP-Rechner beginnt und dann wieder endet? Dabei egal ob mit Abmeldung oder per Concurrent Session. Es geht dabei nur um die Dokumentation auf dem Zielrechner.

Torsten

Content-ID: 85290

Url: https://administrator.de/forum/ueberwachung-aktiver-remotedesktop-verbindungen-85290.html

Ausgedruckt am: 23.12.2024 um 14:12 Uhr

Paragon
Paragon 12.04.2008 um 00:09:42 Uhr
Goto Top
Probier’s mal mit der evtl. etwas abstrakten aber denke dennoch wirkungsvolle Methode eines Key Loggers wie z.B. aktive Key Logger https://www.regnow.com/softsell/nph-softsell.cgi?styleid=26269&item= ...
(die Seite ist Clean!) Den Report kannst du dir per email in HTML oder Textformat zusenden lassen...
Is vielleicht nicht was du gesucht hast, erfüllt aber trotzdem seinen Zweck.
goodbytes
goodbytes 12.04.2008 um 21:09:18 Uhr
Goto Top
Hi Paragon,
naja, in diese Richtung möchte ich eigentlich nicht gehen.
Nachgedacht habe ich auch schon über eine Auswertung (Übergabe über Pipe) mittels "netstat" in einer Batch (bzw. dann Nutzung in einer vbs).
Allerdings denke ich, dass ich da nur den allgemeinen Status bekomme, aber nicht eine momentan aktive eingehende Verbindung abfragen kann.
Oder sehe ich da was falsch?

Torsten
goodbytes
goodbytes 12.04.2008 um 22:27:14 Uhr
Goto Top
So, hab erstmal einen Test-Ansatz mittels Batch gemacht:

* Anfang *

Set "UHRZEIT = %TIME%"
for /F "tokens=1-3 delims=:," %%i in ("%TIME%") do Set "UHRZEIT=%%i:%%j"

netstat -p TCP | find /i "HERGESTELLT"

IF NOT %ERRORLEVEL% == 0 GOTO ENDE

ECHO %DATE% %UHRZEIT% Remotedesktop-Verbindung zu diesem Rechner "%COMPUTERNAME%" hergestellt !!!

:ENDE
SET UHRZEIT=

* Ende *

Nun habe ich nur noch das Problem, dass ich zwar nach der Zeichenfolge "HERGESTELLT" suche, aber eigentlich noch den Ziel-Port (3389 - zumindestens als Standard) auswerten muss.

Hat da jemand eine Lösung ???

Torsten
proton100
proton100 14.04.2008 um 10:29:46 Uhr
Goto Top
Versuche doch mit dem Linux Grep befehl. den gibt es auch für windows

zu finden unter:
http://gnuwin32.sourceforge.net/packages/grep.htm

Windowsa bietet dir aber auch die möglichkeit per query session alle rdp sitzungen azuzeigen

query session -> Zeigt dir die Session ID an
query user --> Zeigt die Angemeldeten User mit anmeldezeit an
mit query /?
oder query session/? kannste die Hilfe ausgeben.

hoffe dir bringt die Info weiter.
Mit dem Grep befehl kannste dir die Info noch verfeinern.

lg
proton100
n.o.b.o.d.y
n.o.b.o.d.y 14.04.2008 um 11:16:14 Uhr
Goto Top
Hallo,

ich bin mir gerade nicht 100%ig sicher ob das bei XP auch so ist, aber das steht doch im Eventlog.

Ralf
goodbytes
goodbytes 19.04.2008 um 22:17:20 Uhr
Goto Top
Hallo,
nein, im Eventlog steht`s meiner Meinung nicht.

Torsten
goodbytes
goodbytes 19.04.2008 um 22:21:18 Uhr
Goto Top
Hallo,
ich hab mir erstmal meine "Batch-Krücke" so erweitert, dass ich einfach den Standard-Port danach mit abfrage:

Set "UHRZEIT = %TIME%"
for /F "tokens=1-3 delims=:," %%i in ("%TIME%") do Set "UHRZEIT=%%i:%%j"

netstat -p TCP | find /i "HERGESTELLT"
IF NOT %ERRORLEVEL% == 0 GOTO ENDE
netstat -p TCP | find /i "3389"
IF NOT %ERRORLEVEL% == 0 GOTO ENDE

ECHO %DATE% %UHRZEIT% Remotedesktop-Verbindung zu Rechner "%COMPUTERNAME%" hergestellt !!! >> Remote-Desktop.log

Ist nicht schön, geht aber erstmal.
Mit "query" werde ich aber doch mal versuchen was zusammenzubasteln, wenn ich mal ein bissl mehr Zeit habe. Werde meine Lösung dann natürlich auch gleich posten.

Vielen Dank erstmal für die Hilfe !!!

Torsten
goodbytes
goodbytes 19.04.2008 um 22:59:25 Uhr
Goto Top
Hallo,
ja, stimmt, mittels "query session" geht`s ja ganz gut. Wenn ich so auch auf den Usernamen filter klappt es ja.

Hier zumindest die Variante als Batch (mit dem Benutzer "User"):

Set "UHRZEIT = %TIME%"
for /F "tokens=1-3 delims=:," %%i in ("%TIME%") do Set "UHRZEIT=%%i:%%j"

:ANFANG
query session rdp-tcp User | find /i "Aktiv"
IF %ERRORLEVEL% == 0 GOTO AKTIV
SET UHRZEIT=
EXIT

:AKTIV
ECHO %DATE% %UHRZEIT% >> RDP.log
query session rdp-tcp User >> RDP.log
SET UHRZEIT=
EXIT

Kann man ja dann mittels geplantem Task alle paar Minuten aufrufen.
Oder kennt da Jemand eine Lösung per vbs, die dann auch permanent im Hintergrund läuft und auch nur den Beginn und das Ende dieser Session in die Log schreibt? Das wäre die elegantere Lösung.

Torsten
n.o.b.o.d.y
n.o.b.o.d.y 21.04.2008 um 12:20:46 Uhr
Goto Top
Hallo,

könntest Du per Gruppenrichtlinie als Login- und Logout-Skript hinterlegen.

Ralf
proton100
proton100 21.04.2008 um 12:22:05 Uhr
Goto Top
Also ich lasse es bei meiner TS Farm Protokollieren. wann welcher user sich an und ab meldet.

Dies mache ich aber über Gruppenrichtlinien.

Start --> Ausführen --> MMC

Dort Snap In hinzufügen
Gruppenrichtlinien auswählen
dort unter:

Computerrichtlinien --> Windows Einstellungen --> Start/Herunterfahren

Dort kannste Scripte hinterlegen.

Habe da halt nen Batch geproggt

mit folgendem inhalt
echo %username%;%computername%;%time%;%date% >> c:\logs\%date%_start.log

und beim beednen
echo %username%;%computername%;%time%;%date% >> c:\logs\%date%_ende.log

Vielliecht hilft dir das weiter. Bei mir funktioniert dies tadellos mit 5 Terminal Server im Verbund.

lg
proton100