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

Okay, was genau ist in dem *mix_0_1.wav zu hören ?

Also _0 enthält die Tonspur meines ISDN-Telefons
_1 ist nur ganz kurz und enthält quasi gar nichts
_2 enthält die Tonspur des Anrufers.
mix_0_1 ist vermutlich der Mix von _0 und _1, wobei das quasi _0 entspricht, da _1 wie gesagt nur kurz ist und quasi keinen Ton enthält.
 
Hallo,

ich habe mir die fritzcap-version 2.1.0 heruntergeladen.

Ich nehme an, dass ich das Tool nur unter Linux verwenden kann. Gibt es vielleicht inzwischen auch eine Version für Windows-XP oder Windows 7?

Meine Fritzbox: 7490 Firmware: 6.05

Danke für Eure Hilfestellung!

Viele Grüße
Sanctum
 
Fritzcap an 6360 Cable funzt nicht

Dann könnte hier das Problem liegen. Wenn Du Dir die Definition von lenmap anguckst (insbesondere die Kommentare)

siehst Du, dass die Payload-Types der Codecs scheinbar für DSL "hardcoded" sind (0,8,13). Du müßtest also versuchen herauszufinden, welcher Codec zu Deiner mit Wireshark ermittelten Paketlänge gehört und den Dekoder entsprechend erweitern.
Dann wäre interessant zu wissen, ob jemand im Forum unterwegs ist, der fritzcap erfolgreich an einem Kabelanschluss betreibt.

Moin JohnDoe

Ich betreibe seit neuestem eine 6360 Cable aber leider NICHT erfolgreich.
Mit der 7390 an einem Telekom Anschluß lief alles noch super, aber seit dem Wechsel zu Kabel Deutschland ranzt der völlig ab.
Entweder bekomme ich die Meldung "Not authorized" bzw wenn nicht die dann noch während des Gesprächs "Invalid PCAP Header"
Auf der Box läuft OS 06.05

Wenn ich auch beruflich in der IT arbeite, und mit dort sehr gut auskenne, reichen meine Kenntnisse in diesem Bereich nicht so wirklich weit.
Mehr als die offensichtlichen Einstellungen in den Config Files kriege ich nicht auf die Reihe.

Daher bin ich für Ideen jeglicher Art mehr als offen!
 
Entschuldige mein Unwissen, aber ich weiß leider nicht, wo das eingetragen werden muß.
Wäre dir für etwas Hilfe äußerst dankbar!!
 
Du kannst versuchen, obige Zeilen in der class G711Decoder in /core/g711_decoder.py zu ergänzen.
 
@JohnDoe:
Vielen Dank für Deine Hilfe.
Für jemanden der sich mit Python nicht auskennt, ist das ganze echt ein Buch mit sieben Siegeln...
So, die Zeile ist eingetragen, jetzt muß ich nur noch das Problem mit der Autentifizierung lösen.

Egal wie ich es mache, irgendwie weigert sich die Fritte.
Versucht habe ich bislang:
1. Box ohne PW
2. Box mit PW und Eintrag in der fritzcap.py
3. Box mit PW und ohne Eintrag des PW in der fritzcap.py (Abfrage im cmd)
Natürlich habe ich den Eintrag login_not_required dementsprechend angepasst.

Ich wüßte nicht, wo ich noch suchen soll, daher bin ich für alle Vorschläge offen.
 
Du hast auch die richtige fritzcap-Version ausgewählt ? Welche FW-Version läuft auf der Box ?
 
Also die Box ist eine 6360 cable von Kabel Deutschland
Das OS ist derzeit 06.05
Ich würde auch ein custom OS nutzen, nur konnte ich mich aus Zeitgründen noch nicht näher damit beschäftigen.
Dank der Einschränkungen von KabelD. ist es ja nicht so ganz ohne, da mal eben was neues aufzuspielen, ohne Gefahr zu laufen das auf einmal gar nichts mehr geht.

Ich habe eben nochmal eine "nackte" Fritzcap 2.1.0 runtergeladen, und sauber neu angefangen, da ich nach zig Versuchen den Fehler zu beheben auch nicht mehr hundertprozentig wußte was inzwischen so alles verdreht war.
Anschließend habe ich die Zeile:
{'len': 298, 'chunk': 240, 'offs': 58, 'encap' : 'SWNNET' }, # SWNNET
wieder in die g711_decoder.py eingetragen.

Stand JETZT:
Die Autehtifizierung scheint zu klappen.
Allerdings erhalte ich bei einem Anruf immer noch die Fehlermeldung zum PCAP Header.
Es wird auch eine cap Datei erzeugt, jedoch ist diese komplett leer.

Hier das Log:

2014-07-15 12:44:38,456 [INFO ] FritzCap started.
2014-07-15 12:44:38,463 [INFO ] Connect to the call monitor service on 192.168.100.254:1012.
2014-07-15 12:44:38,480 [INFO ] Connected to the call monitor service on 192.168.100.254:1012.
2014-07-15 12:45:03,700 [INFO ] Call (ID:1, ActiveCalls.:1, Caller:494121789xxxx, DialedNumber:01766150xxxx#, LinePort:SIP0)
2014-07-15 12:45:04,486 [INFO ] Start capture (capture_file:'captures/07-15/124504/capture.cap').
2014-07-15 12:45:17,730 [INFO ] Disconnect (ID:1, ActiveCalls.:0, Caller:494121789xxxx, DialedNumber:01766150xxxx#, LinePort:SIP0)
2014-07-15 12:45:28,375 [INFO ] Capture finished (capture_file:'captures/07-15/124504/capture.cap').
2014-07-15 12:45:28,375 [INFO ] Decode process started (worker_id:1, file:'captures/07-15/124504/capture.cap')
2014-07-15 12:45:28,377 [ERROR ] Seems, there is no valid PCAP file
2014-07-15 12:45:28,377 [INFO ] Decode process finished (worker_id:1, file:'captures/07-15/124504/capture.cap')


Any ideas????
 
Verwende mal den Paketmitschnitt der Box selber bei einem Anruf und untersuche mit Wireshark die Paketlänge wie hier. Vermutlich ist 298 Bytes noch nicht die richtige Länge.
 
Da bin ich wieder.
Sorry für mein Unwissen, aber ich komme nicht so wirklich weiter.
Mitschnitt ist gemacht, und in Wireshark geladen.
Wie finde ich denn nun die notwendigen Infos raus??
 
Die Paketlänge findet man in Wireshark in der Spalte mit dem Namen "Length", ein paar Infos zum Inhalt der Pakete (wie bspw. den Codec) findet man in der Spalte mit dem Namen "Info".
Evtl. mußt Du die Paketlänge in der Decoder-Klasse, z.B. nach Durcharbeiten hiervon anpassen.
 
Ich hab folgenden eintrag. Aber kein fehler in den logs... es zeigt zwar an wer anruft oder wenn ich anrufe und auflege aber zeichnet nicht auf..
fritz box 7312 1&1 version 6.03
Code:
2014-07-18 11:01:42,910 [INFO    ] FritzCap started.
2014-07-18 11:01:44,549 [INFO    ] Connect    to the call monitor service on 192.168.177.1:1012.
2014-07-18 11:01:44,573 [INFO    ] Connected  to the call monitor service on 192.168.177.1:1012.
2014-07-18 11:02:16,612 [ERROR   ] Login attempt was made, but something was wrong:

und in der debug

Code:
2014-07-18 14:15:42,933 [MainThread::3508 ] [INFO    ] [        fritzcap::<module>          ] FritzCap started.
2014-07-18 14:15:42,933 [MainThread::3508 ] [DEBUG   ] [        fritzcap::<module>          ] Command line parameters: ['fritzcap.py', '-c', '-m', '--config_file', 'fritzcap.conf']
2014-07-18 14:15:42,933 [MainThread::3508 ] [DEBUG   ] [        fritzcap::<module>          ] Parsed parameters:       Namespace(after_capture_time=10, box_name='192.168.177.1', call_service_port=1012, cap_file='capture_%(tcaps.YmdHMS).cap', cap_folder='captures/%(tcaps.Y-m-d/HMS)/', capture_files=True, config_file=<open file 'fritzcap.conf', mode 'r' at 0x00CA4808>, decode_files=None, decode_workers_count=2, default_login='getpage=../html/de/menus/menu2.html&errorpage=../html/index.html&var:lang=de&var:pagename=home&var:menu=home&=&login:command/password=%s', logging_config='logging.conf', login_not_required=None, monitor_calls=True, password=None, protocol='http', sid_challenge='getpage=../html/login_sid.xml', sid_login='login:command/response=%s&getpage=../html/login_sid.xml', start_str='?start=1&start1=Start', stop_str='?stop=1&stop1=Stop')
2014-07-18 14:15:46,213 [MainThread::3508 ] [DEBUG   ] [ capture_monitor::__init__          ] CaptureMonitor(decode_work_queue:'None', data_map:'{'tcall': datetime.datetime(1900, 1, 1, 0, 0), 'tconn': datetime.datetime(1900, 1, 1, 0, 0), 'tdisc': datetime.datetime(1900, 1, 1, 0, 0), 'pbook_number.0177111222': 'MeineFrau-Handy', 'pbook_number.0048177111222': 'MeineFrau-Handy', 'tocall': datetime.datetime(1900, 1, 1, 0, 0), 'tcape': datetime.datetime(1900, 1, 1, 0, 0), 'pbook_name.MeineFrau-Handy': '0048177111222', 'toconn': datetime.datetime(1900, 1, 1, 0, 0), 'pbook_name.ZuHause': '0448556694', 'pbook_number.0448556694': 'ZuHause', 'tstart': datetime.datetime(2014, 7, 18, 14, 15, 42, 910000), 'tcaps': datetime.datetime(1900, 1, 1, 0, 0), 'pbook_number.8556694': 'ZuHause', 'todisc': datetime.datetime(1900, 1, 1, 0, 0)}', box_name:'192.168.177.1', password:'0000', protocol:'http', cap_folder:'captures/%(tcaps.Y-m-d/HMS)/', cap_file:'capture_%(tcaps.YmdHMS).cap', login_required:'True', default_login:'getpage=../html/de/menus/menu2.html&errorpage=../html/index.html&var:lang=de&var:pagename=home&var:menu=home&=&login:command/password=%s', sid_challenge:'getpage=../html/login_sid.xml', sid_login:'login:command/response=%s&getpage=../html/login_sid.xml', start_str:'?start=1&start1=Start', stop_str:'?stop=1&stop1=Stop', after_capture_time:'10')
2014-07-18 14:15:46,213 [MainThread::3508 ] [DEBUG   ] [    call_monitor::__init__          ] CallMonitor(capture_monitor:'<CaptureMonitor(Thread-1, initial)>', box_name:'192.168.177.1', call_service_port:'1012').
2014-07-18 14:15:46,213 [  Thread-2::3968 ] [DEBUG   ] [    call_monitor::run               ] Thread started.
2014-07-18 14:15:46,213 [  Thread-2::3968 ] [INFO    ] [    call_monitor::init_connection   ] Connect    to the call monitor service on 192.168.177.1:1012.
2014-07-18 14:15:46,260 [  Thread-2::3968 ] [INFO    ] [    call_monitor::init_connection   ] Connected  to the call monitor service on 192.168.177.1:1012.
2014-07-18 14:15:46,260 [  Thread-2::3968 ] [DEBUG   ] [    call_monitor::run               ] Wait for call monitor status change.
2014-07-18 14:15:46,355 [  Thread-1::3152 ] [DEBUG   ] [ capture_monitor::run               ] Thread started.
2014-07-18 14:15:46,355 [  Thread-1::3152 ] [DEBUG   ] [ capture_monitor::init_login        ] Login attempt to the the FritzBox (box_name:192.168.177.1)
2014-07-18 14:15:46,355 [  Thread-1::3152 ] [DEBUG   ] [ capture_monitor::init_login        ] Call the challange token url (url:'http://fritz.box/login_sid.lua')
2014-07-18 14:16:18,088 [  Thread-1::3152 ] [ERROR   ] [ capture_monitor::init_login        ] Login attempt was made, but something was wrong: 
2014-07-18 14:16:18,088 [  Thread-1::3152 ] [DEBUG   ] [ capture_monitor::run               ] Could not login. Stop the capture thread.
2014-07-18 14:16:18,088 [  Thread-1::3152 ] [DEBUG   ] [ capture_monitor::run               ] Thread stopped.

callmonitor geht, nur login nicht..

Code:
[settings]
# capture_files        =
# decode_files         =
# monitor_calls        =
password             = 0000

# logging_config       =
box_name             = 192.168.177.1
# call_service_port    = 1012
# login_not_required   =
# protocol             = http
cap_folder             = captures/%(tcaps.Y-m-d/HMS)/
cap_file               = capture_%(tcaps.YmdHMS).cap
# after_capture_time   = 10
# decode_workers_count = 2

default_login   = getpage=../html/de/menus/menu2.html&errorpage=../html/index.html&var:lang=de&var:pagename=home&var:menu=home&=&login:command/password=%s
sid_challenge   = getpage=../html/login_sid.xml
sid_login       = login:command/response=%s&getpage=../html/login_sid.xml
start_str       = ?start=1&start1=Start
stop_str        = ?stop=1&stop1=Stop

[phone_book]


wo kann man eigentlich nen user name angeben?
da gibt es keine option


Lösung war das:
http://www.ip-phone-forum.de/showthread.php?t=232682&page=4&p=1912129&viewfull=1#post1912129

hab die angepasste datei mal angehängt...
 

Anhänge

  • capture_monitor.zip
    3.9 KB · Aufrufe: 34
Zuletzt bearbeitet:
Hallo,

ich habe mir die fritzcap-version 2.1.0 heruntergeladen.

Ich nehme an, dass ich das Tool nur unter Linux verwenden kann. Gibt es vielleicht inzwischen auch eine Version für Windows-XP oder Windows 7?

Meine Fritzbox: 7490 Firmware: 6.05

Danke für Eure Hilfestellung!

Viele Grüße
Sanctum

Alles was Du brauchst steht auf Seite 1
Nimm Python Version 2.7
 
Hallo,

erstmal ein Dankeschön an die Entwickler und Programmierer dieses genialen Programms. Ich bin schon seit Jahren auf der Suche nach einer praktikablen Lösung zum Mitschneiden der Gespräche über meine Fritzbox. Fritzcap hat mich mittlerweile fast ans Ziel gebracht. Einen Denkfehler habe ich aber anscheinend noch:

Fritzcap läuft auf meiner Synology DS112+ mit Python 2.7. und versucht die 1und1 VoIP Gespräche der Fritzbox 7390 FW:6.04 mitzuschneiden. Fritzcap funktioniert soweit, dass Gespräche über den Callmonitor erkannt werden, eine capture Datei erzeugt wird, und im Anschluß auch die Worker Prozesse zum Erzeugen der Audio Files ausgeführt werden. Leider existieren danach keine Audio Files im Capture Verzeichnis.
Das Problem ist meiner Meinung nach, dass Fritzcap (bei meiner Konstellation) den falschen Paketmitschnitt von der Fritzbox aufzeichnet. Erklärung folgt:

Nach der Aufzeichnung befindet sich lediglich eine 1 bis 2KB große capture2014xxxx.cap Datei im Capture Verzeichnis im Fritzcap Pfad. Diese Datei ist bei mir aber auch nicht größer wenn ich manuell über die Fritzbox-Capture-html-Page über den erstern Start Button (1. Internetverbindung) versuche die Pakete mitzusniffen. Die VoIP Audio Daten sind nur im Netzwerk Stream enthalten, wenn ich manuell über den zweiten (2. Internetverbindung) oder den fünften (Routing-Schnittstelle) Start Button Sniffe. Danach erhalte ich mit "fritzcap -d /manuellesFritzbox.cap" einen super Gesprächsmitschnitt.

Ich weiß leider nicht wie ich Fritzcap dazu überrede, den zweiten Start-Button zu drücken, also die "2. Internetverbindung" der Fritzbox mit zu sniffen. Versucht habe ich schon den "start_str": '?start=1&start1=Start', in der fritzcap.py zu ändern, aber leider ohne erfolg.
fritzbox_capture.PNG
 
Wie schaut die Config aus? Ich würde vermuten, dass die FB kein passwort hat.
Poste bitte hier mal den Inhalt von dem erzeugten cap-File, drin soll die Fehlermeldung stehen.
 
Mein Problem war das ich den start_str nicht in der config sondern in der fritzcap.py default section geändert hatte und somit die standard config meine Einstellungen wieder überschrieben hat.
jetzt habe ich in der config folgendes Eingetragen und es funktioniert: "start_str": '?start=2&start2=Start'

zum Schluß brauche ich nur noch ein Start Skript für die Synology, die das fritzcap im hintergrund automatisch startet -> werde ich wahrscheinlich wie schon hier im Thread erwähnt mit "screen" versuchen.

Vielen Dank.
 
Hallo Zusammen,

ich habe ein Problem mit dem Login, wenn der Name der Box anders als fritz.box lautet.
Lasse ich alles beim default läuft der Anmeldeprozess ohne Probleme.
Wenn ich aber in der hosts datei den namen hinterlege als beispiel "192.168.0.1 hfb" dann schlägt der Login Versuch fehl.

Auszug aus dem Debug Log im Anhang:
Code:
2014-08-31 15:52:55,285 [  Thread-4::-1234738064] [INFO    ] [    call_monitor::init_connection   ] Connect    to the call monitor service on hfb:1012.
2014-08-31 15:52:55,346 [  Thread-4::-1234738064] [INFO    ] [    call_monitor::init_connection   ] Connected  to the call monitor service on hfb:1012.
2014-08-31 15:52:55,349 [  Thread-4::-1234738064] [DEBUG   ] [    call_monitor::run               ] Wait for call monitor status change.
2014-08-31 15:52:55,386 [  Thread-3::-1243229072] [DEBUG   ] [ capture_monitor::run               ] Thread started.
2014-08-31 15:52:55,387 [  Thread-3::-1243229072] [DEBUG   ] [ capture_monitor::init_login        ] Login attempt to the the FritzBox (box_name:hfb)
2014-08-31 15:52:55,388 [  Thread-3::-1243229072] [DEBUG   ] [ capture_monitor::init_login        ] Call the challange token url (url:'http://fritz.box/login_sid.lua')
2014-08-31 15:52:55,488 [  Thread-2::-1252031376] [DEBUG   ] [  capfile_worker::run               ] Thread started.
2014-08-31 15:52:55,590 [  Thread-1::-1260419984] [DEBUG   ] [  capfile_worker::run               ] Thread started.
2014-08-31 15:52:55,606 [  Thread-3::-1243229072] [DEBUG   ] [ capture_monitor::init_login        ] Call the read seed token url (url:'http://fritz.box/login_sid.lua?username=root&response=b23e2c
2014-08-31 15:52:55,990 [  Thread-3::-1243229072] [ERROR   ] [ capture_monitor::init_login        ] Could not login to the FritzBox: Not authorized.

Der Capture Vorgang wird immer mit dem Namen fritz.box in der URL aufgerufen...
Code:
http://fritz.box/login_sid.lua'
... ist das ein BUG oder muss das so sein?

Danke und Gruß, Stefan.
 
Das ist ein Bug. Schau dir mal Post #173 an, da steht die Lösung.
 
Capture.JPGAnhang anzeigen 77973Capture.JPGHallo,
habe fritzcap 2.1 mit python ins freetz installiert. Die capture läuft soweit gut, aber das WAV-Decodieren schein noch nicht zu klappen. Im früheren Beitrag weiss ich dass es nur ander g711_decoder.py liegen muss, weil das manuelles Extrahieren des Gespräch aus dem .cap-file im Wireshark funktioniert ja. Das Dekodieren aus fritzcap ergibt nur Rauschen.
Aber ich weiss nicht wie man die g711_decoder.py für meinen Bedarf modifiziert. Aus Wireshark finde ich folgendes wieder:
Framelänge: 226
PPPoE Payload length: 202
Daraus ergibt ja offset: 24 oder ?
und wo findet man 'encap' : 'VDSL' heraus ?
original ist ja folgendes:
lenmap = [
# PacketLength, AudioChunkLength, Offset of audio data, descriptive text
{'len': 306, 'chunk': 240, 'offs': 66, 'encap' : 'VDSL' }, # VDSL
{'len': 226, 'chunk': 160, 'offs': 66, 'encap' : 'VDSL' }, # VDSL
# VDSL ComfortNoise ?? not seen yet

{'len': 232, 'chunk': 160, 'offs': 72, 'encap' : 'DSLPPPoE' }, # DSL (PPPoE)
{'len': 312, 'chunk': 240, 'offs': 72, 'encap' : 'DSLPPPoE' }, # DSL (PPPoE)
{'len': 73, 'chunk': 0, 'offs': 72, 'encap' : 'DSLPPPoE' }, # DSL (PPPoE) ComfortNoise

{'len': 214, 'chunk': 160, 'offs': 54, 'encap' : 'DSLETH' }, # DSL (ETH)
{'len': 294, 'chunk': 240, 'offs': 54, 'encap' : 'DSLETH' }, # DSL (ETH)
{'len': 55, 'chunk': 0, 'offs': 54, 'encap' : 'DSLETH' }, # DSL (ETH) ComfortNoise
]

Kann jemand bitte mir unter die Arme greifen ?
Nochwas: ich habe hier 1und1-VDSL 25000 wenn das was hilfs. Und Bild hier vom Wireshark:

Danke schon mal
 
Zuletzt bearbeitet:
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.