Repository navigation
Expand file tree
/
Copy pathDnsMessage.cs
More file actions
51 lines (44 loc) · 1.83 KB
/
Copy pathDnsMessage.cs
File metadata and controls
51 lines (44 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System.Text;
namespace DnsMessageParser;
public class DnsMessage(byte[] udpPacket)
: DnsHeader(udpPacket)
{
public byte[] GetBytes()
{
return GetHeaderBytes();
}
public override string ToString()
{
var sb = new StringBuilder();
sb.AppendLine("DNS Header Information:");
sb.AppendLine($" Packet Identifier: {PacketIdentifier}");
sb.AppendLine($" Query Response: {QueryResponse}");
sb.AppendLine($" Operation Code: {OperationCode}");
sb.AppendLine($" Authoritative Answer: {AuthoritativeAnswer}");
sb.AppendLine($" Truncation: {Truncation}");
sb.AppendLine($" Recursion Desired: {RecursionDesired}");
sb.AppendLine($" Recursion Available: {RecursionAvailable}");
sb.AppendLine($" Response Code: {ResponseCode}");
sb.AppendLine($" Question Count: {QuestionCount}");
sb.AppendLine($" Answer Record Count: {AnswerRecordCount}");
sb.AppendLine($" Authority Record Count: {AuthorityRecordCount}");
sb.AppendLine($" Additional Record Count: {AdditionalRecordCount}");
sb.AppendLine("DNS Question Information:");
foreach (var question in DnsQuestions)
{
sb.AppendLine($" Domain Name: {question.DomainName}");
sb.AppendLine($" Type: {question.DnsType}");
sb.AppendLine($" Class: {question.DnsClass}");
}
sb.AppendLine("DNS Answer Information:");
foreach (var answer in DnsAnswers)
{
sb.AppendLine($" Domain Name: {answer.DomainName}");
sb.AppendLine($" Type: {answer.DnsType}");
sb.AppendLine($" Class: {answer.DnsClass}");
sb.AppendLine($" TTL: {answer.TimeToLive}");
sb.AppendLine($" Data: {answer.Data}");
}
return sb.ToString();
}
}