?? senddnsquery-raw.c
字號(hào):
#include "udpcksum.h"/* * Build a DNS A query for "a.root-servers.net" and write it to * the raw socket. *//* include send_dns_query */voidsend_dns_query(void){ size_t nbytes; char *buf, *ptr; buf = Malloc(sizeof(struct udpiphdr) + 100); ptr = buf + sizeof(struct udpiphdr);/* leave room for IP/UDP headers */ *((uint16_t *) ptr) = htons(1234); /* identification */ ptr += 2; *((uint16_t *) ptr) = htons(0x0100); /* flags: recursion desired */ ptr += 2; *((uint16_t *) ptr) = htons(1); /* # questions */ ptr += 2; *((uint16_t *) ptr) = 0; /* # answer RRs */ ptr += 2; *((uint16_t *) ptr) = 0; /* # authority RRs */ ptr += 2; *((uint16_t *) ptr) = 0; /* # additional RRs */ ptr += 2; memcpy(ptr, "\001a\014root-servers\003net\000", 20); ptr += 20; *((uint16_t *) ptr) = htons(1); /* query type = A */ ptr += 2; *((uint16_t *) ptr) = htons(1); /* query class = 1 (IP addr) */ ptr += 2; nbytes = (ptr - buf) - sizeof(struct udpiphdr); udp_write(buf, nbytes); if (verbose) printf("sent: %d bytes of data\n", nbytes);}/* end send_dns_query */
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -