Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Extract dissected fields from a capture in LUA console

The filter function in Wireshark usually provides me the functionality I need, but particularly with protocols that combine different objects in one packet I realize I need something more powerful. Thus I have tried googling and ChatGPT'ing my way into Wireshark LUA scripting, but I'm struggling in getting started with returning any usable information.

The pseudo-code I want to implement is something like this:

For each packet {
  For each iec60870_asdu.TypeId==36 {
    For each iec60870_asdu.IOA {
      Console.write( iec60870_asdu.IOA & ";" & iec60870_asdu.float & ";" & iec60870_asdu.cp56time )
    }
  }
}

It seems so simple, yet so difficult.

Extract dissected fields from a capture in LUA console

The filter function in Wireshark usually provides me the functionality I need, but particularly with protocols that combine different objects in one packet I realize I need something more powerful. Thus I have tried googling and ChatGPT'ing my way into Wireshark LUA scripting, but I'm struggling in getting started with returning any usable information.

The pseudo-code I want to implement is something like this:

For each packet {
  For each iec60870_asdu.TypeId==36 {
    For each iec60870_asdu.IOA {
      Console.write( iec60870_asdu.IOA & ";" & iec60870_asdu.float & ";" & iec60870_asdu.cp56time )
    }
  }
}

It seems so simple, yet so difficult.