.titleBar { margin-bottom: 5px!important; }

Howto: Werbeanrufe automatisch beenden lassen mit Freetz

Dieses Thema im Forum "Freetz" wurde erstellt von creon, 3 Feb. 2018.

  1. creon

    creon Neuer User

    Registriert seit:
    20 Jan. 2005
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #21 creon, 6 Feb. 2018
    Zuletzt bearbeitet: 6 Feb. 2018
    Am Client Identifier jetzt eher nicht. Oder ist dort die Trunk-Build oder das Build-Datum kodiert? Nicht getestet, aber kann ich mir gerade nicht vorstellen.
    Die Credentials sind aus nem Forumspost von Tellows selbst. Die dürften auch mehrere Leute nutzen.
    Nein, ich sehe da keine Chance.

    Hmm... sofern das mit IPv6 passiert, könnte ein statischer Teil in der IP-Adresse stecken. Hab bisher kein IPv6, hab noch einen Monat lang ADSL – aber nun vorsorglich ebenfalls meine alte Fritzbox getauscht, die ja nicht VDSL kompatibel ist.
     
  2. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    5,788
    Zustimmungen:
    56
    Punkte für Erfolge:
    48
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    #22 eisbaerin, 6 Feb. 2018
    Zuletzt bearbeitet: 6 Feb. 2018
    Ich meine aber die Credentials. In Verbindung mit den 2 erste Zahlen deiner IP, die sich meist nicht ändern, ist das schon ziemlich sicher.
    Die Abfrage geht auch ganz ohne: ?xml=0&partner=test&apikey=test123

    BTW: Heute ist Safer Internet Day
     
  3. creon

    creon Neuer User

    Registriert seit:
    20 Jan. 2005
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Doch, der IP Pool ändert sich bei mir (1und1) sehr häufig. Ich hatte das mal längere Zeit aufgezeichnet (1 - 2 Jahre), das war, als die Abmahnungen in Tauschbörsen häufig waren. Sollte ich mal eine unberechtigte Abmahnung erhalten, hätte ich zumindest für mich selbst checken können, obs stimmte. Als Beweis ist das natürlich eher weniger geeignet.

    Ich bin aber nie auf die Idee gekommen, den Tellow Score ohne Anmeldung zu erfragen.

    Edit: Credentials entfernt. Thx.
     
  4. PeterPawn

    PeterPawn IPPF-Promi

    Registriert seit:
    10 Mai 2006
    Beiträge:
    9,724
    Zustimmungen:
    257
    Punkte für Erfolge:
    83
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    #24 PeterPawn, 6 Feb. 2018
    Zuletzt bearbeitet: 6 Feb. 2018
    Wenn man die Abfrage mit "xml=1" macht als Query-String, kriegt man auch eine XML-Datei zurück (da steht der Score dann als XML-Entity "score" drin) - läßt sich ggf. besser parsen als eine HTML-Entity als "span".

    Aus Deinem anderen Thread muß man ja eigentlich schließen, daß Dir die Bedeutung der Kommandos für den "telefon"-Daemon (das ist das Programm, was da auf Port 1011 lauscht) geläufig ist - dort erklärst Du ja dann auch deren Notwendigkeit aus Deiner Sicht.

    Das "ATP" wählt einfach nur ein Telefoniegerät an der FRITZ!Box für die "Wählhilfe" aus (das muß nicht einmal existieren, solange das nur eine gültige Nummer (analog, ISDN, DECT) sein könnte - wobei auch 50 und 59 als Rundruf funktionieren und - zumindest bei meiner 7490 - auch beide als "ISDN-/DECT-Rundruf" angezeigt werden), das "ATD" wählt die angegebene Rufnummer und das "ATH0" legt dann die Leitung auf (on-hook - praktisch das Gegenteil von "ATD" und wohl erst dann wirklich wirksam in Bezug auf den aktuellen Anruf, wenn das "ATD" (und damit das Heranholen des Anrufs) erfolgreich war).

    Jedenfalls wird in der Regel jedes dieser Kommandos (so es erfolgreich war) mit einem "OK" quittiert und nach so einer Quittung macht es dann auch Sinn, das nächste Kommando hinterherzuschicken.

    Normalerweise (bei einem "echten Modem") würde auch hinter jedes einzelne Kommando ein Newline gehören, aber da ist der AVM-Daemon dem Anschein nach dann so tolerant (oder auch "falsch", aber das kann auch an seinem begrenzten Kommandoumfang liegen und es gab zwar in den Modems früher tatsächlich gesonderte (Steuer-)Register, in denen die Codes für CR und LF standen, damit das Modem wußte, womit die Zeilen beendet wurden - theoretisch könnte man das auch wie eine Standardeinstellung "ATS3=20" betrachten, womit dann tatsächlich das Leerzeichen zum "Kommandoende" mutiert), daß er nach dem ersten "token" (durch Leerzeichen getrennt) wohl automatisch ein Kommando als "vollständig" ansieht und dann ausführt (das gilt dann aber eher nicht für Dein letztes "ATH0" in der Kommandofolge, weil auch das EOF in der Eingabedatei nicht zum Ausführen des Kommandos davor führt):
    Code:
    root@FB7490:~ $ printf "AT\n" | nc localhost 1011 <=== ein AT-Kommando
    
    OK
    root@FB7490:~ $ printf "AT" | nc localhost 1011<=== kein AT-Kommando (kein Zeilenende)
    root@FB7490:~ $ printf "AT AT\n" | nc localhost 1011 <=== zwei AT-Kommandos
    
    OK
    
    OK
    root@FB7490:~ $ printf "AT AT" | nc localhost 1011 <=== ein AT-Kommando, da nur ein Zeilenende bzw. ein Leerzeichen als Ende des ersten Kommandos
    
    OK
    root@FB7490:~ $
    
    Wenn man sicher sein will, daß/ob ein Kommando "ohne Abschluß" ausgeführt wird oder nicht, kann man anstelle des reinen "AT" (was nur als "attention" mit einem "OK" quittiert wird und früher zum Synchronisieren der seriellen Schnittstellen diente) ja ein "ATDxxx" verwenden und dann warten, ob die angewählte Nummer klingelt oder nicht - bei mir (113.06.92) macht sie es nicht.

    Bei der Wählhilfe ist es dann zusätzlich noch so, daß nach dem Abheben beim angerufenden Teilnehmer (dessen Nummer im "ATD"-Kommando enthalten war) das Telefon mit der internen Nummer aus dem "ATP"-Kommando klingelt (hier ist "intern" bereits klar und es braucht keine Sterne bzw. es darf m.W. auch keine geben), während der andere Teilnehmer die Warteansage hört (wie man das halt von der Wählhilfe kennt) und nach dem Abheben des lokalen Telefons werden die beiden Gespräche verbunden.

    Das kann man jederzeit selbst mit entsprechenden AT-Kommandos in einer Shell ausprobieren ... leider quittiert der "telefon" fast alles mit "OK", was nicht offenkundiger Blödsinn ist.

    Der ständige Wechsel zwischen "ATP51" und "ATP1" schaltet auch nur zwischen diesen Nebenstellen als "Wählhilfe-Telefon" um - wobei das ohnehin so blind erfolgt im FRITZ!OS, daß man da auch eine Nummer 611 angeben kann, wenn es nur ein DECT-Gerät gibt oder auch eine 52, wenn die Box nur ein einziges ISDN-Endgerät kennt.

    Das ergibt dann lediglich sehr lustige Caller-Namen in der Anzeige, wenn da irgendwelche sinnlosen Speicherinhalte als Name verwendet werden - wobei das wieder von der Technologie abhängt (die sinnlosen Speicherinhalte treffen in erster Linie auf "virtuelle" ISDN-Geräte zu), denn mit "ATP611\nATD**610\n" kann man auch problemlos auf einem AVM-MT mit der internen Nummer 610 einen Anruf von der internen Nummer 611 (also als "**611") anzeigen lassen, egal ob es das Telefon mit der 611 überhaupt gibt.

    Damit bleiben dann von der Kommandofolge in #1 wohl noch 9 "ATH0"-Kommandos übrig (ggf. mit einem etwas speziellen Timing, weil die anderen Kommandos noch dazwischenkommen) - das zehnte wird (nach meiner Überzeugung - siehe die Tests oben) schon nicht mehr ausgeführt, weil das abschließende Leerzeichen oder Newline fehlt. Das macht dann 5x ein "Pickup"-Dial-Kommando für das erste ISDN-Gerät mit anschließendem Auflegen und 5x ein Dial-Kommando für die erste analoge Nebenstelle, wobei dann bei vieren noch ein "onhook"-Kommando folgt.

    Jedenfalls würde damit das von Dir in #1 gezeigte Skript (auch nach Deinen eigenen Worten im anderen Thread) genau dann funktionieren, wenn es in der FRITZ!Box exakt diese zwei Nebenstellen gibt, die sich für den eingehenden Anruf zuständig fühlen könnten ... einmal ein ISDN-Endgerät mit der internen MSN 51 und einmal irgendein Gerät (vorhanden oder nicht vorhanden) am ersten analogen Anschluß. Sowie der Nachnutzer auch noch DECT-Telefone hat oder ein analoges an FON2, klingeln halt diese dann weiter ... zumindest werden sie von Deiner Kommandofolge ja nicht aufgelegt und ich kann in diesem Thread hier irgendwie auch nichts entdecken, wo Du den interessierten Nachnutzer auf diesen Umstand hinweist.

    Ich glaube aber ohnehin nicht so richtig daran, daß es tatsächlich eines "Auflegens" für jedes installierte Telefon bedarf ... wenn ein Call erst einmal an einem Endgerät angenommen wurde (und das sollte er m.E. nach dem "*09" dann irgendwann sein, wenn das erfolgreich war - und warum sollte man das Kommando absetzen, wenn es gar nicht ausgeführt würde), dann sollte er auch durch Auflegen dieses einzelnen (meinetwegen auch "virtuellen") Endgerätes beendet werden können ... es klingelt ja auch nicht das nächste, wenn ich einen Call an irgendeinem Telefon annehme und dann wieder auflege.

    Andererseits klingelt ja auch das beim "ATP" angegebene Telefon nicht, wenn man die "*09" für Pickup wählen läßt - was der Anrufer in diesem Falle hört (wenn dieser Zustand etwas länger anhält und nicht gleich aufgelegt wird), habe ich aber auch noch nicht getestet. Aber bei mir funktioniert das mit dem o.a. Skript ohnehin nicht - auch nicht ohne Tellows-Abfrage als "alles ablehnen"-Skript ... nicht einmal dann, wenn ich nur ein einzelnes (auch nicht angeschlossenes) analoges Endgerät konfiguriert habe. Andererseits kann man mit dem "*09" ja sogar einen Call von der TAM wieder heranholen ... und die dürfte genauso ein "virtuelles" Gerät sein, wie das beim ATP-Kommando angegebene Ende einer künftigen Verbindung. Da könnte ich mir dann sogar vorstellen, daß das Gespräch noch in der Phase des Aufbaus bei Dir immer zwischen der 51 und der 1 hin- und hergerissen ist ... bis es dann irgendwo doch mal rechtzeitig "beendet" wird.

    Wie wäre es denn ansonsten (wenn Deine Theorie mit dem "ein Hangup pro Nebenstelle" aus dem anderen Thread stimmt) mit dem "Ermitteln" der Telefone, die vorhanden sind (so richtig "sophisticated" wird das dann, wenn man noch ermittelt, welche Nummer angerufen wurde und welche Telefone auf diese Nummer reagieren und welche nicht) und dem gezielten (automatischen) Auflegen dieser Nebenstellen, ggf. sogar jeweils erst dann, wenn das vorhergehende Kommando tatsächlich verarbeitet wurde (also das "OK" im "nc" aufgetaucht ist)?

    Wobei ich mir hier vermutlich eher ein kleines Programm als "call blocker" bauen würde, was über die CAPI-Schnittstelle als ISDN-Endgerät daherkommt, den Call per Pickup holt und ihn dann mit einem passenden Cause-Code abwürgt ... da sind die Möglichkeiten beim ISDN einfach viel größer als ein reines "on-hook" und "normal call clearing" - da sollte fast alles bis hin zur "unbekannten Nummer" möglich sein. Das kann dann auch gleich als "Abwurfziel" für alle unbekannten Rufnummern herhalten (und zumindest ein "PROGRESS" an den Anrufer übermitteln), welches gar nicht erst klingelt - hat es den Call erst einmal per Pickup an sich gezogen, sollten die anderen Telefone ja eigentlich automatisch Ruhe geben (so, wie es auch bei "echten" Telefonen der Fall wäre).

    EDIT:
    Das, was ich oben zum letzten Kommando geschrieben habe, stimmt so natürlich nicht, hier bin ich mir selbst auf den Leim gegangen. Anders als Du verwende(te) ich nur noch "printf" anstelle von "echo", weil die beim "echo" oft gebrauchten Optionen "-n" und "-e" nicht zum POSIX-Standard gehören und damit nicht portable sind (die fallen einem unter der "dash" dann gerne vor die Füße).

    Das von Dir verwendete "echo" erzeugt jedoch automatisch noch ein "newline" am Ende (wenn es eben nicht mit "-n" aufgerufen wird) und damit kommt auch das letzte "ATH0" noch zur Ausführung. Meine Blindheit ...
     
  5. creon

    creon Neuer User

    Registriert seit:
    20 Jan. 2005
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #25 creon, 13 Feb. 2018 um 21:20 Uhr
    Zuletzt bearbeitet: 14 Feb. 2018 um 07:05 Uhr
    Um mal hier Feedback für die Datenschutzfraktion zu liefern.
    Ich hab das Skript jetzt genau eine Woche laufen, nachdem ich das letzte mal die Anrufhistorie gelöscht hab.

    Ich habe seit dem 16 Anrufe erhalten. Davon waren 15 im Telefonbuch und/oder aus dem eigenen Vorwahlbereich, die nicht abgefragt wurden. Und ein Betrugsversuch ( 043428008950 ),der erfolgreich geblockt wurde.
    Ich hab aber jetzt auch den Vorwahlbereich um eine Stelle kürzer gemacht. Gute Idee eigentlich. Zwar rufen tatsächlich gelegentlich aus der nächstgelegenen Kreis-Stadt mal Leute an, die mich für Sponsoring überreden wollen, aber die waren bisher ohnehin nie in Tellows gelistet.
     
  6. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    5,788
    Zustimmungen:
    56
    Punkte für Erfolge:
    48
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Na dann mach doch einen Eintrag bei Tellows. Habe ich auch schon gemacht, damit ich nicht Score=5 erhalte.
    War aber 'ne 0800er Nummer. Die könntest du ja auch ohne Tellows sofort canceln.
     
  7. creon

    creon Neuer User

    Registriert seit:
    20 Jan. 2005
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hab ich auch schon gemacht für andere Anrufe. Für die Lokalen nicht, weil der Letzte zu einer Zeit war, als ich tellows noch nicht für Abfragen genutzt hab. Würd ich aber heute machen.