Esempio n. 1
0
        public string GetErrorMessage(TCP_PacketError error)
        {
            TCP tcp = Packet.TCP;

            switch (error)
            {
            case TCP_PacketError.ErrorBadDirection:
                return("error wrong direction");

            case TCP_PacketError.WarningBadFlagAck:
                return("warning ack should not be set");

            case TCP_PacketError.WarningOpenConnection2BadAck:
                return(string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AckSequence.zToHex(), (StreamState.CurrentSourceSequence - 1).zToHex()));

            case TCP_PacketError.WarningOpenConnection2BadMessagePosition:
                return("warning message should be just after open connection step 1");

            case TCP_PacketError.ErrorOpenConnection2BadDirection:
                return(string.Format("error wrong direction, TCP open 2, SYN seq = y (0x{0}), ACK x + 1 (0x{1})", tcp.Sequence.zToHex(), tcp.AckSequence.zToHex()));

            case TCP_PacketError.WarningOpenConnection3BadAck:
                return(string.Format("warning ack (0x{0}) != destination seq + 1 (0x{1})", tcp.AckSequence.zToHex(), StreamState.CurrentDestinationSequence.zToHex()));

            case TCP_PacketError.WarningCloseSourceConnection1BadSeq:
                return(string.Format("warning seq (0x{0}) != source seq (0x{1})", tcp.Sequence.zToHex(), StreamState.CurrentSourceSequence.zToHex()));

            case TCP_PacketError.WarningCloseSourceConnection2BadAck:
                return(string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AckSequence.zToHex(), StreamState.CurrentSourceSequence.zToHex()));

            case TCP_PacketError.WarningCloseDestinationConnection1BadSeq:
                return(string.Format("warning seq (0x{0}) != destination seq (0x{1})", tcp.Sequence.zToHex(), StreamState.CurrentDestinationSequence.zToHex()));

            case TCP_PacketError.WarningCloseDestinationConnection1BadAck:
                return(string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AckSequence.zToHex(), StreamState.CurrentSourceSequence.zToHex()));

            case TCP_PacketError.WarningCloseDestinationConnection2BadAck:
                return(string.Format("warning ack (0x{0}) != destination seq + 1 (0x{1}) (ACK y + 1)", tcp.AckSequence.zToHex(), StreamState.CurrentDestinationSequence.zToHex()));

            default:
                return(null);
            }
        }
Esempio n. 2
0
 public void AddError(TCP_PacketError error)
 {
     Errors.Add(error);
 }