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?

Mitglied: DRwindows97

DRwindows97 (Level 1) - Jetzt verbinden

17.08.2013 um 11:52 Uhr, 5848 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 ...

Batch & Shell
Shell-Skript Abfage
gelöst Frage von newit1Batch & Shell6 Kommentare

Hallo, ich habe ein Shell Skript gebastelt welches eine CSV-Datei in eine Tabelle einer Datenbank importiert. Nun würde ich ...

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 ...

Linux

Eigenes Shell Skript (Bash) mit eigenen Parametern erstellen

gelöst Frage von WinLiCLILinux10 Kommentare

Hallo zusammen, ich habe eine kleine Noob Frage. Ich würde gerne ein kleines Shellskript erstellen, wo ich eigene Optionen ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 7 StundenHumor (lol)1 Kommentar

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 20 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 20 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...