Skip to content

Commit

Permalink
XMap 2.0.0 New Version Release
Browse files Browse the repository at this point in the history
* New feature:
  * new module `dnsx`                : enable DNS over IPv6
  * new module `dnsa`     (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port>
  * new module `dnsae`    (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
  * new module `dnsan`    (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port>
  * new module `dnsane`   (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
  * new module `dnsane16` (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=65535
  * new module `dnsai`    (IPv4&IPv6): enable changing TXID when sending multiple queries towards the same target <IP, port>
  * new module `dnsaie`   (IPv4&IPv6): enable changing TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
  * new module `dnsap`    (IPv4&IPv6): enable changing source port when sending multiple queries towards the same target <IP, port>
  * new module `dnsape`   (IPv4&IPv6): enable changing source port when sending multiple queries towards the same target <IP, port> with EDNS0=4096
  * new module `dnsaf`    (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with fake source IP
  * new module `dnsafe`   (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096 & source IP
  • Loading branch information
idealeer committed Jun 28, 2023
1 parent aec14f4 commit 8461c6a
Show file tree
Hide file tree
Showing 32 changed files with 192,264 additions and 79 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,19 @@
* XMap 1.1.4 Minor Release.
* New feature:
* increase the field number to store results

# 2.0.0 06/28/2023
* XMap 2.0.0 New Version Release.
* New feature:
* new module `dnsx` : enable DNS over IPv6
* new module `dnsa` (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port>
* new module `dnsae` (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
* new module `dnsan` (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port>
* new module `dnsane` (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
* new module `dnsane16` (IPv4&IPv6): enable fixed source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=65535
* new module `dnsai` (IPv4&IPv6): enable changing TXID when sending multiple queries towards the same target <IP, port>
* new module `dnsaie` (IPv4&IPv6): enable changing TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096
* new module `dnsap` (IPv4&IPv6): enable changing source port when sending multiple queries towards the same target <IP, port>
* new module `dnsape` (IPv4&IPv6): enable changing source port when sending multiple queries towards the same target <IP, port> with EDNS0=4096
* new module `dnsaf` (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with fake source IP
* new module `dnsafe` (IPv4&IPv6): enable changing source port & TXID when sending multiple queries towards the same target <IP, port> with EDNS0=4096 & source IP
23 changes: 23 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,29 @@ set(SOURCES_PROBE_MODULES
probe_modules/module_dnsz.c
probe_modules/module_dnss.c
probe_modules/module_dnsv.c
probe_modules/module_dnsa.c
probe_modules/module_dnsae.c
probe_modules/module_dnsan.c
probe_modules/module_dnsane.c
probe_modules/module_dnsane16.c
probe_modules/module_dnsai.c
probe_modules/module_dnsaie.c
probe_modules/module_dnsap.c
probe_modules/module_dnsape.c
probe_modules/module_dnsaf.c
probe_modules/module_dnsafe.c
probe_modules/module_dns6x.c
probe_modules/module_dns6a.c
probe_modules/module_dns6ae.c
probe_modules/module_dns6an.c
probe_modules/module_dns6ane.c
probe_modules/module_dns6ane16.c
probe_modules/module_dns6ai.c
probe_modules/module_dns6aie.c
probe_modules/module_dns6ap.c
probe_modules/module_dns6ape.c
probe_modules/module_dns6af.c
probe_modules/module_dns6afe.c
)

set(SOURCES_IID_MODULES
Expand Down
2 changes: 1 addition & 1 deletion src/probe_modules/module_dns.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ static int num_questions = 0;
* (below, and setup_qtype_str_map())
*/
const char *qtype_strs[] = {"A", "NS", "CNAME", "SOA", "PTR",
"MX", "TXT", "AAAA", "RRSIG", "ANY"};
"MX", "TXT", "AAAA", "RRSIG", "ANY"};
const int qtype_strs_len = 10;

const dns_qtype qtype_strid_to_qtype[] = {
Expand Down
12 changes: 12 additions & 0 deletions src/probe_modules/module_dns.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,17 @@ typedef struct __attribute__((packed)) {
char rdata[];
} dns_answer_tail;

typedef struct __attribute__((packed)) {
uint16_t type; /* should be OPT (41) */
uint16_t udpsize; /* UDP payload size */
uint8_t ercode; /* higher bits in extended rcode */
uint8_t eversion; /* EDNS0 version */
uint16_t dodnssec : 1; /* handle DNSSEC security or not */
uint16_t z : 15; /* reserved set to 0 */
uint16_t dlength; /* data length */
char data[]; /* data */
} dns_option_tail;

typedef enum {
DNS_QTYPE_A = 1,
DNS_QTYPE_NS = 2,
Expand All @@ -69,6 +80,7 @@ typedef enum {
DNS_QTYPE_HTTPS = 65,
DNS_QTYPE_CAA = 257,
DNS_QTYPE_HTTPSSVC = 65479,
DNS_QTYPE_OPT = 41,
} dns_qtype;

typedef enum {
Expand Down
Loading

0 comments on commit 8461c6a

Please sign in to comment.