artikel:can-bus:hacking:can_hackers_starterkit

Was man zum Starten braucht

Damit stellt man die Verbindung zwischen einem PC und dem CAN-Bus des Fahrzeugs her. Die Aufgabe des Adapters ist es, die CAN-Signale in Datenpakete zu bringen und diese über eine Schnittstelle zur Auswertungssoftware auf den PC zu übertragen. Diese stellt die Daten dann entweder in Übersichten dar oder speichert sie in einer Protokolldatei, dem „Logfile“ oder auch „Tracefile“ genannt.

Es gibt unzählige CAN-Adapter am Markt und mit fast allen kann man das CAN-Hacking betreiben. Dennoch sollte man wissen worauf es ankommt um ein kostengünstiges aber geeignetes Produkt zu erwerben. Ich empfehle mit etwas ganz einfachem zu beginnen. Eine gute Wahl sind die handelsübliche OBD2-zu-USB Adapter.

Der fahrzeugseitige Anschluss

Viele verwenden für den Anschluß am Fahrzeug einen OBD2-Stecker. Das ist erstmal genau richtig für unsere Anforderung.

Die Anzahl der CAN-Schnittstellen

Einfache OBD2-Adapter besitzen nur eine einzige CAN-Schnittstelle. Sie können also nur die Information eines CAN-Busses zum PC übertragen (oder umgekehrt). Profigeräte haben mehrere und können damit auch gleichzeitig auf verschiedenen Bussen agieren.

Der PC-seitige Anschluss

Auf jeden Fall was mit USB Anschluss, nicht Seriell und schon garnicht mit Bluetooth oder WLAN. Der Grund sind die bei Funktsystemen auftretenden Latenzzeiten. Das CAN-Protokoll basiert auf einem strikt einzuhaltenden Timing, nicht nur innerhalb einer Übertragung sondern auch zwischen den Übertragungen. Dies lässt sich mit funkbasierenden Systemen nicht sicherstellen und ist meist im Optimalbereich schon bei 20-50 ms. Einzelne Nachrichtentypen treten schon mit 10 ms Wiederholfrequenz auf dem CAN-Bus auf. In Summe auf jeden fall so viel, das die Daten nicht mehr übertragen werden können bevor neue zur Übertragung anstehen. Die Folge ist, das Datenpakete verworfen/überschrieben werden und man beim Empfänger unvollständige Informationen hat. Das ist zum hacken der Super-GAU.

Bei RS232-Schnittstellen hat man zwar nicht so das Problem mit der Latenz, aber mit der Bandbreite. Hier ist meist bei 115.200 Baud schluß. Selbst der langsame MS-CAN hat aber schon eine Datenrate von 125.000 Baud, vom 500.000 Baud schnellen HS-CAN ganz zu schweigen.

Somit gilt: „Finger weg von WLAN oder Bluetooth Adaptern!“

Damit bleiben eigentlich nur noch die USB-Adapter übrig. Von der Schnittstelle her können die meist mehrere MBit/s übertragen und wären somit gut geeignet. Aber hier kommt es vor allem auf den verwendeten bzw. verwendbaren Treiber an. Einfache Treiber emulieren nämlich eine serielle Schnittstelle und übertragen dann auch nur mit der dafür eingestellten Geschwindigkeit und nicht ihrer maximal möglichen.

Der verwendete Chipsatz

Die meisten OBD2-Adapter sind ELM-Kompatibel. Dieser, schon legändere Chip von ELM-Electronics wird oft kopiert. Er kann über einen speziellen Sniffer Modus auch einfach zum abhören eines CAN verwendet werden.

Umschaltung auf andere CAN-Busse

Die meisten Kaufadapter snd fest mit dem HS-CAN verbunden. Um auch die anderen CAN-Busse scannen zu können kann man einen Umschalter einbauen.

Adapter im Selbstbau

Ich habe mir mit Hilfe eines Arduino Nano, eines CAN-Shields auf Basis eines MCP2551 Controllers und einem OBD-Kabel einen eigenen Adapter gebaut. Kostenpunkt knapp 20€.

Scanner-Software, sowohl im OpenSource als auch im kommerziellen Bereich findet man reichlich. Zum Start tut es praktisch alles was man hat oder günstig bekommen kann. Im laufe der Zeit wird man sich dann bewusst womit man am liebsten arbeitet und die besten und schnellsten Ergebnisse erziehlen kann.

Dann am besten einen Laptop und zur Auswertung der Daten eine Tabellenkalkulation (Excel, Calc, etc.), einen guten Texteditor wie Notepad++, eine CAN-Scanner Software (im OpenSource z.b. CANhacker, CANcool, ELMConfig, usw.). Programmierkenntnisse in PHP, Python, Perl, Powershell, etc. können nicht schaden, wenn man sich spezielle Auswertungstools basteln muss.

Darüber hinaus empfiehlt sich ein Hex/Dec/Bin Umrechner. Da gibt es diverse Online-Tools, aber auch der einfache „Rechner“ von Windows kann das, wenn man ihn über sein Menü auf den „Programmierer“ Modus umstellt.

  • artikel/can-bus/hacking/can_hackers_starterkit.txt
  • Zuletzt geändert: Wed. 23.01.2019 11:52
  • von go4it