scapy.contrib.automotive.obd.scanner

class scapy.contrib.automotive.obd.scanner.OBD_DTC_Enumerator(sock)[source]

Bases: OBD_Enumerator

static print_payload(resp)[source]
request = None
scan(state, full_scan=False, **kwargs)[source]
class scapy.contrib.automotive.obd.scanner.OBD_Enumerator(sock)[source]

Bases: Enumerator

property filtered_results
static get_label(response, positive_case='PR: PositiveResponse', negative_case='NR: NegativeResponse')[source]
scan(state, requests, exit_scan_on_first_negative_response=False, retry_if_busy_returncode=True, retries=3, timeout=1, **kwargs)[source]
show_negative_response_details(dump=False)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S01_Enumerator(sock)[source]

Bases: OBD_Service_Enumerator

description = 'Available data in OBD service 01'
get_pkts(p_range)[source]
static get_table_entry(tup)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S02_Enumerator(sock)[source]

Bases: OBD_Service_Enumerator

description = 'Available data in OBD service 02'
get_pkts(p_range)[source]
static get_table_entry(tup)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S03_Enumerator(sock)[source]

Bases: OBD_DTC_Enumerator

description = 'Available DTCs in OBD service 03'
static get_table_entry(tup)[source]
request = <OBD  service=EmissionRelatedDiagnosticTroubleCodesRequest |<OBD_S03  |>>
class scapy.contrib.automotive.obd.scanner.OBD_S06_Enumerator(sock)[source]

Bases: OBD_Service_Enumerator

description = 'Available data in OBD service 06'
get_pkts(p_range)[source]
static get_table_entry(tup)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S07_Enumerator(sock)[source]

Bases: OBD_DTC_Enumerator

description = 'Available DTCs in OBD service 07'
static get_table_entry(tup)[source]
request = <OBD  service=PendingEmissionRelatedDiagnosticTroubleCodesRequest |<OBD_S07  |>>
class scapy.contrib.automotive.obd.scanner.OBD_S08_Enumerator(sock)[source]

Bases: OBD_Service_Enumerator

description = 'Available data in OBD service 08'
get_pkts(p_range)[source]
static get_table_entry(tup)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S09_Enumerator(sock)[source]

Bases: OBD_Service_Enumerator

description = 'Available data in OBD service 09'
get_pkts(p_range)[source]
static get_table_entry(tup)[source]
class scapy.contrib.automotive.obd.scanner.OBD_S0A_Enumerator(sock)[source]

Bases: OBD_DTC_Enumerator

description = 'Available DTCs in OBD service 10'
static get_table_entry(tup)[source]
request = <OBD  service=PermanentDiagnosticTroubleCodesRequest |<OBD_S0A  |>>
class scapy.contrib.automotive.obd.scanner.OBD_Scanner(socket, reset_handler=None, enumerators=None, **kwargs)[source]

Bases: Scanner

default_enumerator_clss = [<class 'scapy.contrib.automotive.obd.scanner.OBD_S01_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S02_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S06_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S08_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S09_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S03_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S07_Enumerator'>, <class 'scapy.contrib.automotive.obd.scanner.OBD_S0A_Enumerator'>]
enter_state(state)[source]
class scapy.contrib.automotive.obd.scanner.OBD_Service_Enumerator(sock)[source]

Bases: OBD_Enumerator

get_pkts(p_range)[source]
get_supported(state, **kwargs)[source]
static print_payload(resp)[source]
scan(state, full_scan=False, **kwargs)[source]