Exemple #1
0
        private void Parse(PduKaitaiReader reader)
        {
            var dnsPacket = reader.ReadKaitaiStruct <DnsPacket>();

            this.TransactionId = dnsPacket.TransactionId;
            this.Type          = dnsPacket.Flags.Qr == 0 ? DnsMessageType.Query : DnsMessageType.Answer;
            this.Queries       = dnsPacket.Queries.Select(q => new DnsQuery(q)).ToList();
            this.Answers       = dnsPacket.Answers.Select(CreateDnsAnswerMessage).ToList();
        }
Exemple #2
0
        public void ReadDns()
        {
            var l7Conversation  = this.ReassembleSingleL7Conversation <UdpConversationTracker>(TestPcapFile.Dns1);
            var stream          = new PduDataStream(l7Conversation, PduDataProviderType.Mixed);
            var pduKaitaiReader = new PduKaitaiReader(stream);

            DnsPacket p;

            Assert.False(pduKaitaiReader.EndOfStream);
            p = pduKaitaiReader.ReadKaitaiStruct <DnsPacket>();
            Assert.Equal(0x09be, p.TransactionId);
            Assert.Single(p.Queries);
            Assert.True(pduKaitaiReader.NewMessage());
            p = pduKaitaiReader.ReadKaitaiStruct <DnsPacket>();
            Assert.Equal(0x09be, p.TransactionId);
            Assert.Single(p.Answers);
            Assert.False(pduKaitaiReader.NewMessage());
            Assert.True(pduKaitaiReader.EndOfStream);
        }
Exemple #3
0
        private void Parse(PduKaitaiReader reader)
        {
            var tlsPacket = reader.ReadKaitaiStruct <TlsPacket>();

            this.Records = tlsPacket.Records.Select(this.ParseKaitaiTlsRecord).ToArray();
        }