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); }
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]; }