diff options
| author | 刘学利 <[email protected]> | 2020-04-30 10:51:55 +0800 |
|---|---|---|
| committer | 刘学利 <[email protected]> | 2020-04-30 10:51:55 +0800 |
| commit | 34689df78b0074f9ee3a25eaa3ca7ee188a6af17 (patch) | |
| tree | 1c333fa96cdd2b673717b0ae1e35a88ab8748965 /src | |
| parent | c8af64f3e169718f50fddb3c00c727be2f8a83c3 (diff) | |
Delete dns.h
Diffstat (limited to 'src')
| -rw-r--r-- | src/dns.h | 349 |
1 files changed, 0 insertions, 349 deletions
diff --git a/src/dns.h b/src/dns.h deleted file mode 100644 index ed7512e..0000000 --- a/src/dns.h +++ /dev/null @@ -1,349 +0,0 @@ -#ifndef DNS_ANALYSE_H -#define DNS_ANALYSE_H - -#include <MESA/cJSON.h> - -#ifndef u_char -#define u_char unsigned char -#endif - -#ifndef u_int16_t -#define u_int16_t unsigned short -#endif - -#ifndef u_int32_t -#define u_int32_t unsigned int //adjust by lqy 20070521 long to int -#endif - -#define G_DNS_TTL (rand()%1800+1800)//0.5->1hour 2015.01.26by ljp - -#define MAX_CHEAT_PKT_PAYLOAD_LEN 512 - -#define DNS_MAX_SALT 256 -#define DNS_MAX_OWNER 256 -#define DNS_MAX_MAPS 256 -#define DNS_MAX_PUBLIC_KEY 256 -#define DNS_MAX_SIGNER_NAME 256 -#define DNS_MAX_SIGNATURE 256 -#define DNS_MAX_DIGEST 256 -#define DNS_MAX_TARGET 256 - -#define DNS_HINFO_MAX_CPU 40 -#define DNS_HINFO_MAX_OS 40 -#define DNS_MAX_NAME 255 - -/* RR type */ -#define DNS_TYPE_A 1 -#define DNS_TYPE_NS 2 -#define DNS_TYPE_MD 3 -#define DNS_TYPE_MF 4 -#define DNS_TYPE_CNAME 5 -#define DNS_TYPE_SOA 6 -#define DNS_TYPE_MB 7 -#define DNS_TYPE_MG 8 -#define DNS_TYPE_MR 9 -#define DNS_TYPE_NULL 10 -#define DNS_TYPE_WKS 11 -#define DNS_TYPE_PTR 12 -#define DNS_TYPE_HINFO 13 -#define DNS_TYPE_MINFO 14 -#define DNS_TYPE_MX 15 -#define DNS_TYPE_TXT 16 -#define DNS_TYPE_RP 17 -#define DNS_TYPE_ISDN 20 -#define DNS_TYPE_AAAA 28 //dns_ipv6 -#define DNS_TYPE_SRV 33 -#define DNS_TYPE_DNAME 39 -#define DNS_TYPE_OPT 41 -#define DNS_TYPE_DS 43 -#define DNS_TYPE_RRSIG 46 -#define DNS_TYPE_NSEC 47 -#define DNS_TYPE_DNSKEY 48 -#define DNS_TYPE_NSEC3 50 -#define DNS_TYPE_NSEC3PARAM 51 -#define DNS_QTYPE_AXFR 252 -#define DNS_QTYPE_MAILB 253 -#define DNS_QTYPE_MAILA 254 -#define DNS_QTYPE_ANY 255 -#define DNS_TYPE_DLV 32769 /* DSNSEC Lokkaside Validation */ -#define DNS_TYPE_UNKNOWN 65534 - -#define DNS_CLASS_UNKNOWN 0 -#define DNS_CLASS_IN 1 -#define DNS_CLASS_CS 2 -#define DNS_CLASS_CH 3 -#define DNS_CLASS_HS 4 -#define DNS_QCLASS_ANY 255 - -typedef struct _dns_hdr -{ - u_int16_t id; -#if __BYTE_ORDER == __LITTLE_ENDIAN - u_char rd:1; - u_char tc:1; - u_char aa:1; - u_char opcode:4; - u_char qr:1; - u_char rcode:4; - u_char z:3; - u_char ra:1; -#elif __BYTE_ORDER == __BIG_ENDIAN - u_char qr:1; - u_char opcode:4; - u_char aa:1; - u_char tc:1; - u_char rd:1; - u_char ra:1; - u_char z:3; - u_char rcode:4; -#endif - u_int16_t qdcount; - u_int16_t ancount; - u_int16_t aucount;//authority count - u_int16_t adcount;//additional count -} dns_hdr_t; - -typedef struct _hinfo -{ - u_char os_len; - u_char cpu_len; - u_char cpu[DNS_HINFO_MAX_CPU+1]; - u_char os[DNS_HINFO_MAX_OS+1]; -}hinfo_t; - -typedef struct _minfo -{ - u_char rmailbx[DNS_MAX_NAME+1]; - u_char emailbx[DNS_MAX_NAME+1]; -}minfo_t; - -typedef struct _mx -{ - u_int16_t preference; - u_char exchange[DNS_MAX_NAME+1]; -}mx_t; - -typedef struct _soa -{ - u_char mname[DNS_MAX_NAME+1]; - u_char rname[DNS_MAX_NAME+1]; - u_int32_t serial; - u_int32_t refresh; - u_int32_t retry; - u_int32_t expire; - u_int32_t minimum; -}soa_t; - -typedef struct _rp_t -{ - u_char mailbox[DNS_MAX_NAME+1]; - u_char txt_rr[DNS_MAX_NAME+1]; -}rp_t; - -typedef struct _txt_t -{ - u_char txt[DNS_MAX_NAME+1]; - u_char size; -}txt_t; - -typedef struct _null -{ - u_char null[DNS_MAX_NAME+1]; - u_char size; -}null_t; - -typedef struct _wks -{ - u_char protocol; - u_int32_t addr; - u_int32_t size; - u_char * bitmap; -}wks_t; - -typedef struct _srv -{ - u_int16_t priority; - u_int16_t weight; - u_int16_t port; - u_char target[DNS_MAX_TARGET]; -}srv_t; - -typedef struct _ds -{ - u_int16_t key_tag; - u_char algo; - u_char digest_type; - u_int32_t digest_len; - u_char *digest; -}ds_t; - - -typedef struct _rrsig -{ - u_int16_t type_covered; - u_char algo; - u_char labels; - u_int32_t original_ttl; - u_int32_t sig_expiration; - u_int32_t sig_inception; - u_int32_t key_tag; - u_int32_t signature_len; - u_char signer_name[DNS_MAX_SIGNER_NAME]; - u_char *signature; -}rrsig_t; - -typedef struct _nsec -{ - u_int16_t maps_len; - u_char next_domain[DNS_MAX_OWNER]; - u_char type_bit_maps[DNS_MAX_MAPS]; -}nsec_t; - -typedef struct _dnskey -{ - u_int16_t flags; - u_char protocol; - u_char algo; - u_int32_t public_key_len; - u_char *public_key; -}dnskey_t; - - -typedef struct _nsec3 -{ - u_char hash_algo; - u_char flags; - u_char salt_len; - u_char hash_len; - u_int16_t iteration; - u_int16_t maps_len; - u_char *salt_value; - u_char *next_hash_owner; - u_char type_bit_maps[DNS_MAX_MAPS]; -}nsec3_t; - -typedef struct _nsec3param -{ - u_char hash_algo; - u_char flags; - u_char salt_len; - u_int16_t iteration; - u_char *salt_value; -}nsec3param_t; - -typedef struct _dns_rr -{ - u_char name[DNS_MAX_NAME+1]; - u_int16_t type; - u_int16_t rr_class; - u_int32_t ttl; /* 1byte: extended RCODE; 1byte: version; 2bytes: Z(upper bit) if type is OPT */ - u_int16_t rdlength; - union - { - u_char cname[DNS_MAX_NAME + 1]; /* cname[DNS_MAX_NAME + 1]; */ - hinfo_t hinfo; - u_char mb[DNS_MAX_NAME + 1]; /* mb[DNS_MAX_NAME + 1]; */ - u_char md[DNS_MAX_NAME + 1]; /* md[DNS_MAX_NAME + 1]; */ - u_char mf[DNS_MAX_NAME + 1]; /* mf[DNS_MAX_NAME + 1]; */ - u_char mg[DNS_MAX_NAME + 1]; /* mg[DNS_MAX_NAME + 1]; */ - minfo_t minfo; - u_char mr[DNS_MAX_NAME + 1]; /* mr[DNS_MAX_NAME + 1]; */ - mx_t mx; - u_char ns[DNS_MAX_NAME + 1]; /* ns[DNS_MAX_NAME + 1]; */ - u_char ptr[DNS_MAX_NAME + 1]; /* ptr[DNS_MAX_NAME + 1]; */ - soa_t soa; - u_char a[DNS_MAX_NAME + 1]; - u_char aaaa[DNS_MAX_NAME + 1]; /* aaaa[16]; */ - u_char dname[DNS_MAX_NAME + 1]; - u_char isdn[DNS_MAX_NAME + 1]; - u_char unknown_data[DNS_MAX_NAME + 1]; - txt_t txt; - rp_t rp; - null_t null; - wks_t wks; - srv_t srv; - ds_t ds; - rrsig_t rrsig; - nsec_t nsec; - dnskey_t dnskey; - nsec3_t nsec3; - nsec3param_t nsec3param; - } rdata; -} dns_rr_t; - -typedef struct _fake_packet_opt -{ - u_int16_t cfg_type; /* IP or STR */ - u_int16_t res_type; - u_int32_t ttl; - u_int32_t res_len; - u_char res_info[DNS_MAX_NAME+1]; -}cheat_pkt_opt_t; - -typedef struct -{ - u_int16_t qtype; - u_int16_t qclass; - u_char qname[DNS_MAX_NAME+1]; -} dns_query_question_t; - -#define MAX_RR_NUM 256 - -typedef struct _dns_info -{ - dns_hdr_t hdr_info; - int rr_count; - dns_rr_t rr[MAX_RR_NUM]; - dns_query_question_t query_question; -}dns_info_t; - - - -enum flag_id -{ - /* ������ֶ�ʱ�������Զ�����ͷ����Ϣ */ - DNS_UNKOWN =0, - DNS_ALL = 1<<0, /* ȫ�� */ - DNS_REQ_ALL = 1<<1, /* �����ȫ�� */ - DNS_RES_ALL = 1<<2, /* ���Ӧ���ȫ������ */ - DNS_REQ_HDR = 1<<3, /* �������ͷ������ */ - DNS_RES_HDR = 1<<4, /* ��Ӧ���ͷ������ */ - //DNS_REQ_QUERY = 1<<5, /* ��Ӧ����е�������Ϣ(������������ѯ��Ϣ���Զ�����ͷ������ΪDNS_REQ_ALL_FLAG_ID������û��Ҫ����һ��ֵ) */ - DNS_RES_QUERY = 1<<6, /* ��Ӧ����е�������Ϣ */ - DNS_RES_RRS = 1<<7, /* ������Ӧ����Դ��¼ */ - DNS_RES_ANSWER = 1<<8, /* ��answerӦ���¼ */ - DNS_RES_AUTH = 1<<9, /* ����Ȩ��Դ��¼ */ - DNS_RES_ADD = 1<<10, /* �⸽����Դ��¼ */ -}; - - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* -* name:build_dns_payload -* functionality:build dns packet -* param: -* pay_load_buf:the thread num -* len:buffer length -* pkt_para:option parameter -* opt_cnt:option counts -* -* returns: -* >0:build sucess -* -1:ibuild failed -* -* */ - -int get_rr_str2json(cJSON *object, dns_info_t *dns_info, int *dns_sec); -int get_rr_content2buf(dns_rr_t *rr, int rr_count, char *rr_buf, int buflen, int *dns_sec); -int dns_save_raw_pkt(char *buf, int buflen, const struct streaminfo * a_stream); -int build_cheat_pkt(unsigned char *payload, int payload_len, dns_query_question_t *query_question, cheat_pkt_opt_t *cheat_opt, int cheat_opt_num); - -#ifdef __cplusplus -} -#endif -#endif - |
