int dmarc_fetch(stralloc *out,const char *domain) { stralloc_copys(&ddomain,"_dmarc."); stralloc_cats(&ddomain,domain); if (dns_txt(out,&ddomain) < 0) return -1; /* Check if it's really a DMARC record */ if (out->len < 10) return 0; if (byte_diff(out->s,9,"v=DMARC1;")) return 0; return 1; }
int main(int argc, char **argv) { //std::string tmproom = getroomname(myaddr.addr); FILE *db; FILE *db2; db = fopen("db_ip-room.txt","w"); if(db == NULL) { printf("Can not open file!\n"); return -1; } db2 = fopen("db_user-ip.txt","w"); if(db2 == NULL) { printf("Can not open file!\n"); return -1; } for (int i=1; i<256; i++) { char *buffer = (char*)malloc(5000); char *buffer2 = (char*)malloc(5000); sprintf(buffer,"141.30.225.%d",i); in_addr myaddr; myaddr.s_addr = inet_addr(buffer); dns_t *ptr; int count1=dns_ptr(&myaddr,&ptr); sprintf(buffer2,"%s",ptr->name); dns_t *txt; int count2=dns_txt(ptr->name,&txt); if ((count1>0) && (count2>0)) { getroomname(buffer2); printf("%s %s %s %s\n",buffer,ptr->name,buffer2,txt->name); fprintf(db,"%s\t%s\n",buffer,buffer2); fprintf(db2,"%s\t%s\n",txt->name,buffer); } free(buffer); free(buffer2); } fclose(db); fclose(db2); return 0; }
int main () { stralloc out ={0}; stralloc sa ={0}; char ip[4]; char *dn =0; stralloc_copys(&sa, "abcdefg"); dns_ip4(&out, &sa); dns_ip4_qualify(&out, &sa, &sa); dns_name4(&out, ip); dns_mx(&out, &sa); dns_txt(&out, &sa); dns_domain_length(sa.s); dns_domain_equal(sa.s, sa.s); dns_domain_copy(&dn, sa.s); dns_domain_fromdot(&dn, sa.s, sa.len); return 0; }