private void OnOutgoingData(object sender, DataInterceptedEventArgs e) { WriteToConsole($"Client -> Server:\n" + $"\t{"Id",-9}: {e.Packet.Id}\n" + (IncomingPacketName != null ? $"\t{"Name",-9}: {IncomingPacketName(e.Packet.Id)}\n" : string.Empty) + $"\t{"Length",-9}: {e.Packet.BodyLength + 6}\n" + $"\t{"Dump",-9}:\n" + $"{HexUtils.HexDump(e.Packet.ToBytes())}", ConsoleColor.Cyan); e.IsBlocked = false; try { if (e.Packet.Id == _handshakeIds[2]) { ReplaceLocalPublicKey(e); } } catch { CancelHandshake(e); } }
private void OnIncomingData(object sender, DataInterceptedEventArgs e) { WriteToConsole($"Server -> Client:\n" + $"\t{"Id",-9}: {e.Packet.Id}\n" + (OutgoingPacketName != null ? $"\t{"Name",-9}: {OutgoingPacketName(e.Packet.Id)}\n" : string.Empty) + $"\t{"Length",-9}: {e.Packet.BodyLength + 6}\n" + $"\t{"Dump",-9}:\n" + $"{HexUtils.HexDump(e.Packet.ToBytes())}", ConsoleColor.Yellow); e.IsBlocked = false; try { if (e.Step < 3 && e.Packet.BodyLength == 2) { _incomingOffset++; return; } if (e.Packet.Id == _handshakeIds[1]) { InitializeKeys(); ReplaceRemoteSignedPrimes(e); } else if (e.Packet.Id == _handshakeIds[3]) { ReplaceRemotePublicKey(e); } } catch { CancelHandshake(e); } }