General Category > Computers

CANBUS Sniffers?

(1/2) > >>

Kamaji:
Next new hobby is probably going to be learning all about the CAN system in new cars and how to get onto a car's CANBUS to both sniff traffic and, possibly, figure out how to write custom traffic.

Anyone here play around with CANBUS at all?

DB:
Done a lot of different serial interfaces but never a CANBUS.

Kamaji:
I've been thinking about getting a new car - Subaru - and started doing research on all the stuff that goes into them these days.  Apparently, all the separate wiring that used to connect various sensors and devices to gauges or lights on the dash have been been replaced with a local area network - two-wire twisted wire pair - that allows the various controllers on the car to "talk" to each other.

Depending on how devices are registered onto a CANBUS, I am thinking that it might be possible to create a custom device that hardwires into the twisted-pair at some point, and if the device registration is plug-n-play, then that custom device should be able to register itself and start (a) sniffing traffic from other devices, and (b) issuing its own traffic - for example, mimicking traffic from other controllers on the CAN - which might be a handy way of permanently turning off the PoS auto start/stop feature, or at least turning it from on-by-default to off-by-default without having to remember to hit the "off" button each time one starts the car.

Sniffing the traffic on the CAN should also allow one to write one's own digital dash to get more in-depth data about functions one cares about, which might not have been displayed the way one wants on the car's built-in dash.

DB:

--- Quote from: Kamaji on May 04, 2024, 07:15:31 pm ---I've been thinking about getting a new car - Subaru - and started doing research on all the stuff that goes into them these days.  Apparently, all the separate wiring that used to connect various sensors and devices to gauges or lights on the dash have been been replaced with a local area network - two-wire twisted wire pair - that allows the various controllers on the car to "talk" to each other.

Depending on how devices are registered onto a CANBUS, I am thinking that it might be possible to create a custom device that hardwires into the twisted-pair at some point, and if the device registration is plug-n-play, then that custom device should be able to register itself and start (a) sniffing traffic from other devices, and (b) issuing its own traffic - for example, mimicking traffic from other controllers on the CAN - which might be a handy way of permanently turning off the PoS auto start/stop feature, or at least turning it from on-by-default to off-by-default without having to remember to hit the "off" button each time one starts the car.

Sniffing the traffic on the CAN should also allow one to write one's own digital dash to get more in-depth data about functions one cares about, which might not have been displayed the way one wants on the car's built-in dash.

--- End quote ---

I doubt it is encrypted so you should be able to sniff the traffic by listening only. The tough part will be mapping out what is what as far as the messages/devices go unless there's detailed documentation somewhere for the devices in that specific car.

Kamaji:

--- Quote from: DB on May 04, 2024, 07:21:44 pm ---I doubt it is encrypted so you should be able to sniff the traffic by listening only. The tough part will be mapping out what is what as far as the messages/devices go unless there's detailed documentation somewhere for the devices in that specific car.

--- End quote ---

I believe there's partial documentation, although each manufacturer also has proprietary codes.  One can also use an ODB reader to correlate events with a known result to traffic on the CANBUS.  Then there's always the old peek/poke method of figuring out what's what - push a button that does action A, then see if you can discern the CANBUS message the device sent in response to that button push.

Navigation

[0] Message Index

[#] Next page

Go to full version