ghanas
Goto Top

In Microsoft Excel eine VBA basierte IE Abfrage am Router (Systemprotokoll) tätigen und bedingt eine Mail abschicken

Wie soviele habe ich als Vertragspartner die Telekom. Deswegen ist es normal, wenn man immer mal wieder Internetabbrüche hat...
Ich möchte diese Abbruche mitprotokollieren (1-Mal am Tag) und falls mehr als 6 Fehler an einem Tag vom Router protokoliert wurden, soll das Programm mir eine Mail schicken (Absender und Empfänger sind die gleichen). So ist es zumindest in der Vorstellung, aber ich glaube, dass das nicht nur theoretisch möglich ist.

Meine Mapp1.xlsm öffnet den Internet Explorer, gibt in die Adresszeile192.168.100.1 ein.
Daraufhin wird die Routerseite geöffnet.
Der Benutzername ist bei id="LoginName" ('Benutzer')
Das Passwort ist bei id="LoginPass" ('123456')


Dann lad das so 4sec und man ist bei der Gesamt Übersicht. Als nächstes müsste man in das Systemprotokoll-Unterverzeichnis
Also (System->Diagnose->Systemmeldungen) teil.Seitenquellcode:
<li id="System"><a href="#" title="System" onclick='internalLink("System","index");'>  
System
</a><ul id="navlist2" class="" style="display: none;"><li><a href="#" title="Zugangsschutz" onclick='internalLink("System","accessProtection");'>Zugangsschutz</a></li><li><a href="#" title="Systemzeit" onclick='internalLink("SystemBase","changeTime");'>Systemzeit</a></li><li><a href="#" title="Konfiguration sichern" onclick='internalLink("SystemBase","changeConfiguration");'>Konfiguration sichern</a></li><li><a href="#" title="Gerät rücksetzen" onclick='internalLink("SystemBase","doReset");'>Gerät rücksetzen</a></li><li><a href="#" title="Firmware-Update" onclick='internalLink("SystemBase","changeFirmware");'>Firmware-Update</a></li><li><a href="#" title="Betriebsart" onclick='internalLink("System","operationMode");'>Betriebsart</a></li><li><a href="#" title="Fernverwaltung" onclick='internalLink("System","remoteConfig");'>Fernverwaltung</a></li><li><a href="#" title="Provider Support" onclick='internalLink("System","renderDeviceManagement");'>Provider Support</a></li><li><a class="cHasSubItems" title="Diagnose">  
Diagnose
</a><ul id="navlist3" class="" style="display: none;"><li><a href="#" title="Systemmeldungen" onclick='internalLink("System","syslog");'>  
Systemmeldungen
</a></li><li><a href="#" title="Ping-Test" onclick='internalLink("System","doPingTest");'>Ping-Test</a></li><li><a href="#" title="Paket-Tracer" onclick='internalLink("System","doTrace");'>Paket-Tracer</a></li></ul></li><li><a class="cHasSubItems" title="QoS">QoS</a><ul id="navlist3" class="" style="display: none;"><li><a href="#" title="Einstellungen" onclick='internalLink("System","indexQoS");'>Einstellungen</a></li><li><a href="#" title="Klassen erstellen" onclick='internalLink("System","indexQoSClass");'>Klassen erstellen</a></li><li><a href="#" title="Regeln erstellen" onclick='internalLink("System","indexQoSTrafficPlan");'>Regeln erstellen</a></li><li><a href="#" title="Statistiken" onclick='internalLink("System","indexQoSStatistics");'>Statistiken</a></li></ul></li><li><a class="cHasSubItems" title="Rechtl. Informationen">Rechtl. Informationen</a><ul id="navlist3" class="" style="display: none;"><li><a href="#" title="Lizenz" onclick='internalLink("System","license");'>Lizenz</a></li></ul></li><li><a href="#" title="Sitemap" onclick='internalLink("SasOverview","sitemap");'>Sitemap</a></li></ul></li>  

Gut, das ist dann die Seite mit dem SysLog. Die Einträge findet man dann in diesem Codeabschnitt als Tabelle:
<div id="StgTable_syslog_Content"><div><table class="cStgTable" cellspacing="0" cellpadding="0">  
<thead><tr class="Header"><th class="cTitle cDefault"><div><div class="cLink">Ereignislogbuch</div>  
</div>
</th>
<th class="cIcon cDefault"><div><div class="Hide Visibility"></div>  
<div class="Refresh Update"></div>  
</div>
</th>
</tr>
</thead>
<tr><td colspan="2"><textarea class="cFull" id="MessageLog" name="" rows="9" cols="700" readonly="readonly" wrap="off">JJJ-MM-TT hh:mm:ss (Event zB) DHCP: Client registered 192.168.100.55 'WLAN-MAC-Adresse' '7-stellige Zahl'  
'---und das geht in der nächsten Zeile weiter für die vergangenen 3-5 Tage---'  
2017-01-30 12:19:02  NTP: System time successfully synchronized with server ntp1.t-online.de
2017-01-30 05:00:32  WLAN: WLAN is running
2017-01-30 02:00:07  WLAN: WLAN disabled
2017-01-28 22:21:40  GUI: Session expired (natürlich gekürzt, usw.)
</textarea>
</td>
</tr>
</table>
</div>
</div>

Also ist der Part der Seite ziemlich offensichtlich mit textarea eingekreist. Wenn ein Fehler aufgezeichnet wird steht in der Zeile dann 'Datum Zeit Fehler:Art des Fehlers'
Speziell diese Zeilen würde ich gerne in meine Excel Mappe aufnehmen, in zB 'Tabelle1' auf dem Blatt 'Protokoll' (Mappe1.xlsm)

Da jeder Fehler in dieser Tabelle mitprotokolliert wird, sollte es ja sinnvoller sein, eher an der Anzahl der Fehler des aktuellen Tages bedingt zu bestimmen, ob eine Mail abgeschickt werden soll.
Also bei mehr als 6 Mal Fehler vom gleichen Tag (heute), dann Email mit:

An: mail@mail.de
Betreff: SysLog Router Fehlerberichte (heute)
Inhalt: Nur die Fehlerberichte des Tages. +Danke Telekom:)

Ich hoffe es ist inhaltlich genügend Information da.

Ich glaube nicht nur ich könnte so ein Tool echt gut gebrauchen, sondern auch jeder der Telekom etwas anhaben möchte, wegen schlechter Internetverbindungen.
Manchmal lehnt sich die Telekom einfach zu weit aus dem Fenster und nimmt alles nur auf die leichte Schulter.

Vielen vielen Dank für alle die sich damit beschäfigen face-smile

Content-Key: 328143

Url: https://administrator.de/contentid/328143

Printed on: April 19, 2024 at 02:04 o'clock

Member: Pjordorf
Pjordorf Feb 01, 2017 updated at 23:17:10 (UTC)
Goto Top
Hallo,

Zitat von @GhanaS:
Deswegen ist es normal, wenn man immer mal wieder Internetabbrüche hat...
Nun, das kann Pauschal so nicht gesagt werden. Auch Telekom anschlüße laufen durchaus jahrelang ohne Fehler oder abbruch oder unterbrechnung durch. Aber wie jede Technik, es kann alles irgendwo irgendwann kaputt gehen. (Nein, ich weder von der Telekom noch habe ich Telekom DSL)

Ich möchte diese Abbruche mitprotokollieren
Wie definierst du Internetabbrüche? Auf welche Ebene sind diese abbrüche zu finden? Soll geprüft werden wann dein DSL nicht mehr Synchron ist, dein Gateway (Gegenstelle deiner DSL Leitung) nicht mehr reagiert, die Kupferleitung durchtrennt wurde, oder schlichtweg Google nicht erreichbar ist.
Welcher Art ist dein DSLanschluß (aDSL, sDSL, vDSL, All-IP)
Welcher Tariff ist gebucht und was wird geliefert?
Was hängt an dein DSL Kabel denn dran? Eigene Geräte oder die welche dir die Telekom gegeben hat?
Was sagt die telekom zu deinen Störungen und was sind die Ergebnisse der Kabelprüfungen und Messungen? Port Reset(s) haben gefruchtet oder nicht?

soll das Programm mir eine Mail schicken
Wird schwer wenn kein Internet funktioniert ausser du hast einen eigenen Mailserver

Kann dein Modem / Router Syslog Meldungen erzeugen und kann er die auch verschicken?

https://support.office.com/en-us/article/Get-external-data-from-a-Web-pa ...
http://www.windmill.co.uk/excel/excelweb.html
http://stackoverflow.com/questions/9576542/automate-excel-to-fetch-data ...
https://www.quora.com/How-do-you-extract-data-from-the-web-into-Excel
http://www.exceldemy.com/extract-data-from-website-to-excel/

Schau dir mal AutoIT an. Vielleicht die besserer Wahl
https://www.autoitscript.com/site/autoit/
Deutsches Forum https://autoit.de/

Und wenn du der Telekom nachweisen willst das deren Leitung/Dienste dir nicht ohne öftere / dauernde / häufige / seltene Störungen bereitgestellt werden, reicht es nicht nur jeweils täglich um High Noon nachzuschauen ob es geht oder nicht geht. Ob dein Modem / Router dazu reicht....

Gruß,
Peter
Member: GhanaS
GhanaS Feb 02, 2017 at 07:10:40 (UTC)
Goto Top
Danke Peter für deine Antwort!
Zitat von @Pjordorf: Auch Telekom anschlüße laufen durchaus jahrelang ohne Fehler oder abbruch oder unterbrechnung durch.
Das ist bei diesem Anschlüss das exakte Gegenteil. Man kann von Glück sprechen, wenn eine Woche lang nicht täglich ein Fehler auftritt.

Zitat von @Pjordorf: Wie definierst du Internetabbrüche?

Das kannst du in meiner Frage sehen. Da steht dann wirklich Fehler: in der Zeile.
Zitat von @GhanaS: Wenn ein Fehler aufgezeichnet wird steht in der Zeile dann 'Datum Zeit Fehler:Art des Fehlers'

Die Abbrüche sind Im Routerverzeichnis unter
Zitat von @GhanaS: System->Diagnose->Systemmeldungen
zu finden. Es soll einfach nur die 192.168.100.1 seite des Routers aufrufen. Und das braucht er auch nur einmal am Tag. Im SysLog des Routers sieht man alles wichtige(wie oben beschrieben).

Zitat von @Pjordorf: Welcher Tariff ist gebucht und was wird geliefert? Was hängt an dein DSL Kabel denn dran? Eigene Geräte oder die welche dir die Telekom gegeben hat? Was sagt die telekom zu deinen Störungen und was sind die Ergebnisse der Kabelprüfungen und Messungen? Port Reset(s) haben gefruchtet oder nicht?
Man soll einfach nur die SysLog abfragen... Kabelmessung vom Port über Verteilerkasten im Haus bis zu Router wurde bereits geprüft.

Zitat von @Pjordorf: Wird schwer wenn kein Internet funktioniert ausser du hast einen eigenen Mailserver
Es wandert so oder so in den EMail ausgang ordner und es wird ja nur einmal am Tag verschickt. Ich verstehe deine Frage nicht.

Zitat von @Pjordorf: Kann dein Modem / Router Syslog Meldungen erzeugen und kann er die auch verschicken?
Nein, aber das wär echt viel einfacher, obwohl man dann die Mails auslesen müsste und nur die 'Fehler' in Excel mitprotokolliert und dann anhand daran die Mail wieder verschicken müsste. Also vielleicht nicht soo einfach.
Mitglied: 132272
132272 Feb 02, 2017 updated at 09:36:21 (UTC)
Goto Top
Typisch für schlechte Modems und Kontakte auf Kundenseite. Modem mal tauschen und alle Kontakte Kabel erneuern, das macht das ganze logging überflüssig.

Informationen aus dem Webinterface einer Fritz!Box via Shellscript auslesen
Powershell: FritzBox über TR-064 im Netzwerk konfigurieren und auslesen

Gruß nachfrage
Member: MrCount
MrCount Feb 03, 2017 updated at 08:29:55 (UTC)
Goto Top
Servus,

sofern es nicht unbedingt EXCEL VBA sein muss, lässt sich das recht einfach lösen, z.B. mit AutoIt

Hier mal ein paar Beispiele/Anleitungen:
Internet Explorer Automation
HTML Parser
E-Mail senden