コード例 #1
0
 public void ReadBytes(byte[] data, int position)
 {
     using (MemoryStream memoryStream = new MemoryStream(data))
     {
         PacketReader packetReader = new PacketReader(memoryStream);
         memoryStream.Position      = position;
         this.SourcePort            = packetReader.BigEndianReadUInt16();
         this.DestinationPort       = packetReader.BigEndianReadUInt16();
         this.SequenceNumber        = packetReader.BigEndianReadUInt32();
         this.AcknowledgementNumber = packetReader.BigEndianReadUInt32();
         this.Flags = packetReader.ReadBinary(2);
         ReadFlags();
         this.Window        = packetReader.BigEndianReadUInt16();
         this.Checksum      = packetReader.BigEndianReadUInt16();
         this.UrgentPointer = packetReader.BigEndianReadUInt16();
         this.Options       = packetReader.BigEndianReadBytes(3);
         this.Padding       = packetReader.BigEndianReadBytes(3);
     }
 }
コード例 #2
0
        public void ReadBytes(byte[] data, int offset)
        {
            using (MemoryStream memoryStream = new MemoryStream(data))
            {
                PacketReader packetReader = new PacketReader(memoryStream);
                memoryStream.Position = offset;
                this.ID      = packetReader.ReadBytes(2);
                this.Flags   = packetReader.BigEndianReadBytes(2);
                this.QDCount = packetReader.BigEndianReadUInt16();
                this.ANCount = packetReader.BigEndianReadUInt16();
                this.NSCount = packetReader.BigEndianReadUInt16();
                this.ARCount = packetReader.BigEndianReadUInt16();
            }

            ReadFlags();
        }