Wie kann man den UA (User Agent) bei der FritzBox personalisieren/umsetzen?

voipd

IPPF-Promi
Mitglied seit
5 Mai 2005
Beiträge
3,187
Punkte für Reaktionen
4
Punkte
38
Hallo zusammen,

an andere Stelle wurde das Thema schon mal aehnlich thematisiert, aber ich will mal eine konkrete Frage stellen. :)

Wie kann ich den UA (User Agent) bei der FritzBox personalisieren/umsetzen?
Code:
User-Agent: AVM FRITZ!Box Fon WLAN 08.04.26 (Sep  6 2006)

Ich moechte gerne den String so aendern, das die Box eindeutig erkennbar ist.


Danke.

voipd.
 
Wo kommt das denn?
Hast du schomal probiert den String in der rc.init zu ändern?

MfG Oliver
 
Aus dem Kopf zitiert:

Code:
sipsak -v -s sip:IpDerFritzBox | grep "User-Agent"
;)

Dieser User-Agent String wird auch bei simply-connect und dus.net im Kundenmenue angezeigt.

BTW: Wie aendert man den String in rc.init? Einfach mit nvi?

voipd.
 
AND is possible modify UA string?

rc.init not exist in FBF and sililiar scripts is RO.
 
nobody have any idea? If yes, please hint me...
 
Hallo,
das Thema ist zwar schon eine Weile her, aber via Google bin ich bei genau diesem Problem auf diesen Thread hier gelandet. Und da es scheinbar noch keine Lösung gibt/gab, habe ich mich selber etwas auf die Suche gemacht.

Fazit: Der User-Agent String lässt sich modifizieren, allerdings mehr oder weniger kompliziert. Es gibt keinen direkten Konfigurationsparameter in der voip.cfg o.ä., womit sich dies realisieren lässt.

Der User-Agent String, mit dem sich die FritzBox an SIP-Servern anmeldet, wird dynamisch vom 'voipd' generiert. Dieser setzt sich wie folgt zusammen:

Code:
"AVM" + " " + $CONFIG_PRODUKT_NAME + " " + $CONFIG_VERSION_MAJOR + "." + $CONFIG_VERSION + " " + "(MMM DD YYYY)"

Die $CONFIG_* Variablen sind ganz normale Umgebungsvariablen, die entsprechend gesetzt sind, während der voipd gestartet wird. Diese sind standardmäßig vorbelegt, können speziell für den Programmstart des voipd aber auch nach belieben modifiziert werden.

Am besten funktioniert dies, wenn man das init-Skript /etc/init.d/rc.voip anpasst.
Ich habe dazu in diesem Skript nach der Definition der PATH-Variable die folgenden Zeilen eingefügt:
Code:
export CONFIG_PRODUKT_NAME="FRITZ!Box Fon WLAN"
export CONFIG_VERSION_MAJOR="08"
export CONFIG_VERSION="04.26"
Das führt nun dazu, dass diese Werte für den voipd (und auch nur für den) entsprechend überschrieben werden. Das Ergebnis resultiert dann in dem im Ausgangsposting erwähnten User-Agent String.

Diese Modifikation des init-Skripts ist natürlich nur durch tiefere Eingriffe z.B. in Freetz möglich, da das Filesystem der FritzBox-Firmware read-only ist.

Am Ende des User-Agent Strings wird in Klammern noch ein Datumsstempel des voipd eingefügt. Dieses Datum wird nicht aus einer Umgebungsvariable entnommen, sondern ist fest direkt in das Binärfile /bin/voipd einkompiliert.

Solange dieser Datumsstring jedoch nicht in der Länge verändert, sondern z.B. nur auf andere Werte gesetzt werden soll, so ist auch das machbar. Dazu muss das Binärfile /bin/voipd auf dem PC mit einem Hexeditor geöffnet werden. Dort sucht man nach der ASCII-Zeichenfolge, die der voipd aktuell als Datum überträgt. Hat man dieses gefunden, kann man die entsprechenden Zeichen einfach mit neuen Werten überschreiben. Dabei unbedingt darauf achten, wirklich nur die ASCII-Zeichen zu überschreiben, und kein Byte davor oder dahinter. Diese String-Konstante steht nämlich ziemlich zufällig in der Landschaft. Das modifizierte Binary lässt sich dann z.B. im Freetz Buildvorgang wieder in die Firmware einschleußen.

Damit wäre nun auch diese Geheimnis gelüftet.
Vielleicht hilft es ja irgendwem. :rolleyes:
 
Hallo dfroe,

lange ist es her, aber Informationen sind manchmal haltbarer als man denkt. ;) Danke fuer deine Infos.


Fritzboxen seit 6.00 melden das nun anders:

User-Agent: AV FRITZ!Box Fon WLAN 7240 (UI) 73.05.53 (Sep 16 2013)
User-Agent: FRITZ!OS

Der zweite Einfrag ist von einer 7240 mit "FRITZ!OS 06.01-27185 BETA", wobei anscheinend "alle" neuen Boxen sich so melden. Was mit den Zwischenversionen ist weiss ist nicht, da es fuer die 7240 nix dazwischen hab. *)

Eine Loesung fuer die Anpassung des User Agenten habe ich nicht gefunden.

voipd.

*) Das Sicherheitsupdate mit der Rev *54*, das nach der 06.01-27185 BETA kam habe ich nicht getest.
 
Zuletzt bearbeitet:
Hallo

Zur Info meine Beobachtungen dazu, dokumentiert aus dem SIP Trace meines snom Telefons.
Kurz: Bei Unauthorized gibts den Kurzen, bei Erfolg den Langen UA.
(FW Version im ErfolgsUA ;) )

Unauthorized
Code:
Received from udp:192.168.178.1:5060 at 8/2/2014 23:38:21:192 (385 bytes):
SIP/2.0 401 Unauthorized
...
User-Agent: FRITZ!OS

OK
Code:
Received from udp:192.168.178.1:5060 at 8/2/2014 23:38:21:223 (992 bytes):
SIP/2.0 200 OK
...
User-Agent: AVM FRITZ!Box Fon WLAN 7360 SL 109.06.03 (Feb 7 2014)

Manipulation
Der Export der entsprechenden Variablen wäre eine Massnahme.
Die manipulierten Variablen beim Programmstart mitgeben, eine Andere.
Testet mal dass hier:
Code:
# voipd -s
# env -i CONFIG_PRODUKT_NAME="koysvoice" CONFIG_VERSION_MAJOR="08" CONFIG_VERSION="08.15" voipd

SIP Trace:
Code:
User-Agent: AVM koysvoice 08.08.15 (Feb 7 2014)
 
Zuletzt bearbeitet:
Hallo koyaanisqatsi.

Interessante Idee. :)

Wenn ich das nach Deinem Vorschlag mache, dann bleibt der unangemeldete User-Agent so: "User-Agent: FRITZ!OS".

Selbst der angemeldete User-Agent aendert sich bei mir nicht, bzw. ich habe das falsch Tools benutzt um es abzufragen?? So wie ich es abfragen konnte wird die "7240 6.03-27396" als "'AVM FRITZ!Box 0.00.00 (Feb 8 2014)" angezeit. Eine Anmeldung und Abfrage mit sipsak habe ich noch nicht hinbekommen.



voipd.
 
Ich hab die SIP Trace Logs meiner snom 320 IP-Telefone dafür benutzt.
Einmal reregistrieren ist schon angesagt. ;)
Bei/Mit sipsak müsste das dann auch so sein.
 
Thank you! It worked like a charm with my 7270v2

Code:
# voipd -s
# env -i CONFIG_PRODUKT_NAME="koysvoice" CONFIG_VERSION_MAJOR="08" CONFIG_VERSION="08.15" voipd

SIP Trace:
Code:
User-Agent: AVM koysvoice 08.08.15 (Feb 7 2014)

It worked for me like a charm on FB 7270 v2. I've searched all internet to find a solution to manipulate User-agent of my Fritz!box. Thank you very much!
 
Is it possible to remove the first AVM string either via environment variables or hex edit?
 
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.