scapy.contrib.automotive.obd.scanner.obd_scan(socket, timeout=0.1, supported_ids=False, unsupported_ids=False, verbose=False)

Scans for all accessible information of each commonly used OBD service classes and prints the results

  • socket – is the ISOTPSocket, over which the OBD-Services communicate. the id 0x7df acts as a broadcast address for all obd-supporting ECUs.

  • timeout – only required for the OBD Simulator, since it might tell it supports a PID, while it actually doesn’t and won’t respond to this PID. If this happens with a real ECU, it is an implementation error.

  • supported_ids – specifies, whether to check for supported Parameter IDs. The OBD-Protocol offers querying, which PIDs the implemented ECUs support.

  • unsupported_ids – specifies, whether to check for unsupported or hidden Parameter IDs. There is a possibility of PIDs answering, which are addressed directly, but which are not listed in the supported query response. We call these PIDs unsupported PIDs, because they are seemingly unsupported.

  • verbose – specifies, whether the sr1()-method gives feedback or not and turns.

This method queries the Diagnostic Trouble Code Parameters and if selected, supported and/or unsupported PIDS and prints the results.