Exemple #1
0
        public string GetErrorMessage(TcpPacketError error)
        {
            //TCP tcp = Packet.TCP;
            TcpDatagram tcp = _packet.Ethernet.IpV4.Tcp;

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

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

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

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

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

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

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

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

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

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

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

            default:
                return(null);
            }
        }
Exemple #2
0
 public string GetErrorMessage(TcpPacketError error)
 {
     //TCP tcp = Packet.TCP;
     TcpDatagram tcp = _packet.Ethernet.IpV4.Tcp;
     switch (error)
     {
         case TcpPacketError.ErrorBadDirection:
             return "error wrong direction";
         case TcpPacketError.WarningBadFlagAck:
             return "warning ack should not be set";
         case TcpPacketError.WarningOpenConnection2BadAck:
             return string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AcknowledgmentNumber.zToHex(), (StreamState.CurrentSourceSequence - 1).zToHex());
         case TcpPacketError.WarningOpenConnection2BadMessagePosition:
             return "warning message should be just after open connection step 1";
         case TcpPacketError.ErrorOpenConnection2BadDirection:
             return string.Format("error wrong direction, TCP open 2, SYN seq = y (0x{0}), ACK x + 1 (0x{1})", tcp.SequenceNumber.zToHex(), tcp.AcknowledgmentNumber.zToHex());
         case TcpPacketError.WarningOpenConnection3BadAck:
             return string.Format("warning ack (0x{0}) != destination seq + 1 (0x{1})", tcp.AcknowledgmentNumber.zToHex(), StreamState.CurrentDestinationSequence.zToHex());
         case TcpPacketError.WarningCloseSourceConnection1BadSeq:
             return string.Format("warning seq (0x{0}) != source seq (0x{1})", tcp.SequenceNumber.zToHex(), StreamState.CurrentSourceSequence.zToHex());
         case TcpPacketError.WarningCloseSourceConnection2BadAck:
             return string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AcknowledgmentNumber.zToHex(), StreamState.CurrentSourceSequence.zToHex());
         case TcpPacketError.WarningCloseDestinationConnection1BadSeq:
             return string.Format("warning seq (0x{0}) != destination seq (0x{1})", tcp.SequenceNumber.zToHex(), StreamState.CurrentDestinationSequence.zToHex());
         case TcpPacketError.WarningCloseDestinationConnection1BadAck:
             return string.Format("warning ack (0x{0}) != source seq + 1 (0x{1})", tcp.AcknowledgmentNumber.zToHex(), StreamState.CurrentSourceSequence.zToHex());
         case TcpPacketError.WarningCloseDestinationConnection2BadAck:
             return string.Format("warning ack (0x{0}) != destination seq + 1 (0x{1}) (ACK y + 1)", tcp.AcknowledgmentNumber.zToHex(), StreamState.CurrentDestinationSequence.zToHex());
         default:
             return null;
     }
 }
Exemple #3
0
        //public bool IsTcp()
        //{
        //    if (_packet.Ethernet != null && _packet.Ethernet.IpV4 != null && _packet.Ethernet.IpV4.Tcp != null)
        //        return true;
        //    else
        //        return false;
        //}

        public void AddError(TcpPacketError error)
        {
            _errors.Add(error);
        }
Exemple #4
0
        //public bool IsTcp()
        //{
        //    if (_packet.Ethernet != null && _packet.Ethernet.IpV4 != null && _packet.Ethernet.IpV4.Tcp != null)
        //        return true;
        //    else
        //        return false;
        //}

        public void AddError(TcpPacketError error)
        {
            _errors.Add(error);
        }