diff --git a/src/tools/dns-queries/dns-queries.vue b/src/tools/dns-queries/dns-queries.vue
new file mode 100644
index 000000000..1693cf1d4
--- /dev/null
+++ b/src/tools/dns-queries/dns-queries.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+ Send DNS query
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tools/dns-queries/dns.records.types.json b/src/tools/dns-queries/dns.records.types.json
new file mode 100644
index 000000000..a708d4586
--- /dev/null
+++ b/src/tools/dns-queries/dns.records.types.json
@@ -0,0 +1,49 @@
+[
+ { "value": "A", "label": "Address record" },
+ { "value": "AAAA", "label": "IPv6 address record" },
+ { "value": "AFSDB", "label": "AFS database record" },
+ { "value": "APL", "label": "Address Prefix List" },
+ { "value": "CAA", "label": "Certification Authority Authorization" },
+ { "value": "CDNSKEY", "label": "CDNSKEY" },
+ { "value": "CDS", "label": "Child DS" },
+ { "value": "CERT", "label": "Certificate record" },
+ { "value": "CNAME", "label": "Canonical name record" },
+ { "value": "CSYNC", "label": "Child-to-Parent Synchronization" },
+ { "value": "DHCID", "label": "DHCP identifier" },
+ { "value": "DLV", "label": "DNSSEC Lookaside Validation record" },
+ { "value": "DNAME", "label": "Delegation name record" },
+ { "value": "DNSKEY", "label": "DNS Key record" },
+ { "value": "DS", "label": "Delegation signer" },
+ { "value": "EUI48", "label": "MAC address (EUI-48)" },
+ { "value": "EUI64", "label": "MAC address (EUI-64)" },
+ { "value": "HINFO", "label": "Host Information" },
+ { "value": "HIP", "label": "Host Identity Protocol" },
+ { "value": "HTTPS", "label": "HTTPS Binding" },
+ { "value": "IPSECKEY", "label": "IPsec Key" },
+ { "value": "KEY", "label": "Key record" },
+ { "value": "KX", "label": "Key Exchanger record" },
+ { "value": "LOC", "label": "Location record" },
+ { "value": "MX", "label": "Mail exchange record" },
+ { "value": "NAPTR", "label": "Naming Authority Pointer" },
+ { "value": "NS", "label": "Name server record" },
+ { "value": "NSEC", "label": "Next Secure record" },
+ { "value": "NSEC3", "label": "Next Secure record version 3" },
+ { "value": "NSEC3PARAM", "label": "NSEC3 parameters" },
+ { "value": "OPENPGPKEY", "label": "OpenPGP public key record" },
+ { "value": "PTR", "label": "PTR Resource Record" },
+ { "value": "RP", "label": "Responsible Person" },
+ { "value": "RRSIG", "label": "DNSSEC signature" },
+ { "value": "SIG", "label": "Signature" },
+ { "value": "SMIMEA", "label": "S/MIME cert association" },
+ { "value": "SOA", "label": "Start of [a zone of] authority record" },
+ { "value": "SRV", "label": "Service locator" },
+ { "value": "SSHFP", "label": "SSH Public Key Fingerprint" },
+ { "value": "SVCB", "label": "Service Binding" },
+ { "value": "TA", "label": "DNSSEC Trust Authorities" },
+ { "value": "TKEY", "label": "Transaction Key record" },
+ { "value": "TLSA", "label": "TLSA certificate association" },
+ { "value": "TSIG", "label": "Transaction Signature" },
+ { "value": "TXT", "label": "Text record" },
+ { "value": "URI", "label": "Uniform Resource Identifier" },
+ { "value": "ZONEMD", "label": "Message Digests for DNS Zones" }
+]
diff --git a/src/tools/dns-queries/index.ts b/src/tools/dns-queries/index.ts
new file mode 100644
index 000000000..3396bfc3f
--- /dev/null
+++ b/src/tools/dns-queries/index.ts
@@ -0,0 +1,12 @@
+import { World } from '@vicons/tabler';
+import { defineTool } from '../tool';
+
+export const tool = defineTool({
+ name: 'DNS Queries',
+ path: '/dns-queries',
+ description: 'Perform DNS Queries (over HTTPS)',
+ keywords: ['dns', 'nslookup', 'queries'],
+ component: () => import('./dns-queries.vue'),
+ icon: World,
+ createdAt: new Date('2024-08-15'),
+});
diff --git a/src/tools/index.ts b/src/tools/index.ts
index 52bdf8e37..45c46131d 100644
--- a/src/tools/index.ts
+++ b/src/tools/index.ts
@@ -1,6 +1,7 @@
import { tool as base64FileConverter } from './base64-file-converter';
import { tool as base64StringConverter } from './base64-string-converter';
import { tool as basicAuthGenerator } from './basic-auth-generator';
+import { tool as dnsQueries } from './dns-queries';
import { tool as pdfSignatureChecker } from './pdf-signature-checker';
import { tool as numeronymGenerator } from './numeronym-generator';
import { tool as macAddressGenerator } from './mac-address-generator';
@@ -143,7 +144,15 @@ export const toolsByCategory: ToolCategory[] = [
},
{
name: 'Network',
- components: [ipv4SubnetCalculator, ipv4AddressConverter, ipv4RangeExpander, macAddressLookup, macAddressGenerator, ipv6UlaGenerator],
+ components: [
+ ipv4SubnetCalculator,
+ ipv4AddressConverter,
+ ipv4RangeExpander,
+ macAddressLookup,
+ macAddressGenerator,
+ ipv6UlaGenerator,
+ dnsQueries,
+ ],
},
{
name: 'Math',