FritzBox: Tool für Etherreal Trace und Audiodaten-Extraktion

Status
Für weitere Antworten geschlossen.
Capture file locked for reading

Could you change the capture file to use deny writing only flag? Wireshark could be used live to read it...

Sorry if I'm too much in detail...
As I see it's a delphi app and if you don't want to play too much with API (I know that filestream.create with fmcreate does this...) you could simply have 2 steps, first create file with fmcreate and close, then open for write with deny write only.

Thanks for your efforts,
Gabriel
 
Hi Gabriel,

If I catch that right: You mean you'll have WS open, tracing the incoming packets? Currently I'm opening WS with the completely received file only.

filename := 'fritzcap_'+FormatDateTime('ddmmyy_hhnnss', Now)+'.cap';
FileStream := TFileStream.Create(filedir+'\'+filename, fmCreate or fmShareDenyWrite);



As you can see: The fmShareDenyWrite flag is already set, but probably not sufficient?

Nevertheless, that's quite a good idea. I'll check that tonight, probably I can come out with a new version ASAP.

Regards
 
Hi Gabriel,
FileStream := TFileStream.Create(filedir+'\'+filename, fmCreate or fmShareDenyWrite);

As you can see: The fmShareDenyWrite flag is already set, but probably not sufficient?

Nevertheless, that's quite a good idea. I'll check that tonight, probably I can come out with a new version ASAP.

Regards

If you read the VCL source, you'll see that fmCreate exclude the share flags. That's why I say you have to create, close, then reopen with share flag.

Regards and thanks for attention,
Gabriel
 
OK. I'm a bit far off D6, so sorry for the confusion.

I've changed it this way:

FileStream := TFileStream.Create(filedir+'\'+filename, fmCreate);
FileStream.Free;
FileStream := TFileStream.Create(filedir+'\'+filename, fmShareDenyWrite);

but I can't test it here for now. Would you mind to give it a try? I'll attach the exe here

Regards.
 

Anhänge

  • fritzcap.zip
    282 KB · Aufrufe: 41
OK. I'm a bit far off D6, so sorry for the confusion.

I've changed it this way:

FileStream := TFileStream.Create(filedir+'\'+filename, fmCreate);
FileStream.Free;
FileStream := TFileStream.Create(filedir+'\'+filename, fmShareDenyWrite);

but I can't test it here for now. Would you mind to give it a try? I'll attach the exe here

Regards.
You have to use fmOpenWrite at second call.
This is how I would write it:

TFileStream.Create(filedir+'\'+filename, fmCreate).Free; //no instance needed
FileStream := TFileStream.Create(filedir+'\'+filename, fmOpenWrite or fmShareDenyWrite);

Gabriel
 
OK, as I did :)

Attached.
 

Anhänge

  • FritzCap.zip
    282 KB · Aufrufe: 52
OK, as I did :)

Attached.

It works, but I wonder why WS does not have a "live" mode for file view... I have to use Ctrl+R explicitly.

However, this opens a new question: could it work directly in real-time (just with necessary delays for processing)? Depending on the API you used (WS, DShow?) for extracting/muxing, I imagine it could be possible to have one thread for capturing, and another for extracting/muxing new data.
That means... playng (listening) in real-time :) ...
It sounds ugly (as a purpose), but I'm just technically interested...

Regards,
Gabriel
 
Hi Gabriel,

the mix is done as a postprocess from a command line tool. Maybe it is possible to do the things in (nearly) realtime, but I doubt that I'll do that in any way :)

Regards
 
Hi Gabriel,

the mix is done as a postprocess from a command line tool. Maybe it is possible to do the things in (nearly) realtime, but I doubt that I'll do that in any way :)

Regards

No need to...
I wanted to track if there is any spam from my connection (there is at least one extra PC); 1und1 sent me an email about this (I doubt it, it looks more like ads for their security offer)...
This is how I found your tool for easy capturing (instead of going through the web if), but I also needed "live" WS analysis (filtering).

Thanks and regards,
Gabriel
 
Hallo Spongebob,
wenn Du über die Fernwartung der Fritzbox über das Internet auf eine 7170 zugreifen willst, geht das nur über https mit Benutzername und Passwort.
Warum das so ist? Ich vermute AVM will das so, damit da nicht jeder alles mitkriegt.

O-Ton im Fritzbox-Untermenü "Fernwartung": Sie können hier die sichere Fernwartung Ihrer FRITZ!Box freigeben. Diese Fernwartung erfolgt über HTTPS und ist durch den
Benutzernamen und das Kennwort geschützt.

Eingabefelder:
Fernwartung freigeben
Benutzername
Kennwort
Kennwort-Bestätigung
Vom Standard HTTPS-Port 443 abweichenden HTTPS-Port verwenden
 
geht das nur über https mit Benutzername und Passwort.

OK. Da gibt es nur eine Chance: Du lädst Dir IEWATCH und zeichnest das Login für die Fernwartung mal auf und schickst mir den kompletten Trace (Long Format, XML). Anschliessend werden wir mal versuchen, das Login über eine kleine HTML Post-Seite nachzubilden. Wenn das klappt, schaun wir weiter.

Kannst Du eigentlich - nach vorher erfolgtem Login für die Fernwartung - anschliessend FB nutzen? Oder geht das gar nicht?

Grüsse
 
mit FB meinst Du Fritzbox ? Natürlich funktioniert eigentlich alles wie gewünscht.

Wie gesagt, von hand marschiert über Browser einloggen, Mitschnitt erstellen funktioniert es ja.

Nur mit Fritzcap gehts nicht, auch nicht, wenn ich mich vorher per HTTPS eingeloggt habe. Es kommt die Fehlermeldung "Keine Aufzeichnung vorhanden".
Ich besorg mal IEWATCH und schick Dir was.
 
Arghh. Nein, mit FB meinte ich aus irgendwelchen Gründen FritzCap. Aber Du hast die Frage ja bereits beantwortet. In diesem Fall brauche ich nicht nur den Login Vorgang für die Fernwartung, sondern auch noch die Start/Stop-Sequenz für den Trace...

Mit FritzCap (FC) _sollte_ es aber funktionieren. Standardmässig wendet sich FC an "fritz.box". Wenn dieser Name nicht dem der Kiste entspricht, die Du loggen willst, so musst Du ihn in der Oberfläche ändern (Box: FB Name/Adresse)
 
Hab Dir ja mal den IEWatch log per email geschickt.

Also das mit den Einstellungen im Fritzcap über die *ini oder Eingabefelder ist mir schon klar.

Der Haken ist aber folgender:
a.) Wenn ich nicht in meinem Netz bin, sondern über Fernwartung auf die Box zugreife, dann geht das ja nur mit HTTPS. (Und natürlich möchte ich ja HTTPS eigentlich auch nicht umgehen). Firtzcap lässt HTTPS aber ggw. nicht zu.
Ich kann zwar die Adresse und ein Passwort eingeben. Aber das ganze kann ja nicht funktionieren, da Benutzer und Zertifikat von Fritzcap gar nicht gehandelt werden.

b.) Um mit Fritzcap jetzt aber auf eine Fritzbox über das Internet zuzugreifen, welche sich also nicht im Lokalen Netz befindet benötigt man ja HTTPS, weil die Fritzbox die Fernwartung nur in HTTPS abwickelt.

Damit allerdings das Fritzcap mit HTTPS klarkommt wäre sicher einiges zu tun: SSL, Zertifikate-Handling müsste noch rein. Ich habe keine Ahnung was das für ein Aufwand wäre und ob es da schon fertige Bausteine zur Implementierung von HTTPS gibt.

Ansonsten funktioniert Fritzcap ja bestens im lokalem Netz, egal welche IP´s ich verwende. Bei mehreren Netzwerken gehts aber nicht mehr über Fernwartung.

Ob das mit einer Portfreigabe in der Fritzbox funktionieren kann, weiß ich aber auch nicht.
Ggf. wäre das ja mit HTTP möglich? Was wären das dann für Port´s bei Fritzcap?
 
Super !!!

Teste gleich mal Deine Datei.

Melde mich nochmal
 
leider kommt immer noch der gleiche Fehler: "Keine Aufzeichnung vorhanden".
Es wird nichtmal ein Verzeichnis angelegt, was mir sagt das es nicht zum Start kommt.

Wenn ich parallel manuell starte gehts auch nicht mit Fritzcap.
Der manuelle Mitschnitt klappt.

Das mit HTTPS geht wohl nur mit zwei Varianten:
a.) Fritzcap onlineversion :))
b.) Fritzcap mit HTTPS umrüsten.

BTW: mit dem Manuellen Prozess hab ich auch noch ein Problem entdeckt: Das Stoppen funktioniert natürlich nur, wenn die HTTPS Verbindung noch steht, ansonsten muß man sich vorher nochmal einloggen.
 
Zuletzt bearbeitet:
Also da kommt ein X.509 Zertifikat (PEM) von der FB.
Danach kommt von FC: "Keine Aufzeichnung vorhanden"
 
OK, da war ich wohl etwas zu voreilig. FC benutzt eine ziemlich alte Version von Delphi (Delphi 6.2, mit Indy 8.2) Indy verwende ich für die HTTP Dinge. Leider kann diese Indy-Version offenbar kein HTTPS. Möglich wäre, den XMLHttpRequest zu verwenden. Dies bedürfte aber der Installation von MSXML > 2 (ist zwar fast überall vorhanden, aber nur fast).

Ich habe jetzt etwas Probleme damit, meine bestehende D6 Konfig durch "Rummüllen" mit Indy 10 (soll HTTPS können) durcheinanderzubringen. Genauso wenig gab/gibt es bislang Anforderungen bzwl. Secure.

Deswegen - keine Lösung hierfür momentan. Sorry.

Grüsse
 
Mit Portfreigabe funzt das natürlich auch nicht. (war eine blöde Idee von mir)

Aber nochwas: Wäre nett, wenn man das Verzeichnis zum Ablegen noch in der fritzcap.ini ändern könnte.
 
Zuletzt bearbeitet:
Nein, Portfreigabe hilft nicht. Was man bräuchte, wäre HTTPS (kann jeder Browser) und HTTP-BasicAuthentication (kann auch jeder Browser). Wie bereits gesagt, unterstützt die von mir verwendete Komponente beides nicht, leider.

Verzeichnis? Bei Gelegenheit mal...
 
Status
Für weitere Antworten geschlossen.
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.