Example #1
0
        internal static void HandlePacket(byte[] payload)
        {
            var sourceIp        = Utility.ExtractRangeFromArray(payload, 26, 4);
            var sourcePort      = Utility.ExtractRangeFromArray(payload, 34, 2);
            var destinationPort = Utility.ExtractRangeFromArray(payload, 36, 2);

            var socket = new Connection
            {
                RemoteIp   = sourceIp,
                RemotePort = sourcePort.ToShort(),
                LocalPort  = destinationPort.ToShort()
            };

            var udpDataLength = (ushort)((new[] { payload[38], payload[39] }).ToShort() - 8);

            if (udpDataLength > 0)
            {
                EthClick.FireUdpPacketEvent(Utility.ExtractRangeFromArray(payload, 42, udpDataLength), socket);
            }
        }