Skip to content

Commit 6eaba07

Browse files
author
=
committed
improved rcascan active and passive
1 parent 14ae586 commit 6eaba07

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

hcxdumptool.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2721,26 +2721,32 @@ for(i = 0; i < APLIST_MAX - 1; i++)
27212721
if((aplist + i)->tsakt == 0) break;
27222722
if(memcmp((aplist + i)->apdata->maca, macfrx->addr2, ETH_ALEN) != 0) continue;
27232723
(aplist + i)->tsakt = tsakt;
2724-
if(memcmp(macclientrg, macfrx->addr1, ETH_ALEN) != 0) (aplist + i)->apdata->tsresponse = tsakt;
2724+
if(memcmp(macclientrg, macfrx->addr1, ETH_ALEN) == 0)
2725+
{
2726+
(aplist + i)->apdata->tsresponse = tsakt;
2727+
proberesponsercascancount++;
2728+
}
27252729
(aplist + i)->apdata->rtfrequency = rtfrequency;
27262730
(aplist + i)->apdata->rtrssi = rtrssi;
27272731
if(__hcx16le(proberesponse->capability) & WLAN_CAPABILITY_PRIVACY) (aplist + i)->apdata->privacy = 'e';
27282732
else (aplist + i)->apdata->privacy = 'o';
27292733
get_tags((aplist + i)->apdata, proberesponselen, proberesponse->ie);
2730-
proberesponsercascancount++;
27312734
if(i > APLIST_HALF) qsort(aplist, i + 1, APLIST_SIZE, sort_aplist_by_tsakt);
27322735
return;
27332736
}
27342737
(aplist + i)->tsakt = tsakt;
27352738
memset((aplist + i)->apdata, 0, APDATA_SIZE);
27362739
memcpy((aplist + i)->apdata->maca, macfrx->addr2, ETH_ALEN);
2737-
if(memcmp(macclientrg, macfrx->addr1, ETH_ALEN) != 0) (aplist + i)->apdata->tsresponse = tsakt;
2740+
if(memcmp(macclientrg, macfrx->addr1, ETH_ALEN) == 0)
2741+
{
2742+
(aplist + i)->apdata->tsresponse = tsakt;
2743+
proberesponsercascancount++;
2744+
}
27382745
(aplist + i)->apdata->rtfrequency = rtfrequency;
27392746
(aplist + i)->apdata->rtrssi = rtrssi;
27402747
if(__hcx16le(proberesponse->capability) & WLAN_CAPABILITY_PRIVACY) (aplist + i)->apdata->privacy = 'e';
27412748
else (aplist + i)->apdata->privacy = 'o';
27422749
get_tags((aplist + i)->apdata, proberesponselen, proberesponse->ie);
2743-
proberesponsercascancount++;
27442750
qsort(aplist, i + 1, APLIST_SIZE, sort_aplist_by_tsakt);
27452751
return;
27462752
}
@@ -5998,6 +6004,12 @@ if(rcascanmode == RCASCAN_ACTIVE)
59986004
if(proberesponsercascancount > 0) fprintf(stderr, "%" PRIu64 " PROBERESPONSEs received \n", proberesponsercascancount);
59996005
else fprintf(stderr, "0 PROBERESPONSEs received (packet injection is possibly not working)\n");
60006006
}
6007+
if(rcascanmode == RCASCAN_PASSIVE)
6008+
{
6009+
if(beaconrcascancount > 0) fprintf(stderr, "%" PRIu64 " BEACONs received\n", beaconrcascancount);
6010+
else fprintf(stderr, "0 BEACONs received (monitor mode is possibly not working)\n");
6011+
}
6012+
60016013
if((uid == 0) && (ftcflag == true)) save_ftc();
60026014
if(exiteapolflag != 0)
60036015
{

0 commit comments

Comments
 (0)