| skipped 49 lines |
50 | 50 | | sin.sin_port = htons(53); // DNS UDP port number |
51 | 51 | | inet_aton(serverIP, &sin.sin_addr); // DNS server address |
52 | 52 | | |
| 53 | + | // DNS Header Initialization |
| 54 | + | |
53 | 55 | | header = (DNS_header *)buf; |
54 | 56 | | queryID = htons((uint16_t)rand()); |
55 | | - | header->id = htons(queryID); |
56 | | - | header->qdcount = htons(1); |
| 57 | + | header->id = htons(queryID); // Randomly generated query ID |
| 58 | + | header->qdcount = htons(1); // One query |
| 59 | + | header->rd = 1; // Set recursion flag |
57 | 60 | | |
58 | 61 | | // Generate the query |
59 | 62 | | { |
| skipped 81 lines |