## IESpyWin Liesmich

IESpyWin fängt die Tastatur- und Mauseingaben sowie die Ereignisse des Browser-Helper-Objects des Internet Explorers ab. Je nach Konfiguration werden die aufbereiteten Ereignisse und Eingaben, im Weiteren als Events bezeichnet, in eine Log-Datei geschrieben und/oder per Socketverbindung an Scone (siehe www.scone.de) geschickt.

### Installation von IESpyWin

Die Installationsroutine wird durch die Datei Setup.exe aufgerufen. Danach folgen Sie bitte den Anweisungen des Installationsprogramms. Das Installationsprogramm wird die benötigten Dateien auf der Festplatte speichern und unter Start / Programme / IESpy Verknüpfungen zum Starten und zum Beenden anlegen.
Falls sich bereits eine Version von IESpyWin auf dem Rechner befindet, auf dem IESpyWin installiert werden soll, muss IESpyWin vorher über Systemsteuerung / Software deinstalliert und der Rechner neu gestartet werden.

### Starten und Beenden von IESpyWin

Über Start / Programme / IESpy / IESpyWin wird IESpyWin gestartet. Dies lässt sich anhand eines kleinen Icons in der Notification Area (unten rechts neben der Uhr in der Taskleiste) erkennen. Um IESpyWin zu beenden wählen Sie Start / Programme / IESpy / Stop IESpyWin. Das Icon in der Taskleiste verschwindet daraufhin.

### IESpyWin konfigurieren

Das Verhalten von IESpyWin wird von der Datei "IESpy.ini" bestimmt, die sich mit jedem Texteditor, z. B. Start / Programme / Zubehör / Editor, ändern lässt (Bitte nicht Word verwenden). Die Datei "IESpy.ini" befindet sich in dem Verzeichnis, in dem IESpy liegt.
Die installierte IESpy.ini sieht folgendermaßen aus:
CREATE_LOG_FILE=0
CONNECT_TO_SCONE=1
SCONE_HOST=localhost
SCONE_PORT=8472
SHOW_WINDOW=0
Die Funktionen CREATE_LOG_FILE=, CONNECT_TO_SCONE= und SHOW_WINDOW= lassen sich durch eine folgende 0 aus- und durch eine folgende 1 einschalten. Bitte verändern sie nicht die Namen der Einträge, auch nicht die Groß- und Kleinschreibung, da IESpyWin die Einträge sonst nicht mehr erkennen kann.
CREATE_LOG_FILE=1 sorgt dafür, dass jedes abgefangene Event als Textmeldung in eine Logdatei geschrieben wird. Eine detaillierte Beschreibung der einzelnen Abkürzungen der Events finden sie unter Die Logdatei, später in diesem Dokument.
SHOW_WINDOW=1 öffnet beim Start von IESpyWin ein Textfenster, in dem alle abgefangenen Events protokolliert werden. Eine detaillierte Beschreibung der einzelnen Abkürzungen finden sie unter Die Logdatei. Bitte schließen Sie dieses Fenster nicht, da Sie auf diese Weise auch IESpyWin auf unsanfte Art beendet wird. In diesem Fall wird das Icon in der Taskbar nicht entfernt. Es verschwindet erst, wenn Sie mit dem Mauszeiger darüberfahren.
CONNECT_TO_SCONE=1 verbindet IESpyWin per Socketverbindung mit Scone und übermittelt auf diese Weise alle abgefangenen Events in Textform. Der Aufbau der Texte gleicht dem der Logdatei. Nach SCONE_HOST= wird der URL oder die IP-Adresse des Rechners eingetragen, auf dem Scone läuft. Nach SCONE_PORT= wird die Protnummer angegeben, über die die Verbindung zu Scone aufgebaut werden soll.

### Die Logdatei

Hier wird die Ausgabe der Events beschrieben, die IESpy in seine Log-Datei leitet. Für jeden Tag wird eine Log-Datei im Untererzeichnis "data" unter dem IESpy-Verzeichnis angelegt.

### Der Dateiname

Der Dateiname setzt sich aus dem Erstellungsdatum und dem String "IESpyLog.LOG" zusammen. Das Datum hat dabei folgendes Format:
JJJJMMTTIESpyLog.LOG
wobei JJJJ für die viestellige Jahreszahl, MM für den zweistelligen Monat und TT für die zweistellige Tageszahl steht.

Bei jedem Start von IESpy wird die Log-Datei mit dem entsprechenden Datum angelegt und in die erste Zeile der Zeitstempel, die IE-Instanznummer "IE-1" und das Kürzel SPON (ieSPy ON) geschrieben. Unter Aufbau der Einträge wird der genaue Aufbau der Log-Einträge beschrieben. Die Instanznummer "IE-1" steht für alle Aktionen die von IESpy ausgehen, nicht von dem Internet Explorer. Wird IESpy beendet, wird dies mit dem Kürzel SPOF (ieSPy OFf) vermerkt.

Läuft IESpy über die Tagesgrenze hinaus, wird die Log-Datei beim ersten Event des neuen Tages geschlossen, eine neue Log-Datei mit dem neuen Datum geöffnet und in der ersten Zeile nach dem Zeitstempel das Kürzel NEWD geschrieben.

### Aufbau der Einträge

Jeder Eintrag (jede Zeile) besteht aus dem Zeitstempel, der IE-Instanznummer, einem Kürzel, das die Aktion beschreibt und - je nach Kürzel - Null bis zwei Parameter, die zusätzliche Informationen liefern. Alle Angaben sind durch Semikola getrennt, nach jedem Semikolon folgt ein Space damit die Zeile für Menschen besser zu lesen ist.

Genauer: Die Stunden, Minuten und Sekunden des Zeitstempels sind zweistellig, gegebenenfalls mit führender Null, und durch Doppelpunkte getrennt. Direkt im Anschluß folgt ein Punkt und die dreistellige Angabe der Millisekunden. Nach einem Semikolon und einem Space kommt das Kürzel, ein vierstelliger Text aus Großbuchstaben, der die Aktion beschreibt. Nach Semikolon und Space folgen eventuell weitere Parameter, jeweils durch Semikolon und Space abgeschlossen. Textparameter, wie z. B. URL oder Menüeinträge, werden in Anführungszeichen gesetzt. Das Ende der Zeile markiert ein Zeilenumbruch (\n) wie in Unix-Systemen üblich. Zwischen dem letzten Semikolon und dem Zeilenumbruch befindet sich keine Space.

### URLs im Logfile

In den Parametern auftauchende URLs werden durch einen 16stelligen Hashcode ersetzt, um die URL zu verbergen. Mit Hilfe des Hashcodes, der mit hoher Wahrscheinlichkeit jeder URL einen anderen Code zuweist, lassen sich die einzelnen Besuche einer bestimmten URL trotzdem zählen.

### Die Kürzel in der Log-Datei

Dies ist eine Liste aller verwendeten Kürzel. Der genaue Aufbau der einzelnen Textmeldungen kann leicht abweichen.

ABBC | Adress Bar Button Clicked. Der Button "Wechseln zu" in der Adressleiste wurde geklickt.
ABED | Adress Bar EDited: Die Adresse in der Adressleiste wurde geändert und mit Enter bestätigt oder ein Eintrag aus der Vorschlagsliste ausgewählt. Dieser Eintrag tritt im Log-File erst während des Ladevorgangs auf.
ABLC | Adress Bar List Closed: Die Ausklappliste (ComboBox) wurde geschlossen.
ABLO | Adress Bar List Opened: Die Ausklappliste (ComboBox) wurde geöffnet.
BNAV | Before NAVigate: Der Browser beginnt, eine neue Seite zu laden, das DISPID_BEFORENAVIGATE2-Event wurde empfangen. Die zu ladende URL wird als Hashcode im Parameter angegeben.
DCPL | Document ComPLete: Die HTML-Datei wurde vollständig geladen.
DLBG | DownLoad BeGin: Das Laden einer oder mehrere Dateien hat begonnen.
DLCP | DownLoad ComPlete: Das Laden der Datei(en) ist abgeschlossen.
EBBS | Explorer Bar Button Select: Ein Button innerhalb der Explorerleiste wurde angeklickt. Im Parameter wird das entsprechende Name angegeben, z. B. "Favoriten/Favoriten verwalten"
EBCL | Explorer Bar CLosed: Die Explorerleiste, die die Favoriten, den Verlauf oder die Suche enthielt, wurde geschlossen. Im Parameter steht, ob es sich um die Favoriten-, Verlauf- oder Suchleiste handelte.
EBIS | Explorer Bar Item Select: Einer der Einträge in der gerade geöffneten Explorerleiste (Favoriten, Verlauf oder Suche) wurde wurde ausgewählt. Welche Explorerleiste gerade offen ist, steht im Parameter. Achtung: Einträge, die aus der Ausklappliste der Adressleiste ausgewählt werden (ABED), erzeugen ebenfalls diesen Eintrag. Genauso beim Anklicken eines Favoriten im Hauptmenü (FAVS).
EBOP | Explorer Bar OPened: Die Explorerleiste wurde geöffnet. Ob die Leiste nun das Verlaufs- Favoriten- oder Suchfenster enthält, steht im Parameter. Achtung: je nach dem, wie der Benutzer die Explorerleiste geöffnet hat, steht im Parameter "Favoriten", wenn der Benutzer den entsprechenden ToolBarButton angeklickt hat, oder "Ansicht/Explorerleiste/Favoriten", wenn die Leiste über das Hauptmenü geöffnet wurde. Welche Aktion der Benutzer tatsächlich ausgeführt hat, erkennt man am vorigen Log-Eintrag, der entweder MSMM oder MSTB ist
FAVS | Dieses Kürzel (FAVorits Selected) Aus der Liste der Favoriten im Hauptmenü des IE wurde ein Eintrag ausgewählt. Dieses Kürzel hat als Parameter die Nummer der Ebene in der der Eintrag ausgewählt wurde. Wurde z. B. der Eintrag: Favoriten / Suchmaschinen / MetaSuchmaschinen /Metager ausgewählt, gibt FAVS nach dem Semikolon die drei aus. Die Favoriten-Erkennung funktioniert erst, nachdem der Benutzer mindesten einmal das Favoriten-Menü geschlossen hat, da IE erst dann das Fenster anlegt, das die Events entgegen nimmt. Es ist also möglich, dass die erste Auswahl eines Favoriten seit dem IE-Start nicht erkannt wird.
HOTK | (HOTKey) Eine der Menüfunktionen wurde über einen Hotkey ausgelöst (z. B. STRG + A für "Alles markieren"). Nach einem Semikolon folgt der Name des Menüeintrags, der zu diesem Hotkey gehört. Wenn IESpy diesen Hotkey nicht kennt, wird die MenüID als hexadezimale Zahl angegeben.
IEOF | Dieses Kürzel (Internet Explorer OFF) bedeutet, dass eine Instanz des Internet Explorers beendet wurde. Um welche der offenen Instanzen es sich handelt, beschreibt das vorige Feld in der Log-Datei.
IEON | (Internet Explorer ON) steht für das Starten einer neuen Instanz des Internet Explorers. Diese Instanz bekommt eine eindeutige Nummer, die in dem vorigen Feld der Log-Datei beschrieben wird und der Instanz bis zu deren Ende
LBIS | (Link Bar Item Select) informiert über das Anklicken eines Link-Buttons in der Link-Leiste. Die Buttons sind von links nach rechts nummeriert, angefangen bei null. Im Parameter steht die Nummer des geklickten Buttons. Beispiel: 12:34:56.789 IE03; LBIS; 4; steht für den 5. Link von Links gezählt.
LINK | (LINK clicked) informiert über das Anklicken eines Verweises in der HTML-Seite. Diese Meldung ist abhängig von der Statustext-Meldung in der die URL des Links angezeigt wird. Da diese gelegentlich nicht rechtzeitig kommt, wird der Link nicht immer richtig erkannt.
MSHA | (MenuSelect HTML Area) informiert über das Auswählen eines Menüpunktes des Kontextmenüs im HTML-Anzeigebereich. Nach einem Semikolon folgt der Name des Menüeintrags in Textform, z. B. "Alles markieren". Wenn IESpy den Menüeintrag nicht kennt, wird die MenüID als hexadezimale Zahl angegeben. Wird das Menü wieder geschlossen, ohne einen Eintrag auszuwählen, wird als Parameter der Text "Menu closed without selection" angegeben.
MSMM | (MenuSelect Main Menu) informiert über das Auswählen eines Menüpunktes des Hauptmenüs. Nach einem Semikolon folgt der Name des Menüeintrags in Textform, z. B. "Datei/Bearbeiten". Wenn IESpy diesen Menüeintrag nicht kennt, wird die MenüID als hexadezimale Zahl angegeben.
MSTB | (MenuSelect ToolbarButton) informiert über das Auswählen eines Menüpunktes in der Buttonleiste. Nach einem Semikolon folgt der Name des Button. Nach einem weiteren Semikolon folgt die Nummer des gewählten Menüeintrags. Beispiel: 12:34:56.789 IE03; MSTB; Vor; 3; Bedeutung: Um 12 Uhr 34, 56 Sekunden und 789 Millisekunden wurde in der Instanz Nr. 3 des Internet Explorers auf der Buttonleiste das Menü des Vor Buttons ausgeklappt und der 3. Eintrag ausgewählt, also 3 Seiten in der History nach vorn gesprungen.
NAVC | (NAVigate Complete) wird ausgegeben, wenn alle zur Seite gehörenden Dateien bereits geladen werden. Statt der URL wird ein aus der URL berechneter Hashcode als Parameter übergeben.
NEWD | NEWD (NEW DATE) steht in der ersten Zeile einer Log-Datei, wenn IESpy über die Tagesgrenze hinaus aktiv war und ein neues Event abgefangen wurde. Die Zuordnung der geöffneten IE-Nummern der vorigen Log-Datei bleiben erhalten.
SPON | Bei jedem Start von IESpy wird SPON (ieSPy ON) in die erste Zeile der Log-Datei geschrieben.
STXT | Der Statustext des Browsers wurde verändert. Das BrowserHelper Objekt feuert das DISPID_STATUSTEXTCHANGE-Event. Der Statustext wird in Anführungszeichen als Parameter übergeben. Im Statustext enthaltene URLs werden durch einen 16stelligen Hashcode ersetzt.
TBBC | (ToolBar Button Clicked) wird ausgegeben, wenn eine Schaltfläche der Toolbar geklickt wurde, z. B. Vor oder Zurück. Gelegentlich (meist nach längerer Laufzeit des IE) ändern sich die Ids der Toolbar Buttons. In diesem Fall heißen die Buttons dann z. B. "Vor (geänderte ButtonId)". Sollten die Buttons Ids bekommen, die IESpy noch nicht kennt, wird die Id als hexadezimaler Parameter an Stelle des Button-Namen angegeben.
VERS | (VERSion des Browsers) Dieses Kürzel wird von der Versionsmeldung des Browsers gefolgt. Beispiel: 15:56:55.497; IE00; VERS; "4.0 (compatible; MSIE 5.5; Windows NT 5.0)";