Exemple #1
0
        public DnsMessage(byte[] data)
        {
            Timestamp = DateTime.Now;
            DnsReader byteReader = new DnsReader(data);

            // Header
            Header = new Header(byteReader);

            // Question, Answer, Authority, Additional Counts
            Questions = new Question[this.QuestionRecordCount];
            Answers = new Answer[this.AnswerRecordCount];
            Authorities = new Authority[this.AuthorityRecordCount];
            Additionals = new Additional[this.AdditionalRecordCount];

            // Read Records
            for (int i = 0; i < this.QuestionRecordCount; i++)
                this.Questions[i] = new Question(byteReader);

            for (int i = 0; i < this.AnswerRecordCount; i++)
                this.Answers[i] = new Answer(byteReader);

            for (int i = 0; i < this.AuthorityRecordCount; i++)
                this.Authorities[i] = new Authority(byteReader);

            for (int i = 0; i < this.AdditionalRecordCount; i++)
                this.Additionals[i] = new Additional(byteReader);
        }
Exemple #2
0
        public DnsMessage()
        {
            Timestamp = DateTime.Now;
            Header = new Header();
            Header.TransactionId = (ushort)RANDOM.Next(ushort.MaxValue);
            Header.QR = false;
            Header.OperationCode = OperationCode.Query;

            Questions = new Question[0];
            Answers = new Answer[0];
            Authorities = new Authority[0];
            Additionals = new Additional[0];
        }