Termineter Package Description

Termineter is a framework written in python to provide a platform for the security testing of smart meters. It implements the C12.18 and C12.19 protocols for communication. Currently supported are Meters using C12.19 with 7-bit character sets. Termineter communicates with Smart Meters via a connection using an ANSI type-2 optical probe with a serial interface.

Source: https://github.com/securestate/termineter
Termineter Homepage | Kali Termineter Repo

  • Author: Spencer J. McIntyre
  • License: BSD 3-clause

Tools included in the termineter package

termineter – Python Smart Meter Testing Framework

root@kali:~# termineter --help
usage: termineter [-h] [-v] [-L {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                  [-r RESOURCE_FILE]

Termineter: Python Smart Meter Testing Framework

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
                        set the logging level
                        execute a resource file

termineter Usage Example

root@kali:~# termineter

   ______              _          __        
  /_  __/__ ______ _  (_)__  ___ / /____ ____
   / / / -_) __/  ' \/ / _ \/ -_) __/ -_) __/
  /_/  \__/_/ /_/_/_/_/_//_/\__/\__/\__/_/  

  <[ termineter                     v1.0.4
  <[ model:                         T-1000
  <[ loaded modules:                    17

termineter > show modules


  Name                    Description
  ----------------------  ------------------------------------------------
  brute_force_login       Brute Force Credentials
  diff_tables             Check C12.19 Tables For Differences
  dump_tables             Write Readable C12.19 Tables To A CSV File
  enum_tables             Enumerate Readable C12.19 Tables From The Device
  enum_user_ids           Enumerate Valid User IDs From The Device
  get_identification      Read And Parse The Identification Information
  get_info                Get Basic Meter Information By Reading Tables
  get_local_display_info  Get Information From The Local Display Tables
  get_log_info            Get Information About The Meter's Logs
  get_modem_info          Get Information About The Integrated Modem
  get_security_info       Get Information About The Meter's Access Control
  read_table              Read Data From A C12.19 Table
  remote_reset            Initiate A Reset Procedure
  run_procedure           Initiate A Custom Procedure
  set_meter_id            Set The Meter's I.D.
  set_meter_mode          Change the Meter's Operating Mode
  write_table             Write Data To A C12.19 Table

termineter >