Method: Masscan::Parsers::Binary.decode_reason

Defined in:
lib/masscan/parsers/binary.rb

.decode_reason(reason) ⇒ Array<:fin, :syn, :rst, :psh, :ack, :urg, :ece, :cwr>

Decodes a reason bitflag.

Parameters:

  • reason (Integer)

    The reason bitflag.

Returns:

  • (Array<:fin, :syn, :rst, :psh, :ack, :urg, :ece, :cwr>)

    The reason flags.



273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/masscan/parsers/binary.rb', line 273

def self.decode_reason(reason)
  flags = []
  flags << :fin if (reason & 0x01) != 0
  flags << :syn if (reason & 0x02) != 0
  flags << :rst if (reason & 0x04) != 0
  flags << :psh if (reason & 0x08) != 0
  flags << :ack if (reason & 0x10) != 0
  flags << :urg if (reason & 0x20) != 0
  flags << :ece if (reason & 0x40) != 0
  flags << :cwr if (reason & 0x80) != 0
  flags
end