示例#1
0
文件: dmarc.c 项目: bruceg/ezmlm-idx
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;
}
示例#2
0
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;
}
示例#3
0
文件: test.c 项目: alexgirao/ipsvd
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;
}