Zugriff übers Internet auf die OBD-Schnittstelle

  • Hallo an die Spezialisten mit IT-Know how unter euch, :P

    hat sich von euch schon mal jemand übers Internet mit einem Fahrzeug verbunden und über eine App mittels Ethernet und IP zugegriffen?
    Ich stelle mir das so vor:
    Das entfernte Fahrzeug wird mit einem "langen" OBD-ENET-Kabel mit dem dortigen DSL-Router verbunden und bekommt per DHCP eine lokale IP-Adresse vom Router.
    Auf dem DSL-Router trägt man dann Portforwarding TCP "Portnummer" auf diese Adresse ein und notiert sich die WAN-IP-Adresse (sofern kein Dyn-DNS eingerichtet ist)
    Dann sollte man mit einer beliebigen App, die netzwerkseitig den "geforwardeten" TCP-Port nutzt, zugreifen können?


    Und los kann es gehen 8)
    Ich stelle die Frage, weil ich bisher zu faul war, das ganze zu testen.
    Sollte das aber bisher keiner gemacht haben oder wissen, werde ich mal mit Wireshark, etc. das Ganze aufzeichnen, testen und wieder berichten, falls Interesse besteht.

    Einmal editiert, zuletzt von metalm4 () aus folgendem Grund: Kritischen Inhalt entfernt

  • Du brauchst eine stabile TCP/IP Verbindung zum Fahrzeug. Ob du die über ein Kabel, WiFi, Portfreigabe/-weiterleitung, VPN oder Ähnliches erreichst, ist im Prinzip erstmal egal.

    Je mehr involvierte Komponenten, desto anfälliger wird es potenziell, das sollte klar sein.


    Möglicherweise möchte man die Verbindung ein wenig absichern und nicht einfach Ports im Netz exponieren, also mindestens Einschränkung der Gegenstelle bei der Portfreigabe oder eben einen gesicherten Tunnel, womit man sich die Portweiterleitung sparen kann.


    Remote Coding ist ja nicht unüblich, entweder durch Fernsteuerung “der Software“ oder Tunneln der Verbindung. Wobei man im Regelfall nicht den Weg über Netzwerkkonfiguration und Router nimmt, sondern eher auf einen verbundenen Compiter tunnelt, meist per TeamViewer oder ähnlich “anwenderfreundliche“ Lösungen.


    ----


    PS: Besser aufgehoben wäre das Thema wohl in Navigation & Software und vielleicht möchtest du noch Programmnamen aus Titel und Text rausstreichen und neutral von "Codierung" oder "Software" sprechen (siehe Neue Regelung zum Thema Codieren sowie Freischaltcodes für Kartenmaterial), solange das Thema noch bearbeitbar ist.

  • metalm4

    Hat den Titel des Themas von „Zugriff übers Internet mit E-Sys“ zu „Zugriff übers Internet auf die OBD-Schnittstelle“ geändert.
  • Mir gehts erstmal um die reine Funktionalität. VPN oder gar Verschlüsselung ist aus meiner Sicht nicht notwendig, weil am Fahrzeug eh keine Authentifizierung erfolgt oder irgendwelche kritischen Daten übers Netz gehen. Und wenn jemand schon mit den gängigen "BMW-Apps" Schwierigkeiten hat und mich zum Kodieren braucht, wird er auf seinem PC, DSL-Router ö.ä. auch sowas nicht einrichten können.

    Klar sollte man nicht rumposaunen, dass es einen TCP-Port im Internet gibt wo man auf die OBD-Schnittstelle eines BMW draufkommt.
    Aber erstens steckt man das Auto nach erfolgtem Kodieren nach ein paar Minuten eh wieder ab und kann auch das Sessionlimit auf dem Router minimieren.

    Wenn Du magst und Zeit hast könnten wir das einmal bei mir ausprobieren. Ich geb Dir die WAN-IP-Adresse meines Routers per PN und Du probierst, ob Du mit der uns bekannten Software über die Einstellung "tcp://MyWANIP:6801" auf meine Karre kommst 8)

  • Klar sollte man nicht rumposaunen, dass es einen TCP-Port im Internet gibt wo man auf die OBD-Schnittstelle eines BMW draufkommt.

    Das brauchst Du gar nicht "rumposaunen". Wenn Du einen Server in Betrieb nimmst, hageln dort innerhalb von Sekunden Requests aus aller Welt drauf ein. Wir hatten tatsächlich mal den Fall, dass wir einen Server mit einer schon vorher bei einem anderen Provider vergebenen IP ins Internet gestellt haben und hatten innerhalb einer Minute eine Last von ca. 2Mbit/s ausschließlich an Requests zur Ausnutzung einer bekannten Windows-Lücke. Ich persönlich würde gar nichts in Internet stellen, was da nicht hingehört und erst recht nicht ohne weitere Authorisierung- schon gar nicht mein privates LAN mit irgendwelchen ominösen Portfreigaben. Wie Du schon schreibst, wird das aber jemand, der schon mit Apps nicht klarkommt sowieso nicht können. Aber ich sehe auch keinen wirklichen Vorteil darin ein 80m Ethernet-Kabel bis in die Garage/Carport/Stellplatz zu legen. Am Ende brauchste ja eh einen OBD-Dongle mit Ethernet. Dann kannste das auch direkt an einem Laptop vom "Kunden" machen ggf. eben per Remote-Software.

  • Mir gehts erstmal um die reine Funktionalität. VPN oder gar Verschlüsselung ist aus meiner Sicht nicht notwendig, weil am Fahrzeug eh keine Authentifizierung erfolgt oder irgendwelche kritischen Daten übers Netz gehen.

    Auch nutzlose oder ungültige Datenpakete können dir die Verbindung versauen, egal welche Daten da letztlich rüber gehen oder welchen Schaden man damit anrichten kann. Dass jemand die Verbindung korrekt erkennt und aktiv missbraucht ist zugegeben eher unwahrscheinlich, aber fehlerhafter Codier- oder Flashvorgang bloß weil irgendein Scanner gerade mal der Meinung war, Datenpakete an den Port zu schicken...


    Und wenn jemand schon mit den gängigen "BMW-Apps" Schwierigkeiten hat und mich zum Kodieren braucht, wird er auf seinem PC, DSL-Router ö.ä. auch sowas nicht einrichten können.

    Eben darum nimmt man für gewöhnlich die VPN Lösung, da es dort eben einfache Lösungen mit wenigen Klicks gibt, ohne dass man erwähnenswerte Netzwerkkenntnisse benötigt. ENET Kabel in den Rechner, Teamviewer oder irgendwas vergleichbares starten. Damit kann man die lokale Konfiguration im Zweifelsfall auch gleich über den Remotezugriff vornehmen, dann braucht man wirklich nur noch Adapter und Rechner zu verstöpseln und zugucken.


    Und es funktioniert auch relativ problemlos über CG-NAT Verbindungen, was im Mobilfunk- und Kabelnetz weit verbreitet ist und direkte Portweiterleitungen erschwert oder ganz verhindert.


    Aber ich sehe auch keinen wirklichen Vorteil darin ein 80m Ethernet-Kabel bis in die Garage/Carport/Stellplatz zu legen.

    Dafür gibt es ungeachtet irgendwelcher Codierspielchen genügend Gründe, sei es ein stabiles Netzwerk am "Arbeits"platz oder einfach ein Anschluss für Kamera, AccessPoint, o.Ä. Was das angeht würde ich die Garage wie jeden anderen Raum betrachten - besser haben, als brauchen ;)


    Für's reine Codieren ist's egal, ob man ein mehr oder weniger langes Kabel legt, den Weg über einen Laptop nimmt, den Router als WLAN Client mit dem MHD WiFi Adapter verbindet oder wer weiß welche kreative Lösung findet.

  • Das mit dem Server ist nicht vergleichbar. Meine Synology NAS ist auch über diverse Ports (22, 443, etc.) im Internet erreichbar per IP oder über den festen Dyn-DNS-Namen. Ich habe da null Probleme, weil nur ich den DNS-Namen kenne und die IP-Adresse eh jeden Tag automatisch neu durch den DSL-Provider geändert wird oder wenn ich einen Reset der WAN-Verbindung mache.

  • Auch nutzlose oder ungültige Datenpakete können dir die Verbindung versauen, egal welche Daten da letztlich rüber gehen oder welchen Schaden man damit anrichten kann. Dass jemand die Verbindung korrekt erkennt und aktiv missbraucht ist zugegeben eher unwahrscheinlich, aber fehlerhafter Codier- oder Flashvorgang bloß weil irgendein Scanner gerade mal der Meinung war, Datenpakete an den Port zu schicken...

    Ja, das stimmt grundsätzlich und eine ECU würde ich eh nie übers Internet flashen. Nur lokal und über Kabel. Das mache ich daheim nichtmal über WLAN.
    Und ja, klar besteht die sehr unwahrscheinliche Möglichkeit, dass jemand eine DoS-Attacke auf die Karre macht. Aber mehr als dass der Kodiervorgang abbricht kann nicht passieren. Wenn alle Stricke reißen sollten, kann ich mir höchstens vorstellen, dass die CAFD im Eimer ist und dann eine Nagelneue aus psdzdata zugewiesen wird.

  • Eben darum nimmt man für gewöhnlich die VPN Lösung, da es dort eben einfache Lösungen mit wenigen Klicks gibt, ohne dass man erwähnenswerte Netzwerkkenntnisse benötigt. ENET Kabel in den Rechner, Teamviewer oder irgendwas vergleichbares starten. Damit kann man die lokale Konfiguration im Zweifelsfall auch gleich über den Remotezugriff vornehmen, dann braucht man wirklich nur noch Adapter und Rechner zu verstöpseln und zugucken.

    Ich kenne VPN und Terminalserverlösungen aber die Einrichtung von dem Zeug nervt und dauert 10x so lang wie das finale Kodieren.
    So unkritische Sachen mache ich quick-and-dirty ;)