From 803d663003366f0899ffa274142c824a9f53d44d Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Sun, 18 Oct 2020 01:56:10 +0000
Subject: [PATCH] dns records fetched and printing
---
main.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/main.c b/main.c
index 7836ad1..3c5961c 100644
--- a/main.c
+++ b/main.c
@@ -143,8 +143,8 @@
answers[i].resource = (struct R_DATA*)reader;
reader = reader+sizeof(struct R_DATA);
- if (ntohs(answers[i].resource->type) == 1) { //IPv6 address
- answers[i].rdata[j] = (unsigned char*)malloc(ntohs(answers[i].resource->data_len));
+ if (ntohs(answers[i].resource->type) == T_A) { //IPv4 address
+ answers[i].rdata = (unsigned char*)malloc(ntohs(answers[i].resource->data_len));
for (j = 0; j < ntohs(answers[i].resource->data_len); j++) {
answers[i].rdata[j] = reader[j];
}
@@ -190,7 +190,7 @@
printf("ans recs: %d\n", ntohs(dns->ans_count));
for (i = 0; i < ntohs(dns->ans_count); i++) {
printf("name: %s ", answers[i].name);
- if (ntohs(answers[i].resource->type == T_A)) { //IPv4
+ if (ntohs(answers[i].resource->type) == T_A) { //IPv4
long* p;
p = (long*)answers[i].rdata;
a.sin_addr.s_addr=(*p);
@@ -221,13 +221,15 @@
void change_to_DNS_name_format(unsigned char* dns, unsigned char* host)
{
int lock = 0;
- strcat((char*)host,".");
+ char h[300];
+ strcpy(h, host);
+ strcat((char*)h,".");
- for (int i = 0; i < strlen((char*)host); i++) {
- if (host[i] == '.') {
+ for (int i = 0; i < strlen((char*)h); i++) {
+ if (h[i] == '.') {
*dns++ = i-lock;
- for (;lock<i;i++) {
- *dns++ = host[lock];
+ for (;lock<i;lock++) {
+ *dns++ = h[lock];
}
lock++;
}
@@ -258,7 +260,7 @@
}
}
name[p] = '\0';
- if (jumped == 0) {
+ if (jumped == 1) {
*count = *count + 1;
}
--
Gitblit v1.10.0