NetworkPackets.Dns.DnsPacket.HostnameMemBlockToString C# (CSharp) Method

HostnameMemBlockToString() public static method

Takes in a memblock containing a dns formatted hostname string and converts it into a String.
public static HostnameMemBlockToString ( MemBlock name ) : String
name MemBlock The memblock containing the dns formated hostname.
return String
    public static String HostnameMemBlockToString(MemBlock name) {
      String names = String.Empty;
      int idx = 0;
      while(name[idx] != 0) {
        byte length = name[idx++];
        for(int i = 0; i < length; i++) {
          names += (char) name[idx++];
        }
        if(name[idx] != 0) {
          names  += ".";
        }
      }
      return names;
    }

Usage Example

Exemplo n.º 1
0
        public void TestHostname()
        {
            String   hostname  = "yo-in-f104.google.com";
            MemBlock hostnamem = MemBlock.Reference(new byte[] { 0x0a, 0x79, 0x6f,
                                                                 0x2d, 0x69, 0x6e, 0x2d, 0x66, 0x31, 0x30, 0x34, 0x06, 0x67, 0x6f, 0x6f,
                                                                 0x67, 0x6c, 0x65, 0x03, 0x63, 0x6f, 0x6d, 0x00 });

            Assert.AreEqual(hostname, DnsPacket.HostnameMemBlockToString(hostnamem),
                            "HostnameMemBlockToString");
            Assert.AreEqual(hostnamem, DnsPacket.HostnameStringToMemBlock(hostname),
                            "HostnameStringToMemBlock");
            Assert.AreEqual(hostname, DnsPacket.HostnameMemBlockToString(
                                DnsPacket.HostnameStringToMemBlock(hostname)),
                            "Hostname String dual");
            Assert.AreEqual(hostnamem, DnsPacket.HostnameStringToMemBlock(
                                DnsPacket.HostnameMemBlockToString(hostnamem)),
                            "Hostname MemBlock dual");
        }
All Usage Examples Of NetworkPackets.Dns.DnsPacket::HostnameMemBlockToString