/// <summary>method <c>GetBytes</c> returns reply buffer.</summary> public static byte[] GetBytes(NetBIOSNSHeader header, NetBIOSNSQuestion question, uint ttl, string replyIP) { byte[] rdata = Utilities.BlockCopy(new byte[2], IPAddress.Parse(replyIP).GetAddressBytes()); NetBIOSNSHeader responseHeader = new NetBIOSNSHeader { ID = header.ID, R = true, Opcode = "0000", AA = true, TC = false, RD = true, RA = false, Z = "00", B = false, RCode = "0000", QDCount = 0, ANCount = 1 }; NetBIOSNSResource resource = new NetBIOSNSResource(); resource.Name = question.QName; resource.Type = question.QType; resource.Class = question.QClass; resource.TTL = ttl; resource.RDLength = 6; resource.RData = rdata; return(Utilities.BlockCopy(responseHeader.GetBytes(), resource.GetBytes())); }
public byte[] GetBytes(NetBIOSNSQuestion requestQuestion, uint ttl, string reply, byte[] id) { byte[] rdata = Utilities.BlockCopy(new byte[2], IPAddress.Parse(reply).GetAddressBytes()); NetBIOSNSHeader responseHeader = new NetBIOSNSHeader { ID = id, QDCount = 0, ANCount = 1 }; this.Name = requestQuestion.QName; this.Type = requestQuestion.QType; this.Class = requestQuestion.QClass; this.TTL = ttl; this.RDLength = 6; this.RData = rdata; return(Utilities.BlockCopy(responseHeader.GetBytes(), this.GetBytes())); }