LTE-Sticks mit Hybrid SIM

      Habe mir mal die aktuellen Daten des SPH's in Bezug auf den Haap-Tunnel angesehen.
      Irgendwas passt hier nicht.

      Quellcode

      1. # ping haap.t-online.de
      2. PING haap.t-online.de (2003:6:1000::1): 56 data bytes


      Also Haap-Server = 2003:6:1000::1

      Quellcode

      1. # ip -6 tunnel show gre2
      2. gre2: gre/ipv6 remote 2003:6:1400:100::13 local 2a01:59e:b001:2265:5a2c:80ff:fe13:9208 dev rmnet0 encaplimit none hoplimit 64 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)


      Als GRE Gegenstelle wird jedoch ein anderer Haap-Server genutzt, jetzt frage ich mich woher er diese IP bekommt. Im Draft sehe ich nichts davon, leider.


      Viele Grüße
      @hefr54
      Ja so ähnlich bin ich auch vorgegangen, nur hatte ich noch den Huaweo-Flasher gebraucht um die **.hmf datei zu flashen. Danach dann mit der .exe die gewünschte Firmware.

      @eMKay77
      Bist du schon weiter gekommen?
      Habe mit dem Programm "scapy" entsprechende Pakete erzeugt:

      send(IPv6(dst="2003:6:1000::1",nh=47)/GRE(key_present=1,proto=0xB7EA)/Raw(load=data_s))
      Per Raw schicke ich die 8 bits für MsgType und Rsvd1 ('\x00\x01\x00\x00')

      Sollte für ein "Setup Request" reichen, oder?

      Edit: Muss hier noch "Attribute-Type" ([3]=\x00\x01\x00\x00), "Attribute-Length" ([40]=\x00\x00\x00\x11) und "Client Identification Name" entsprechend schicken. !!!! Da bin ich überfragt...

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Schnup89“ ()

      Ok super, das hatte ich auch gesehen, dann versuche ich mal den Paketaufbau von hier:
      tools.ietf.org/html/draft-lhwx…ications-hybrid-access-00

      Da ist der 0x0101 definiert.

      Danke!

      Update:
      cloudshark.org/captures/122e71f5d5d9

      Fehlt hier etwas? (Außer die CID) -> Bekomme leider keine Antwort vom Haap.
      (Letztes Byte etwas veränder um nicht nur "nullen" zu senden in der CID)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schnup89“ ()

      1. Variationsmöglichkeit: Ist die CIN bei dir nicht zu kurz? Oder kann ich nicht zählen?

      2.Variationsmöglichkeit: Warum sendest du die Pakete nicht an den HAAP der DNS über LTE aufgelöst wird? Das ist die einzige logische Quelle, da wir doch LTE-only erst einmal testen wollen.
      The Domain Name System (DNS) resolution of the HAAP's domain name is requested via the DSL/LTE WAN interface. The DNS server will reply with the corresponding HAAP IP address (H)


      3. Variationsmöglichkeit: Erster Request ohne Key
      Moin Leutz!

      Erstmal Dank an @Schnup89 --> hab' mir jetzt nochmal alle Versionen angeschaut... und es gibt wohl mindestens 4 verschiedene Protocol-Types.
      (warum die nicht einfach das Versions-Feld genommen haben?)

      Stellt sich mir die Frage, ob wohl alle Firmware-Versionen den selben Protocol-Type sprechen.
      (für die v3 musste ja erst ein Update beim HAAP eingespielt werden - es wär' also möglich, daß der HAAP mehr als einen Protocol-Type spricht...)

      Im Tunnel-Request gibt's noch keinen Key - der wird ja erst vom HAAP zugeteilt.
      Der CIN soll ja ein spezifischer Wert für den Zugang sein - könnte also von der DSL-Anschlußkennung oder der SIM, IMEI, etc. abgeleitet sein.

      Ich hatte leider noch nicht so viel Zeit, wie ich gern gehabt hätte - und meine Lieferung von Reichelt lässt auch auf sich warten... hoffe aber heut' mal weiter zu kommen.

      Im Anhang mal alle Dokumente, welche ich zum Thema finden konnte - einige sind zwar abgelaufen, aber sie riechen noch gut :D

      mfg, emkay
      Dateien
      • hybrid-docs.zip

        (902,37 kB, 155 mal heruntergeladen, zuletzt: )
      Ich dreh durch... Ich hab ne Antwort 8o 8o :D

      Habe auf dem SPH mit "tcpdump -ni any" den kompletten Tunnelaufbau mitgeschnitten (DSL-Kabel gezogen, LTE/DSL auf DSL only gestellt, reboot, tcpdump gestartet, DSL Kabel rein, LTE/DSL auf LTE+DSL gestellt)

      Hab mir dann den HEX-Wert für die CID rausgesucht und dem Paket angehängt.

      Läuft :)


      Python + scapy - Script:

      Quellcode

      1. import binascii
      2. from scapy.all import *
      3. #New Fields for Packet Type "DTGRE" (Deutsche Telekom Hybrid GRE Protocol)
      4. class DTGRE(Packet):
      5. name = "DTGRE"
      6. fields_desc = [ BitField("chksum_present",0,1),
      7. BitField("routing_present",0,1),
      8. BitField("key_present",0,1),
      9. BitField("seqnum_present",0,1),
      10. BitField("strict_route_source",0,1),
      11. BitField("recursion control",0,3),
      12. BitField("flags",0,5),
      13. BitField("version",0,3),
      14. XShortEnumField("proto", 0x0000, ETHER_TYPES),
      15. ConditionalField(XShortField("chksum",None), lambda pkt:pkt.chksum_present==1 or pkt.routing_present==1),
      16. ConditionalField(XShortField("offset",None), lambda pkt:pkt.chksum_present==1 or pkt.routing_present==1),
      17. ConditionalField(XIntField("key",None), lambda pkt:pkt.key_present==1),
      18. ConditionalField(XIntField("seqence_number",None), lambda pkt:pkt.seqnum_present==1),
      19. #New Fields for DT
      20. BitField("MsgType",0,4),
      21. BitField("T",0,1),
      22. BitField("Res",0,3),
      23. BitField("AttType",0,8),
      24. BitField("AttLen",0,16),
      25. ]
      26. #DT-CIN (Got it from SPH)
      27. CIN_BinFormat=binascii.unhexlify('5370656564706f72745f4879627269645f3035303132345f30325f30305f30313200000000000000ff0000')
      28. #Create Packet | Sending AttVal as RAW
      29. DT_Haap = (IPv6()/DTGRE()/Raw(load=CIN_BinFormat))
      30. #IPv6-Setup
      31. DT_Haap.dst="haap.t-online.de"
      32. DT_Haap.nh=47
      33. #DTGRE-Setup
      34. DT_Haap.key_present=1
      35. DT_Haap.proto=0x0101
      36. DT_Haap.MsgType=1
      37. DT_Haap.T=0
      38. DT_Haap.AttType=3
      39. DT_Haap.AttLen=40
      40. send(DT_Haap)



      Im Anhang ein TCPDump als Beweis. (Hab die Antwort noch nicht ausgelesen)

      Edit: Die CIN ist... *Trommelwirbel* "(Speedport_Hybrid_050124_02_00_012" :thumbsup:
      Bilder
      • DaIstDasDing.jpg

        141,4 kB, 1.319×220, 169 mal angesehen
      @Schnup89: CIN ist also einfach die FW-Version :D (Zero-Padded mit 'nem '0xFF' drin...)
      '0x5370656564706f72745f4879627269645f3035303132345f30325f30305f303132' ==> 'Speedport_Hybrid_050124_02_00_012'

      Laut Spec sollte ja jeder Zugang einen eigenen CIN bekommen, weil es die Authorisierung is... macht sich's die Telekom wohl leicht.

      mfg, emkay

      EDIT: wenn da die Firmware-Version des Speedports drinsteht, bedeutet das wohl, daß jeder Hersteller eines Hybrid-Routers den eigentlich bei der Telekom registrieren lassen soll... (damit man dann ein CIN für seinen Router zugeteilt bekommt)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „eMKay77“ ()

      Ja, wenns doch wenigsten eine Attribute der SIM-Karte oder ähnliches wäre :D

      Naja die erste Euphorie ist verpufft -> Ich bekomme ein "GRE Setup Deny"...
      Dann lese ich mich mal weiter ein.

      Edit:
      OK, scheinbar hatte ich mit den ersten Pakete eine Session geöffnet und bei den Anfragen danach deshalb ein Deny bekommen,
      Habe eben nochmal nach ca. 30 Minuten eine Anfrage geschickt und ein "GRE Setup Accept" bekommen.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schnup89“ ()