fritzcap: Tool für Etherreal Trace und Audiodaten-Extraktion v2.0

Da hat sich grad mein Edit mit deinem Beitrag überschnitten...

Ja, stolper wohl gerade über die gleichen Hürden... Mit dem Request-Start $all ist das Skript ganz nach hinten gerückt, nur ohne Wirkung...

Bez system.d - glaube ich weniger, da nginx und minidlna (die ich über OMV-Plugins installiert hab) ebenfalls über init.d gestartet werden... Einen Versuch jene Services als Request-Start-Bedingungen einzufügen blieb auch erfolglos...

Kann es sein, das fritzcap.py (das eig. Python-Skript) einzig von einem User aufgerufen werden kann (aber nicht als Service)?
 
Kann es sein, das fritzcap.py (das eig. Python-Skript) einzig von einem User aufgerufen werden kann (aber nicht als Service)?
Denkbar, ich habe - wie vorher geschrieben - gar nicht hineingesehen ... ich würde halt an der FRITZ!Box selbst auf HDD aufzeichnen, wenn ich so eine Datei für die Extraktion von Telefonaten bräuchte. Das eliminiert die Notwendigkeit des mitlaufenden NAS und mit einer passenden HDD an der Box ist auch der Umfang kein echtes Problem. Das dann ggf. noch mit einem automatischen Wechsel der Aufzeichnungsdatei verbunden (oder sogar mit dem Start des Capture bei der passenden Meldung im Callmonitor) und man hat eine "ordentliche Archivierung" der Telefonate (die Gesetzeslage darf man ohnehin nicht aus den Augen verlieren). Ob das fritzcap ggf. bereits schon so macht (wozu braucht das sonst den Zugriff auf den CallMonitor-Port), weiß ich gar nicht ... ein Python auf der FRITZ!Box ist halt nicht jedermanns Sache, ansonsten könnte man wohl das ganze fritzcap direkt dort laufen lassen.

PS: Ja, ich habe gerade mal versucht zu lesen, was fritzcap eigentlich alles so kann ... der Monitor-Mode ist ja offenbar genau das, was ich vermutet habe. Zumindest das "recording" würde ich trotzdem auf der FRITZ!Box selbst laufen lassen (so eine alte IDE-HDD mit 40 GB aus einem Notebook am USB3-Port reicht ja schon aus, macht Kosten von ca. 10 EUR für das Gehäuse, der Rest liegt ohnehin in der Bastelkiste). Wenn die FRITZ!Box nicht arbeitet, geht auch kein Telefonat, wenn das NAS im falschen Moment nicht richtig reagiert/läuft, ist die Aufzeichnung ausgefallen.
 
...glaube um fritzcap direkt auf die FB zu modifizieren reichen meine Programmierkenntnisse nicht aus (muss gestehen ich bin ja schon froh hab ich das init.d-Skript noch hinbekommen)

Mein Gedanke hinter dem init.d-Start:
- ich will meinen PC nicht zusätzlich laufen lassen, nur wegen fritzcap
- ein NAS läuft stabil und 24/7 - und kann Python; und demzufolge das Skript vom PC her übernehmen...
- wenn ein Gespräch rein kommt, will ich nicht erst eine TelKo mit nem Fritz-AB (wär auch ein Workaround) initiieren

In Beitrag #41 hatte scampy wohl ähnliche Probleme... Frage mich wie der das gelöst hat (Antworten gabs wohl keine ausser ich hätte sie überlesen)..?
 
Wenn dein Script funktioniert, wenn du es als angemeldeter Benutzer aufrufst, nicht aber, wenn du es beim Systemstart aufrufen lässt, könnte es auch an fehlenden Werten in der Umgebung liegen.
Benötigt das Script, bzw. etwas im Script aufgerufenen, bestimmte Pfade?
Du rufst ein Python-Script auf, werden dort Librarys importiert?
Woher weiß der Python-Interpreter, wo diese liegen?
 
Jetzt bin ich mal gespannt, wie man da wieder die Kurve von fehlenden Libraries oder Environment-Variablen zur Fehlermeldung "[ERROR ] Cannot create connection to the call monitor service on 192.168.178.1:1012." kriegt.

Nicht, daß das nicht auch sein könnte ... aber der Zusammenhang würde mich wirklich interessieren, wenn sich das als Ursache herausstellen sollte; im Moment fehlt mir da schlicht die Phantasie für das Herstellen einer solchen Verbindung.

Eine Firewall auf der Basis von Benutzern wäre denkbar (z.B. iptables mit "owner"-Extension), eine zusätzliche Sicherheitsebene (SELinux, AppArmor) zur generellen Regelung von Zugriffen auf das Netzwerk auch noch ... aber fehlende Libraries oder falsche Suchpfade kriege ich (zumindest auf Anhieb) nicht mit dem geschilderten Fehler unter einen Hut.
 
Wie ich schrieb bin ich nicht gerade ein Python-Programmierer; das Skript, das ich aufrufe (Fritzcap) findet man in Beitrag 1... Falls so ein kleiner Bug die Ursache sein sollte - ich hab das Skript nicht angepasst beim Einsatz...

Wegen der Firewall - OMV bietet so eine Funktion, aber ich habe sie testweise deaktiviert; leider ohne Erfolg, weiterhin der gleiche Error...

Logge ich mich aber nach dem Systemstart ein, und starte das init.d-Skript manuel, läuft alles normal (auch nach dem Ausloggen)...

Das System basiert auf der OpenMediaVault-Distribution (Wheezy mit bereits integriertem OMV), falls das irgendwie weiterhilft?
 
Das Python-Skript wird ja sicherlich auch noch in der Lage sein, ein etwas ausführlicheres Log zu schreiben - zumindest legen einige der frühen Beiträge diese Vermutung nahe. Die angeführte Fehlermeldung ist eigentlich aussagekräftig, aber die Zeilen davor (und ggf. sogar dahinter) könnten wenigstens einen Eindruck vermitteln, wo es bei der Abarbeitung des Skriptes klemmen könnte. Vielleicht wäre das ja erst einmal ein denkbarer Schritt. Wenn hingegen auch ein simples "nc" vor dem Python-Skript keine Verbindung zur FRITZ!Box aufbauen kann, dürfte das Problem ja wohl nicht an der Python-Installation oder an fehlenden Libraries oder an falschen Suchpfaden festzumachen sein. Und auch auf einem headless-System lassen sich Protokolle ja in Dateien schreiben, man braucht ja nicht zwangsläufig einen Monitor dafür.

Ansonsten kenne ich OpenMediaVault nicht und habe auch (persönlich) nicht die Absicht, mich damit zu befassen, wie die Basis-Installation von Debian dort konfiguriert ist. Da gibt es sicherlich sogar andere Foren für solche Fragen (Python-Skript als "Daemon mit Netzwerkzugriff" beim Systemstart automatisch ausführen), wo sich die Leute mit der Distribution auskennen. Damit will ich auch sagen, daß Du uns vielleicht an den bereits angestellten Versuchen der Fehlereingrenzung/-beseitigung teilhaben lassen müßtest, wenn Du nicht zwangsläufig mit allgemeinen Hinweisen oder bereits ad acta gelegten Vermutungen abgespeist werden willst.

Nur zu raten bringt solange etwas, wie man noch (plausible) Ideen hat ... danach ist es nur noch verschwendete Zeit und Energie. Wenn irgendwelche Tests konkrete Ergebnisse bringen, fällt einem ja manchmal auch etwas Neues ein ... aber ohne "input" kein "output".
 
Das Debug-Log sagt leider auch nicht mehr aus... Ist es ja... "Cannot connect to CallMonitor on..."

Bez. nc - da gabs nicht einmal eine Fehlermeldung (das haute hin)...

Werd mich also mal anderweitig umsehen - falls hier jemand eine Lösung hat, ich bin für Vorschläge offen! :)
 
Das Debug-Log sagt leider auch nicht mehr aus... Ist es ja... "Cannot connect to CallMonitor on..."
Ich schrieb ja auch extra, daß die Zeilen rundherum noch einen Anhaltspunkt liefern können, wie weit das Python-Skript kommt und ob da (ggf. bei mehreren Threads) irgendetwas von Python-Seite generell klemmt. Wenn da nur diese einzelne Fehlermeldung enthalten ist, ist vielleicht noch ein Parameter für zusätzliche Protokollierungen erforderlich?

Bez. nc - da gabs nicht einmal eine Fehlermeldung (das haute hin)...
beißt sich dann (nach meinem Verständnis) mit
#239 schrieb:
(Allerdings auch keine Verbindung zum CallMonitor der Fritz)...
Ob da nun eine Verbindung zur FRITZ!Box zustande kommt oder nicht, zeigt spätestens der Paketmitschnitt an der FRITZ!Box.
 
Entschuldige, hatte einen langer Tag...

Das Debug-Log sieht NICHT unterschiedlich aus. Der einzige Unterschied zw. "Systemstart" und "Login-Start" ist jeweils die Fehlermeldung; Systemstart = "Error: cannot connect", Login-Start = "Connected to"... Weder zusätzliche noch andere Einträge... :confused:

Die beissende Aussage bezog sich auf Fritzcap das keine Verbindung hatte, aber das nc-Kommando keinen Fehler ausgab...

Werde die Tage mal einen Test mit Mitschnitt der Fritz machen (also das komplette Log ziehen, wenn der NAS neu startet), guter Tip, danke!!

Werd mich mal im Betrieb bei unserer "Technik" umhören, ev. hat dort einer die zündende Idee... Wenn ich ein Ergebnis hab, melde ich dies natürlich hier :)
 
@ KAUDN:

Kannst Du mal während eines korrekt laufenden fritzcaps die Ausgabe von ps auf dem NAS hier posten ?
 
Hallo,

ich habe mir Fritzcap 1.9.1 r12 installiert um VOIP Gespräche die über meine Fritzbox 7490 OS6.3 laufen mitzuschneiden.
Python ist installiert , in fritzcap.py habe ich das Passwort eingetragen, aber wenn ich die Anwendung starten möchte, öffnet sich nur für ein Sekundenbruchteil ein schwarzes Fenster.

Ich tippe mal einfach ins blaue, das es daran liegt, das ich meiner Fritzbox einen Benutzernamen verpasst habe, den ich vor dem einloggen zusätzlich zum Passwort auswählen muß.
Das Passwort habe ich wie gesagt eingetragen, aber eine Zeile für den Benutznamen konnte ich nicht finden.

Könnt ihr mir weiter helfen?

Viele Grüße

Tom
 
Zuletzt bearbeitet:
Ich habe jetzt den Benutzer raus genommen, so das man sich nur mit Passwort anmelden muß. Trotzdem geht nur für ein Sekundenbruchteil das schwarze Fenser auf ohne das was passiert.
Habt ihr eine Idee woran es liegen kann?
Mein Betriebssystem ist übrigens Win7.
 
@81Tom:
Aus reiner Neugierde meinerseits mal die Frage, ob Du Dich tatsächlich "der Mühe" unterzogen hast, #1 auch mal zu lesen?
81Tom schrieb:
ich habe mir Fritzcap 1.9.1 r12 installiert
#1 schrieb:
Hier kann die Version 2.1.0 heruntergeladen werden (Support für FritzBox ab Firmware 05.50).
Wenn Du das getan haben solltest und Dich bewußt für die ältere Version entschieden hast, läßt Du uns dann an Deinen Gründen teilhaben?

Ansonsten hilft ja auch das Einschalten einer erweiterten Protokollierung für Python, um zu einer aussagekräftigen Fehlermeldung zu kommen.

Abgesehen davon hört sich diese "Fehlerbeschreibung" (die Gänsefüßchen sind Absicht) eher danach an, als wenn da jemand ein Python-Skript mit einem CLI-Programm unter Windows per Doppelklick ausführen will und das schon beim Start der Umgebung mit Anlauf gegen den Baum geht.

Wenn das tatsächlich so sein sollte, müßtest Du Dich über den generellen Unterschied zwischen einer graphischen Oberfläche und der Verwendung der Kommandozeile (CLI - Command Line Interface) - unter deutschenm Windows gemeinhin als "Eingabeaufforderung" übersetzt, wegen des englischen Originals "command prompt" - informieren.
 
Zuletzt bearbeitet:
Vielen Dank für die schnelle Antwort!

Ja, ich hatte die alte Version, ja ich habe doppelgeklickt. :eek:

Zwischenzeitlich habe ich mich durch die Beiträge hier durchgelesen, die neue installiert und versucht fritzcap über die Eingabeaufforderung zu starten.


C:\Users\Büro\Desktop\fritzcap-2.1.0>fritzcap.py -c -d -m
Traceback (most recent call last):
File "C:\Users\Büro\Desktop\fritzcap-2.1.0\fritzcap.py", line 39, in <module>
import argparse
ImportError: No module named 'ConfigParser'


C:\Users\Büro\Desktop\fritzcap-2.1.0>fritzcap.py -c
Traceback (most recent call last):
File "C:\Users\Büro\Desktop\fritzcap-2.1.0\fritzcap.py", line 39, in <module>
import argparse
ImportError: No module named 'ConfigParser'

Diesmal kam das dabei heraus.
 
Na dann steht ja jetzt da, was Deiner Python-Installation noch fehlt für die erfolgreiche Ausführung des Skripts. ;)

EDIT: Kleiner Tipp am Rande, weil ich mal vermute, Du hast eine neuere Python3-Version installiert: https://docs.python.org/2/library/configparser.html
 
Ich habe jetzt den ganzen Vormittag rumprobiert, bekomme es aber nicht hin. Zwischenzeitlich hatte ich auch Python 2.7.10 drauf, aber da hatte ich Probleme mit den Umgebungsvariablen.
Wie genau starte ich fritzcap unter Python 3.5 mit dem 2to3 Script?

Viele Grüße

Tom
 
Entweder Du installierts das fehlende Modul händisch für Dein Windows-System, oder Du benutzt das Umwandlungsskript, welches sich (laut Doku) in Tools/scripts befinden soll.
Im Fall von Letzterem also sowas wie
Code:
$ 2to3 fritzcap.py
 
Ja, wobei eine Installation eines fehlenden Moduls für mich nicht nachvollziehbar ist. "configparser" ist ja auch in Python3 im Core vorhanden, nur der Name hat sich geändert (der Backport existiert m.W. wegen einiger zusätzlicher Eigenschaften/Methoden der 3er-Version von "configparser") und paßt damit nicht mehr, wenn der alte Name aus Python2 ("ConfigParser") verwendet wird.

Also mit 2to3 konvertieren ... entweder wird ein Patch-File erstellt (bei Aufruf ohne weitere Optionen, das braucht dann noch ein passendes Patch-Kommando, was unter Windows eher selten zu finden ist) oder man läßt gleich eine Kopie des originalen Codes direkt modifizieren (mit der w-Option).

Dann startet man eben diese modifizierte Form und wenn ansonsten nichts "Python2-Spezifisches" im Code vorhanden ist, was die "Fixers" nicht behandeln, dann klappt das auch.

Allerdings würde ich immer noch nicht auf die Idee mit dem 2to3 kommen (solange man nicht selbst mit Python programmieren bzw. zumindest Fehler in Python-Code suchen kann) ... das ist halt für Python2 geschrieben (Schlußfolgerung aus dem Modulnamen) und dann ist das Einrichten einer Python2-Umgebung sicherlich einfacher für "Nur-Installierer".
 
Nochmal vielen Dank für eure Hilfe!

Leider scheinen meine Computerkenntnisse nicht ausreichend zu sein um das zum laufen zu bekommen.

Gibt es alternative, 08/15 User freundliche Möglichkeiten Sprachaufzeichnungen von VOIP Telefonaten zu erstellen?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.