Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wie kann ich mit einem Shell Skript den Routerlog von Speedports auslesen?

Frage Netzwerke Monitoring

Mitglied: DRwindows97

DRwindows97 (Level 1) - Jetzt verbinden

17.08.2013 um 11:52 Uhr, 5770 Aufrufe, 7 Kommentare, 1 Danke

Hallo Administratoren,
ich schaue mir oft den Router Log an um die Vorgänge im Netzwerk besser zu kontrollieren.

Da der Router allerdings keinen großen Speicher hat fehlen immer eine paar Einträge. Deshalb such ich nun nach einer simplen Lösung den Router Log von einem Shell Skript auszulesen und separat zu speichern.

Das Problem das dabei existiert ist die zwingend notwendigen Eingabe eines Paswortes um auf die Logseite zugreifen zu dürfen.

Die Logseite liegt bei http://speedport.ip/cgi-bin/log
Die Loginseite liegt bei http://speedport.ip/top_start_passwort.stm

Danke für eure Hilfe.
Mitglied: MrNetman
17.08.2013 um 12:20 Uhr
Die Logs werden im Arbeitsspeciher gehalten und gehen beim Neustart verloren - https://feedback.telekom-hilft.de/topics/hallo-wie-lange-ist-die-speiche ...

Aber: Es gibt ungefähr 1000 verschiedene Speedport Modelle und Versionsnummern.
Prinzipiell sollte das aber gehen.
Und gibt es eine Funktion den Log runter zu laden oder wie bei der Fritzbox sich zusenden zu lassen?

Gruß
Netman
Bitte warten ..
Mitglied: DRwindows97
17.08.2013 um 12:26 Uhr
Hallo MrNetman,

Der Sinn des ganzen soll ja sein, auf einem Linuxserver die Logs zu sichern, damit sie eben nicht beim Neustart verloren gehen.
Bei dem verwendeten Speedport W502V gibt es leider keine Funktion wie bei den der Fritzbox.
Das heisst man muss sich immer die Seite anschauen und den Log manuell markieren, kopieren und in eine Textdatei einfügen. Und gerade das möchte ich automatisieren.
Bitte warten ..
Mitglied: colinardo
17.08.2013, aktualisiert 18.08.2013
Hallo DRwindows97,
unter Linux würde ich mich mit CURL auf der Log-Seite einloggen und den Output von CURL an GREP übergeben das dir dann die gewünschte Stelle an der der Log zu finden ist mit einer RegularExpression ausfiltert und dann in eine Datei sichert.

Für den Speedport W502V müsste folgende CURL Zeile den Login ermöglichen(damit holt man sich die Login cookies):
01.
_SPEEDPORT="speedport.ip" 
02.
_PASSWORD="GEHEIM" 
03.
curl "http://${_SPEEDPORT}/cgi-bin/login.cgi" -e "http://${_SPEEDPORT}/hcti_start_passwort.stm" -d "&pws=${_PASSWORD}" -c cookies.txt
danach muss man sich dann z.B. mit firebug die Seiten-URL holen die den LOG enthält und den Inhalt der Seite auslesen (Habe hier keinen Speedport für die URL)
In diesem CURL-Aufruf verwendest du dann die gespeicherten Login-Cookies.
01.
curl -s "http://${_SPEEDPORT}/status_startseite.cgi" -e "http://${_SPEEDPORT}/hcti_start_passwort.stm" -b cookies.txt
Hinweis: -e "http://${_SPEEDPORT}/hcti_start_passwort.stm" ist nicht die URL die aufgerufen werden soll, sondern der REFERER.

Den Inhalt der Seite leitest du dann an GREP und filterst die benötigten Inhalte heraus

Als Beispiel soll dir dieses Script für eine FritzBox dienen, das die Tabelle mit den Anrufen ausließt und in eine Datei schreibt:
01.
#!/bin/bash 
02.
_FBOX="http://fritz.box" 
03.
_PASSWORD="GEHEIM" 
04.
_OUTPUTFILE="calls.txt" 
05.
_CHALLENGE=$(curl -s ${_FBOX}/login.lua | grep "^g_challenge" | awk -F '"' '{ print $2 }') 
06.
_MD5=$(echo -n ${_CHALLENGE}"-"${_PASSWORD} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}') 
07.
_RESPONSE=${_CHALLENGE}"-"${_MD5} 
08.
_SID=$(curl -i -s -k -d 'response='${_RESPONSE} -d 'page=' ${_FBOX}/login.lua | grep "Location:" | awk -F '=' {' print $NF '}) 
09.
curl -s ${_FBOX}/fon_num/foncalls_list.lua -d 'sid='${_SID} | tr -d '\n' | grep -oP '(?<=<table id="uiCalls" class="zebra_reverse">).*?(?=</table>)' >$_OUTPUFILE
Hoffe das hilft dir weiter.

Grüße Uwe
Bitte warten ..
Mitglied: DRwindows97
17.08.2013 um 22:36 Uhr
Das hilft mir wirklich weiter, danke Uwe.
Die Seite die den Log ausgibt ist laut Firebug http://speedport.ip/cgi-bin/log.

Habe ich dann also unten stehendes Skript richtig angepasst ?


#!/bin/bash Ist klar
_BOX="http:
speedport.ip" Variable für Routeradresse
_PASSWORD="123456"
Variable für Loginpasswort
_OUTPUTFILE="routerlogfile.txt" Variable für Outputdatei


curl "http:
${_BOX}/cgi-bin/login.cgi" -e "http://${_BOX}/hcti_start_passwort.stm" -d "&pws=${_PASSWORD}" -c cookies.txt
curl -s "http://${_BOX}/cgi-bin/log" -e "http://${_BOX}/hcti_start_passwort.stm" -c cookies.txt
Bitte warten ..
Mitglied: colinardo
18.08.2013, aktualisiert um 12:01 Uhr
du würdest uns einen Gefallen tun wenn du zum posten von Code Tags verwenden würdest, dann käme es nämlich nicht zu solch einem Phänomen das z.B. die doppelten Slashes verschwinden wie hier
_BOX="http:speedport.ip"
außerdem hast du ein doppeltes http: eingebaut.
Deine Zeilen sehen dann wenn die Variable _BOX aufgelöst wird so aus
http://http:speedport.ip/cgi-bin
und das geht natürlich gar nicht. Du müsst dich schon entscheiden wo du das "http" hinterlegst, doppelt gemoppelt geht nicht.
Außerdem war die Option -c Cookies.txt im zweiten curl-Aufruf falsch. Sie muss -b Cookies.txt lauten da du die im vorangegangen Aufruf gespeicherten Cookies ja übergeben willst.

nochmal zusammengefasst für dich:
01.
_BOX="http://speedport.ip" 
02.
_PASSWORD="123456" 
03.
_OUTPUTFILE="routerlogfile.txt" 
04.
curl "${_BOX}/cgi-bin/login.cgi" -e "${_BOX}/top_start_passwort.stm" -d "&pws=${_PASSWORD}" -c cookies.txt 
05.
curl -s "${_BOX}/cgi-bin/log" -e "${_BOX}/top_start_passwort.stm" -b cookies.txt >$_OUTPUTFILE
wobei hier ja noch die ganze HTML-Datei im OUTPUTFILE landet. Da ich die Seite hier nicht vor mir habe kann ich dir dazu natürlich kein Code liefern.

Noch ein Hinweis falls es nicht funktioniert: Das CURL-Script gilt für den Speedport W502V Fw 1.17 (Typ A). Könnte sein das sich da bei einer neueren Firmware noch was verändert hat.
Eine Liste für die Speedports findet sich hier.

Grüße Uwe
Bitte warten ..
Mitglied: DRwindows97
18.08.2013 um 15:41 Uhr
Uwe dein Vorschlag hat wunderbar funktioniert.

Ich habe nur noch folgende Zeile angepasst.
curl -s "${_BOX}/cgi-bin/log" -e "${_BOX}/top_start_passwort.stm" -b cookies.txt >>$_OUTPUTFILE
Das in der Datei die Rohdaten stehen ist nicht weiter schlimm, da ich sie via PHP weiterverarbeite.

Vielen Dank für die schnelle Hilfe.
Bitte warten ..
Mitglied: dermaxem
11.02.2015, aktualisiert um 21:20 Uhr
Hallo,

ich bin auch nach der Suche für so eine Anmeldung und Log-File-Auslesen Sache.
Mein Router ist ein Speedport 921V
die Loginseite lautet:
01.
https://speedport.ip/html/login/index.html
die Seite mit dem Logfile:
01.
https://speedport.ip/html/content/config/system_info.html?lang=de
die Infos liegen dort aber ziemlich verschachtelt: s. Screenshoot:
<img>http://fs2.directupload.net/images/150211/98iqhbag.png</img>"

man kann einen Download des Logfiles erzeugen, das geht über einen Button:
01.
 <form action="../../../data/Syslog.json" method="get"> 
02.
          <div class="buttongroup" style="padding:0px"> 
03.
            <button type="submit" i18n:id="btn_exportList">Liste exportieren</button> 
04.
          </div> 
05.
        </form>
-
ich bin leider Linux Neuling. Kann man da ein Script für ein Raspberry machen, das das Logfile dann via Mail verschickt 1x die Woche oder so etwas?
Bitte warten ..
Ähnliche Inhalte
Debian
Mit Shell Skript PHP ausfüheren
gelöst Frage von zeroblue2005Debian6 Kommentare

Hallo Zusammen, lacht nicht aber habe ich eben noch nie gemacht ich möchte eine Sh Datei haben die folgendes ...

Outlook & Mail
PS-Skript zum Auslesen von Informationen
gelöst Frage von 112TimoOutlook & Mail8 Kommentare

Hallo liebe Community, ich habe in meinem Praktikum die Aufgabe bekommen ein PowerShell-Skript zu erstellen, mit dem ich die ...

Batch & Shell
Powershell Skripten, Netzwerk auslesen
gelöst Frage von CaramianBatch & Shell3 Kommentare

Guten Tag Ich sollte ein Powershellskript erstellen, dass alle Netzwerkinformationen wie z.B. IP Adresse, Mac Adresse, Computername usw. und ...

Windows Userverwaltung
PS Skript AD Objekte auslesen
gelöst Frage von m.reegerWindows Userverwaltung1 Kommentar

Guten Morgen, ich benötige mal bitte ein wenig Hilfe bei der Erstellung einer Powershellabfrage für das AD. Es geht ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 8 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 8 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 16 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...