mirror of
https://github.com/zeek/zeek.git
synced 2025-10-12 19:48:20 +00:00

- Renamed many data structures to align with most recent standard. - Reworked modbus events to make them more canonically "Bro". - Converted the Modbus analyzer to a simpler style for easier maintenance. - Modbus coil related events still don't work (I haven't finished the function for converting the data structures). - Modbus file record events remain incomplete.
58 lines
1.8 KiB
C++
58 lines
1.8 KiB
C++
#ifndef MODBUS_H
|
|
#define MODBUS_H
|
|
|
|
#include "TCP.h"
|
|
#include "modbus_pac.h"
|
|
|
|
class ModbusTCP_Analyzer : public TCP_ApplicationAnalyzer {
|
|
public:
|
|
ModbusTCP_Analyzer(Connection* conn);
|
|
virtual ~ModbusTCP_Analyzer();
|
|
|
|
virtual void Done();
|
|
virtual void DeliverStream(int len, const u_char* data, bool orig);
|
|
|
|
virtual void Undelivered(int seq, int len, bool orig);
|
|
virtual void EndpointEOF(bool is_orig);
|
|
|
|
static Analyzer* InstantiateAnalyzer(Connection* conn)
|
|
{ return new ModbusTCP_Analyzer(conn); }
|
|
|
|
// Put event names in this function
|
|
static bool Available()
|
|
{
|
|
return modbus_message
|
|
| modbus_exception
|
|
| modbus_read_coils_request
|
|
| modbus_read_coils_response
|
|
| modbus_read_discrete_inputs_request
|
|
| modbus_read_discrete_inputs_response
|
|
| modbus_read_holding_registers_request
|
|
| modbus_read_holding_registers_response
|
|
| modbus_read_input_registers_request
|
|
| modbus_read_input_registers_response
|
|
| modbus_write_single_coil_request
|
|
| modbus_write_single_coil_response
|
|
| modbus_write_single_register_request
|
|
| modbus_write_single_register_response
|
|
| modbus_write_multiple_coils_request
|
|
| modbus_write_multiple_coils_response
|
|
| modbus_write_multiple_registers_request
|
|
| modbus_write_multiple_registers_response
|
|
| modbus_read_file_record_request
|
|
| modbus_read_file_record_response
|
|
| modbus_write_file_record_request
|
|
| modbus_write_file_record_response
|
|
| modbus_mask_write_register_request
|
|
| modbus_mask_write_register_response
|
|
| modbus_read_write_multiple_registers_request
|
|
| modbus_read_write_multiple_registers_response
|
|
| modbus_read_fifo_queue_request
|
|
| modbus_read_fifo_queue_response;
|
|
}
|
|
|
|
protected:
|
|
binpac::ModbusTCP::ModbusTCP_Conn* interp;
|
|
};
|
|
|
|
#endif
|