diff --git a/hcxpcapngtool.c b/hcxpcapngtool.c index c2af1e128..8a4b1f8e1 100644 --- a/hcxpcapngtool.c +++ b/hcxpcapngtool.c @@ -2341,7 +2341,22 @@ for(zeigerpmkid = zeigerpmkidakt; zeigerpmkid < pmkidlistptr; zeigerpmkid++) } if(memcmp(&myaktclient, zeigerpmkid->client, 6) == 0) pmkidroguecount++; pmkidbestcount++; - if(fh_pmkideapol != 0) + + if((fh_pmkideapol != 0) && ((zeigerpmkid->status & PMKID_AP) == PMKID_AP)) + { + //WPA*TYPE*PMKID-ODER-MIC*MACAP*MACSTA*ESSID_HEX*ANONCE*EAPOL*MP + fprintf(fh_pmkideapol, "WPA*%02d*%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x*%02x%02x%02x%02x%02x%02x*%02x%02x%02x%02x%02x%02x*", + HCX_TYPE_PMKID, + zeigerpmkid->pmkid[0], zeigerpmkid->pmkid[1], zeigerpmkid->pmkid[2], zeigerpmkid->pmkid[3], zeigerpmkid->pmkid[4], zeigerpmkid->pmkid[5], zeigerpmkid->pmkid[6], zeigerpmkid->pmkid[7], + zeigerpmkid->pmkid[8], zeigerpmkid->pmkid[9], zeigerpmkid->pmkid[10], zeigerpmkid->pmkid[11], zeigerpmkid->pmkid[12], zeigerpmkid->pmkid[13], zeigerpmkid->pmkid[14], zeigerpmkid->pmkid[15], + zeigerpmkid->ap[0], zeigerpmkid->ap[1], zeigerpmkid->ap[2], zeigerpmkid->ap[3], zeigerpmkid->ap[4], zeigerpmkid->ap[5], + zeigerpmkid->client[0], zeigerpmkid->client[1], zeigerpmkid->client[2], zeigerpmkid->client[3], zeigerpmkid->client[4], zeigerpmkid->client[5]); + for(p = 0; p < zeigermac->essidlen; p++) fprintf(fh_pmkideapol, "%02x", zeigermac->essid[p]); + if(addtimestampflag == false) fprintf(fh_pmkideapol, "***%02x\n", zeigerpmkid->status & PMKID_AP); + else fprintf(fh_pmkideapol, "***%02x\t%s\n", zeigerpmkid->status, timestringhs); + pmkidwrittenhcount++; + } + if((fh_pmkideapol != 0) && (donotcleanflag == true) && ((zeigerpmkid->status & PMKID_CLIENT) == PMKID_CLIENT)) { //WPA*TYPE*PMKID-ODER-MIC*MACAP*MACSTA*ESSID_HEX*ANONCE*EAPOL*MP fprintf(fh_pmkideapol, "WPA*%02d*%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x*%02x%02x%02x%02x%02x%02x*%02x%02x%02x%02x%02x%02x*", @@ -2351,7 +2366,7 @@ for(zeigerpmkid = zeigerpmkidakt; zeigerpmkid < pmkidlistptr; zeigerpmkid++) zeigerpmkid->ap[0], zeigerpmkid->ap[1], zeigerpmkid->ap[2], zeigerpmkid->ap[3], zeigerpmkid->ap[4], zeigerpmkid->ap[5], zeigerpmkid->client[0], zeigerpmkid->client[1], zeigerpmkid->client[2], zeigerpmkid->client[3], zeigerpmkid->client[4], zeigerpmkid->client[5]); for(p = 0; p < zeigermac->essidlen; p++) fprintf(fh_pmkideapol, "%02x", zeigermac->essid[p]); - if(addtimestampflag == false) fprintf(fh_pmkideapol, "***%02x\n", zeigerpmkid->status & 0x01); + if(addtimestampflag == false) fprintf(fh_pmkideapol, "***%02x\n", zeigerpmkid->status & PMKID_CLIENT); else fprintf(fh_pmkideapol, "***%02x\t%s\n", zeigerpmkid->status, timestringhs); pmkidwrittenhcount++; } @@ -2365,7 +2380,7 @@ for(zeigerpmkid = zeigerpmkidakt; zeigerpmkid < pmkidlistptr; zeigerpmkid++) zeigerpmkid->ap[0], zeigerpmkid->ap[1], zeigerpmkid->ap[2], zeigerpmkid->ap[3], zeigerpmkid->ap[4], zeigerpmkid->ap[5], zeigerpmkid->client[0], zeigerpmkid->client[1], zeigerpmkid->client[2], zeigerpmkid->client[3], zeigerpmkid->client[4], zeigerpmkid->client[5]); for(p = 0; p < zeigermac->essidlen; p++) fprintf(fh_pmkideapolclient, "%02x", zeigermac->essid[p]); - if(addtimestampflag == false) fprintf(fh_pmkideapolclient, "***%02x\n", zeigerpmkid->status & 0x01); + if(addtimestampflag == false) fprintf(fh_pmkideapolclient, "***%02x\n", zeigerpmkid->status & PMKID_CLIENT); else fprintf(fh_pmkideapolclient, "***%02x\t%s\n", zeigerpmkid->status, timestringhs); pmkidclientwrittenhcount++; }