File: changelog

package info (click to toggle)
hcxtools 7.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,152 kB
  • sloc: ansic: 21,223; python: 144; makefile: 101; sh: 99
file content (2266 lines) | stat: -rw-r--r-- 74,849 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
01.02.2026
==========
release v7.1.0


22.01.2026
==========
hcxpottool: renamed options tabasciiout to tapspout & added new option tabnhout
--tabspout=<file>    : output tabulator separated file
                        hexified characters < 0x20
                        hexified characters > 0x7e

--tabnhout=<file>    : output tabulator separated file
                        nothing hexified (use with care)


18.01.2026
==========
hcxpottool: fixed help menu, added new option tabasciiout
--tabout=<file>      : output tabulator separated file
                        hexified characters < 0x21
                        hexified characters > 0x7e
--tabasciiout=<file> : output tabulator separated file
                        hexified characters < 0x20
                        hexified characters > 0x7e


18.01.2026
==========
hcxpottool: added 2 new options to generate PBKDF2 HMAC SHA 1 hash files accepted by hashcat and JtR
            added 1 new option to read john pot file
             important: as of today, hashcat is not able to handle same salts when running in hash mode 12000!
            changed hashcat input and hashcat output option name
$ .hcxpottool -h
hcxpottool 7.0.1-39-ge8b8235  (C) 2026 ZeroBeat
usage  : hcxpottool <options>

short options:
-h                   : show this help
-v                   : show version

long options:
--hcpotin=<file>     : input potfile in hashcat pot file format
                        format: PMK*ESSID:PSK
--hcoutin=<file>     : input outfile in hashcat out file format
                        format: MIC/PMKID:MAC_AP:MAC_CLIENT:ESSID:PSK
                        verify/calculate plain master keys enabled by default
--jtrpotin=<file>    : input potfile in john pot file format
                        format: $pbkdf2-hmac-sha1$ESSID$PMK:PSK
--hcpotout=<file>    : output potfile in hashcat format
                        hexified characters < 0x20
                        hexified characters > 0x7e
                        hexified delimiter :
--hcpbkdf2out=<file> : output hashcat hash file format 12000
--jtrpbkdf2out=<file>: output john hash file format PBKDF2-HMAC-SHA1-opencl / PBKDF2-HMAC-SHA1
--tabout=<file>      : output tabulator separated file
                        hexified characters < 0x20
                        hexified characters > 0x7e
--faultyout=<file>   : output faulty lines file
--pmkoff             : disable verification/calculation of plain master keyss
--help               : show this help
--version            : show version


13.01.2026
==========
hcxcommic: removed, because featur has been implemented to hashcat
$ hashcat --help | grep copy
     --hash-copy                |      | Output hashes identically to the input hash          |


hcxpottool: added new tool
I noticed several problems regarding character encodings.
1. My editor can handle utf8, 16, 32 and ASCII encodings.
2. The terminal can handle utf8, 16, 32 and ASCII encodings.
3. hashcat can handle utf8, 16, 32 and ASCII encodings.
Unfortunately none of them can handle files with mixed encodings inside.

hcxppttool will fix this and convert everything to common ASCII format!

"ASCII printable characters (character code 32-127)
Codes 32-127 are common for all the different variations of the ASCII table, they are called printable characters,
represent letters, digits, punctuation marks, and a few miscellaneous symbols. You will find almost every character
on your keyboard. Character 127 represents the command DEL."
https://www.ascii-code.com/

"Unlike basic service set identifiers, SSIDs are usually customizable. These SSIDs can be zero to 32 octets long,
and are, for convenience, usually in a natural language The 802.11 standards prior to the 2012 edition did not
define any particular encoding or representation for SSIDs, which were expected to be treated and handled as an
arbitrary sequence of 0–32 octets that are not limited to printable characters. IEEE Std 802.11-2012 defines a flag
to express that the SSID is UTF-8-encoded and could contain any Unicode text.
Wireless network stacks must still be prepared to handle all possible values in the SSID field!!!!!"
https://en.wikipedia.org/wiki/Service_set_(802.11_network)

As input hcxpottool takes a hashcat out file and/or hashcat pot file.
Output is a hexified new pot file. All characters < 0x21 and > 0x7e are hexified! Psk length is alway <= 8 characters (0x00 padded if less).
Delimiter ":" is hexified too.
PMKs are checked and corrected. 


$ hcxpottool -h
hcxpottool 7.0.1-31-g6f979fb  (C) 2026 ZeroBeat
usage  : hcxpottool <options>

short options:
-h                : show this help
-v                : show version

long options:
--potin=<file>    : input potfile in hashcat pot file format
--outin=<file>    : input outfile in hashcat out file format
                     verify/calculate plain master keys enabled by default
--potout=<file>   : output potfile in hashcat format
                     hexified characters < 0x20
                     hexified characters > 0x7e
                     hexified delimiter :
--tabout=<file>   : output tabulator separated file
                     hexified characters < 0x20
                     hexified characters > 0x7e
--faultyout=<file>: output faulty lines file
--pmkoff          : disable verification/calculation of plain master keyss
--help            : show this help
--version         : show version



07.01.2026
==========
hcxpcapngtool: added ddetection of EPPKE authentication protocol
               https://lwn.net/Articles/1052831/

17.08.2025
==========
release v7.0.1
hcxpcapngtool: fixed MxMxE3 MESSAGEPAIR handling on option --all


02.08.2025
==========
release v7.0.0
hcxpcapngtool: added support for relayed EAPOL messages


08.02.2025
==========
hcxpcapngtool: added new options to read NMEA 0183 files from external sources
--nmea-in=<file>                   : input NME 0183 file
                                     to convert gpx to NMEA 0183, use GPSBabel:
                                     gpsbabel -w -t -i gpx -f in_file.gpx -o nmea -F out_file.nmea
--nmea-offset=<file>               : time offset between NMEA 0183 file and dump file in seconds

The aim is to retrieve GPS information in NMEA 0183 standard format either from
USB GPS devices or external a GPS tracker (e.g. Garmin eTrex 30) and to feed this
data to hcxpcapngtool.
In a next step, I'll add the evaluation of AP data and GPS location.


31.01.2025
==========
hcxpcapngtool: option nmea changed to nmea-out


11.11.2024
==========
release v6.3.5
hcxhashtool: added new option to filter ESSID 
--essid-regex=<regex>        : filter ESSID by regular expression

several fixes and improvements


04.03.2024
==========
README.md: removed entire instructions how to compile hcxtools on different distributions
           check the distribution's page how to update the distribution, how to install missing dependencies and missing header files


25.02.2024
==========
release v6.3.4


26.01.2024
==========
hcxpcapngtool: added option to store a BSSID file to syn with external GPS data
--lts=<file>                 : output BSSID list to sync with external GPS data
                               format: LINUX timestamp <tab> MAC_AP <tab> ESSID


14.12.2023
==========
hcxhashtool: added new option to import ancient hccap file
--hccap-in=<file>            : inputput ancient hccap file


13.12.2023
==========
hcxhashtool: changed options hccapx and hccap
--hccapx-out=<file>          : output to deprecated hccapx file
--hccap-out=<file>           : output to ancient hccap file

hcxhashtool: added new option to import deprecated hccapx file
--hccapx-in=<file>           : inputput deprecated hccapx file


01.11.2023
==========
release v6.3.2


26.09.2023
==========
hcxpsktool: added simple pattern generator based on analysis of wpa-sec
--simple            : include simple pattern


04.07.2023
==========
added -Wpedantic to compiler flags and fixed all warnings


30.06.2023
==========
release v6.3.1


13.05.2023
==========
hcxhashtool: allow to print ESSID list to stdout
-E <file>   : output ESSID list (autohex enabled)
-E stdout   : output ESSID list to stdout (autohex enabled)


10.05.2023
==========
hcxpcapngtool: added new option store PMKIDs coming from a CLIENT to a separate hash file.
--pmkid-client=<file>              : output WPA-(MESH/REPEATER)-PMKID hash file (hashcat -m 22000)
to successfully recover the PSK from this PMKIDs, it is mandatory to store all PMKIDs coming from a CLIENT to this file

added information about source to the end of WPA*01 hash line:
PMKID from ACCESS POINT: WPA*01*PMKID*MAC_AP*MAC_CLIENT*ESSID***01
PMKID from CLIENT      : WPA*01*PMKID*MAC_AP*MAC_CLIENT*ESSID***10


05.05.2023
==========
release v6.3.0
hcxhashtool/whoismac: do not overwrite oui.txt in case of download ERROR


10.03.2023
==========
release v6.2.9
hcxpcapngtool moved default timestamp from usec to nsec (timeval to timespec)


10.03.2023
==========
release v6.2.8
moved to EVP API 3.0 (from now on OpenSSL >= 3.0 is mandatory)
hcxpcapngtool: handle nsec timestamps 


24.12.2022
==========
hcxpcapngtool: added detection of entire RADIUS detection
RADIUS AUTHENTICATION (REQUEST)..........: 2
RADIUS AUTHENTICATION (CHALLENGE)........: 1
RADIUS AUTHENTICATION (ACCEPT)...........: 1


23.12.2022
==========
wlancap2wpasec: moved to curl_mime_xxx
from now on curl >= 7.56 is mandatory


14.12.2022
==========
hcxhashtool: added new option -L to write unfiltered and unsorted ESSID list (useful for hashcat -a9 option)


25.11.2022
==========
hcxhashtool: added new option --essid-partx to filter case insensitive
more information here:
https://hashcat.net/forum/thread-6661-post-56782.html#pid56782


17.11.2022
==========
hcxpcapngtool: added detection of TACAS plus v2 and v3


13.11.2022
==========
removed deprecated tools:

| deprecated     | obsolete and - no longer under maintenance - will be removed, when OpenSSL switching to version 3.0.0                  |
| -------------- | ---------------------------------------------------------------------------------------------------------------------- |
| hcxmactool     | Various MAC based filter operations on HCCAPX and PMKID files - convert hccapx and/or PMKID to new hashline format     |
| hcxpmkidtool   | CPU based tools to verify a PMKID                                                                                      |
| hcxessidtool   | Various ESSID based filter operations on HCCAPX and PMKID files                                                        |
| hcxhashcattool | Convert old hashcat (<= 5.1.0) separate potfile (2500 and/or 16800) to new potfile format                              |

improved hcxpmktool (tool to verify a single hc22000 hash):
$ hcxpmktool --help
hcxpmktool 6.2.7-51-g60b1801  (C) 2022 ZeroBeat
usage  : hcxpmktool <options>

short options:
-l <hash line> : input hashcat hash line (-m 22000)
-e <ESSID>     : input Network Name (ESSID)
-p <PSK>       : input Pre Shared Key (PSK) or Plain Master Key (PMK)
-p -           : read Pre Shared Key (PSK) from stdin
               : small lists only

long options:
--help         : show this help
--version      : show version

exit codes:
0 = PSK/PMK confirmed
1 = ERROR occurred
2 = PSK/PMK unconfirmed

examples:
get 22000 hashes from here:
https://hashcat.net/wiki/doku.php?id=example_hashes

verify PMKID hash (WPA*01) by PSK
$ hcxpmktool -l WPA*01*4d4fe7aac3a2cecab195321ceb99a7d0*fc690c158264*f4747f87f9f4*686173686361742d6573736964*** -p hashcat!

HASH FORMAT.: PMKID (WPA*01)
ESSID.......: hashcat-essid
MAC_AP......: fc690c158264
MAC_CLIENT..: f4747f87f9f4
PSK.........: hashcat!
PMK.........: 88f43854ae7b1624fc2ab7724859e795130f4843c7535729e819cf92f39535dc (calculated)
PMKID.......: 4d4fe7aac3a2cecab195321ceb99a7d0 (confirmed)


verify PMKID hash (WPA*01) by PMK
$ hcxpmktool -l WPA*01*4d4fe7aac3a2cecab195321ceb99a7d0*fc690c158264*f4747f87f9f4*686173686361742d6573736964*** -p 88f43854ae7b1624fc2ab7724859e795130f4843c7535729e819cf92f39535dc

HASH FORMAT.: PMKID (WPA*01)
ESSID.......: hashcat-essid
MAC_AP......: fc690c158264
MAC_CLIENT..: f4747f87f9f4
PMK.........: 88f43854ae7b1624fc2ab7724859e795130f4843c7535729e819cf92f39535dc
PMKID.......: 4d4fe7aac3a2cecab195321ceb99a7d0 (confirmed)


verify EAPOL hash (WPA*02) by PSK
$ hcxpmktool -l WPA*02*024022795224bffca545276c3762686f*6466b38ec3fc*225edc49b7aa*54502d4c494e4b5f484153484341545f54455354*10e3be3b005a629e89de088d6a2fdc489db83ad4764f2d186b9cde15446e972e*0103007502010a0000000000000000000148ce2ccba9c1fda130ff2fbbfb4fd3b063d1a93920b0f7df54a5cbf787b16171000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac028000*a2 -p hashcat!

HASH FORMAT.: EAPOL (WPA*02)
ESSID.......: TP-LINK_HASHCAT_TEST
MAC_AP......: 6466b38ec3fc
MAC_CLIENT..: 225edc49b7aa
PSK.........: hashcat!
PMK.........: 0857172bd4d3ebb34cf00f3619726008d27558926d963a547332fab033023b82 (calculated)
KEY VERSION.: WPA2
NONCE AP....: 10e3be3b005a629e89de088d6a2fdc489db83ad4764f2d186b9cde15446e972e
NONCE CLIENT: 48ce2ccba9c1fda130ff2fbbfb4fd3b063d1a93920b0f7df54a5cbf787b16171
KCK.........: 57d0f2ff5faef56f9b94390aebf4474d (calculated)
KEK.........: 9913af266f6e00225edc49b7aa6466b3 (calculated)
TK..........: 8ec3fc10e3be3b005a629e89de088d6a (calculated)
TKIP TX MIC.: 2fdc489db83ad476 (calculated)
TKIP RX MIC.: 4f2d186b9cde1544 (calculated)
MIC.........: 024022795224bffca545276c3762686f (confirmed)


verify EAPOL hash (WPA*02) by PMK
$ hcxpmktool -l WPA*02*024022795224bffca545276c3762686f*6466b38ec3fc*225edc49b7aa*54502d4c494e4b5f484153484341545f54455354*10e3be3b005a629e89de088d6a2fdc489db83ad4764f2d186b9cde15446e972e*0103007502010a0000000000000000000148ce2ccba9c1fda130ff2fbbfb4fd3b063d1a93920b0f7df54a5cbf787b16171000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac028000*a2 -p 0857172bd4d3ebb34cf00f3619726008d27558926d963a547332fab033023b82

HASH FORMAT.: EAPOL (WPA*02)
ESSID.......: TP-LINK_HASHCAT_TEST
MAC_AP......: 6466b38ec3fc
MAC_CLIENT..: 225edc49b7aa
PMK.........: 0857172bd4d3ebb34cf00f3619726008d27558926d963a547332fab033023b82
KEY VERSION.: WPA2
NONCE AP....: 10e3be3b005a629e89de088d6a2fdc489db83ad4764f2d186b9cde15446e972e
NONCE CLIENT: 48ce2ccba9c1fda130ff2fbbfb4fd3b063d1a93920b0f7df54a5cbf787b16171
KCK.........: 57d0f2ff5faef56f9b94390aebf4474d (calculated)
KEK.........: 9913af266f6e00225edc49b7aa6466b3 (calculated)
TK..........: 8ec3fc10e3be3b005a629e89de088d6a (calculated)
TKIP TX MIC.: 2fdc489db83ad476 (calculated)
TKIP RX MIC.: 4f2d186b9cde1544 (calculated)
MIC.........: 024022795224bffca545276c3762686f (confirmed)


if either PMKID or MIC is confirmed, exit code is 2
$ echo $?
2


12.11.2022
==========
start moving to OpenSSL 3.0 EVP API
this is a huge step forward an will break backward compatibility
https://wiki.openssl.org/index.php/OpenSSL_3.0


10.07.2022
==========
hcxpcapngtool: added option to add a timestamp to the converted 22000 hash line
--add-timestamp   : add date/time to hash line
                    this must be filtered out before feeding hashcat with the hash, e.g. by awk:
                    cat hash.hc22000 | awk '{print $1}' > hashremovedtimestamp.hc22000

Warning: hashcat doesn't accept this hash line - the time stamp must be removed before running hashcat on it


01.06.2022
==========
hcxpsktool: added new option
--asus              : include weak ASUS RT-AC58U candidates (ASUS_XX)


26.04.2022
==========
hcxpsktool: fixed stdout bug
release v6.2.7


22.04.2022
==========
release v6.2.6
still supporting OpenSSL 1.1


09.04.2022
==========
hcxpsktool: added new option
--alticeoptimum     : include weak Altice/Optimum candidates (MyAltice)


01.12.2021
==========
release v6.2.5
still supporting OpenSSL 1.1


23.10.2021
==========
added generic hcxtools.1 man page 


22.10.2021
==========
removed manpages, because they are only a duplicate of the help menu
moved installation path from /usr/local/bin to /usr/bin


14.10.2021
==========
hcxpsktool: renamed option --askeyarris to --spectrum


25.09.2021
==========
hcxhashtool: added new option to filter by replay count not checked (nonce-error-corrections mandatory)
--rc-not                     : filter EAPOL pairs by replaycount status not checked


17.09.2021
==========
hcxhashtool: renamed option --notauthorized to --challenge
             added additional information about filtered MESSAGE PAIRS for this options


14.09.2021
==========
release v6.2.4
This is the last version, supporting OpenSSL 1.1
Next version 6.3.0 will need OpenSSL 3.0.0


01.09.2021
==========
hcxpcapngtool: added new option to retrieve information about the ACCESS POINT
               As initial start, if transmitted, MAC_AP, MANUFACTURER, MODELNAME, SERIALNUMBER and DEVICENAME are stored (delimited by tab).
-D <file> : output device information list
            format MAC <tab> MANUFACTURER <tab> MODELNAME <tab> SERIALNUMBER <tab> DEVICENAME <tab> UUID E


28.08.2021
==========
wlancap2wpasec: added upload progress information
whoismac: added download progress information
hcxhashtool: added download progress information
hcxhashtool: added more info options (https://github.com/ZerBea/hcxtools/issues/195)
--info=<file>                : output detailed information about content of hash file
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info=stdout                : stdout output detailed information about content of hash file
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor=<file>         : output detailed information about ACCESS POINT and CLIENT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor-ap=<file>      : output detailed information about ACCESS POINT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor-client=<file>  : output detailed information about ACCESS POINT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor=stdout         : stdout output detailed information about ACCESS POINT and CLIENT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor-ap=stdout      : stdout output detailed information about ACCESS POINT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client
--info-vendor-client=stdout  : stdout output detailed information about ACCESS POINT VENDORs
                               not in combination with --vendor, --vendor-ap or --vendor-client


27.08.2021
==========
hcxhashtool: VENDOR search is not longer case sensitive (https://github.com/ZerBea/hcxtools/issues/195)
hcxhashtool: improved filtering by VENDOR
--vendor=<VENDOR>            : filter AP or CLIENT by (part of) VENDOR name
--vendor-ap=<VENDOR>         : filter AP by (part of) VENDOR name
--vendor-client=<VENDOR>     : filter CLIENT by (part of) VENDOR name


25.08.2021
==========
hcxpcapngtool: advanced handling of BEACON and PROBERESPOSNE frames
               distinguish between SSID set, SSID unset and SSID zeroed


20.06.2021
==========
Makefile: added compiler flag to disable zlib support


04.06.2021
==========
hcxpcapngtool: improved CSV output:
--csv=<file>                       : output ACCESS POINT information in CSV format
                                     delimiter: tabulator (0x08)
                                     columns:
                                     YYYY-MM-DD HH:MM:SS MAC_AP ESSID ENC_TYPE CIPHER AKM COUNTRY_INFO CHANNEL RSSI GPS(DM.m) GPS(D.d) GPSFIX
                                     to convert it to other formats, use bash tools or scripting languages
                                     GPS FIX:
                                     0 = fix not available or invalid
                                     1 = fix valid (GPS SPS mode)
                                     2 = fix valid (differential GPS SPS Mode)
                                     3 = not supported
                                     4 = not supported
                                     5 = not supported
                                     6 = fix valid (Dead Reckoning Mode)


28.05.2021
==========
hcxpsktool: added new option to use an exclude ESSID combinations
--noessidcombination: exclude ESSID combinations


17.05.2021
==========
release v 6.2.0
get ready for gcc 11.1.0
fixed CVE-2021-32286


12.05.2021
==========
hcxpsktool: added new option to print only candidates based on ACCESS POINT MAC
--maconly     : print only candidates based on ACCESS POINT MAC


17.03.2021
==========
hcxhashtool: added new option to use an exclude MAC filter list
--mac-skiplist=<file>        : exclude MAC from file
                               format: 001122334455, 00:11:22:33:44:55, 00-11-22-33-44-55 (hex)


09.03.2021
==========
release v 6.1.5
get ready for OpenSSL 3.0


28.02.2021
==========
added new tool to calculate a PMK and verify a 22000 hashline

hcxpmktool 6.1.5-72-g585fe37  (C) 2021 ZeroBeat
usage  : hcxpmktool <options>

short options:
-i <hash line> : input hashcat hash line (-m 22000)
-e <ESSID>     : input ESSID
                 default: use ESSID from hash line
-p <PSK>       : input Pre Shared Key
-m <PMK>       : input Plain Master KEY

long options:
--help         : show this help
--version      : show version


09.02.2021
==========
started to prepare to use openssl 3.0
Many structures have been made opaque in OpenSSL 3.0 since OpenSSL 1.0.2
https://wiki.openssl.org/index.php/OpenSSL_3.0
it is recommended to upgrade to at least OpenSSL 1.1 


04.02.2021
==========
hcxpcapngtool: fixed handling of BE pcapng files on BE systems


14.01.2021
==========
release v 6.1.5


02.01.2021
==========
hcxhashtool: added new option --mac-list
--mac-list=<file>            : filter by MAC file
                             : format: 001122334455, 00:11:22:33:44:55, 00-11-22-33-44-55 (hex)


31.12.2020
==========
hcxpcapngtool: added new option --csv
--csv=<file>                       : output ACCESS POINT information in CSV format
                                     delimiter: tabulator (0x08)
                                     columns:
                                     YYYY-MM-DD HH:MM:SS MAC_AP ESSID ENC_TYPE CIPHER AKM COUNTRY_INFO CHANNEL RSSI LATITUDE QUADRANT LONGITUDE QUADRANT


10.12.2020
==========
Makefile: make use of pkg-config


02.12.2020
==========
release v 6.1.4


21.11.2020
==========
hcxhashtool: added new option to filter by ESSID list
--essid-list=<file>          : filter by ESSID file

hcxpcapngtool: show openSSL version in status


27.10.2020
==========
hcxeiutool: new tool to prepare -E -I -U output of hcxpcapngtool for use by hashcat + rule

$ hcxeiutool -h
hcxeiutool 6.1.3-37-gbdc5a67 (C) 2020 ZeroBeat
usage:
hcxeiutool <options>

options:
-i <file> : input wordlist
-d <file> : output digit wordlist
-x <file> : output xdigit wordlist
-c <file> : output character wordlist (A-Za-z - other characters removed)
-s <file> : output character wordlist (A-Za-z - other characters replaced by 0x0d)
-h        : show this help
-v        : show version

--help           : show this help
--version        : show version

example:
$ hcxdumptool -i <interface> -o dump.pcapng --enable_status=31
$ hcxpcapngtool -o test.22000 -E elist dump.pcapng
$ hcxeiutool -i elist -d digitlist -x xdigitlist -c charlist -s sclist
$ cat elist digitlist xdigitlist charlist sclist > wordlisttmp
$ hashcat --stdout -r <rule> charlist >> wordlisttmp
$ hashcat --stdout -r <rule> sclist >> wordlisttmp
$ cat wordlisttmp | sort | uniq > wordlist
$ hashcat -m 22000 dump.pcapng wordlist


15.10.2020
==========
hcxpcapngtool: added handling of BSD loopback header (DLT_NULL)


13.10.2020
==========
hcxpcapngtool: added new option --tacacs-plus
--tacacs-plus=<file>               : output TACACS+ (hashcat -m 16100, john tacacs-plus)

hcxpcapngtool: merged options --eapleap and --eapmschapv2 to --eapleap due to same hash format
--eapleap=<file>                   : output EAP LEAP and MSCHAPV2 CHALLENGE (hashcat -m 5500, john netntlm)
--prefix=<file>                    : convert everything to lists using this prefix (overrides single options):
                                      -o <file.22000>      : output PMKID/EAPOL hash file
                                      -E <file.essid>      : output wordlist (autohex enabled on non ASCII characters) to use as input wordlist for cracker
                                      -I <file.identity>  : output unsorted identity list to use as input wordlist for cracker
                                      -U <file.username>   : output unsorted username list to use as input wordlist for cracker
                                     --eapmd5=<file.4800>  : output EAP MD5 CHALLENGE (hashcat -m 4800)
                                     --eapleap=<file.5500> : output EAP LEAP and MSCHAPV2 CHALLENGE (hashcat -m 5500, john netntlm)
                                     --nmea=<file.nmea>    : output GPS data in NMEA format


12.10.2020
==========
hcxpcapngtool: added new option --eapmschapv2
--eapmschapv2=<file>               : output EAP MSCHAPV2 CHALLENGE (hashcat -m 5500, john netntlm)


11.10.2020
==========
hcxpsktool: added new option --ee
--ee          : include weak EE BrightBox candidates


09.10.2020
==========
release v 6.1.3


05.10.2020
==========
refactored weak candidate list based on wpa-sec analysis


28.09.2020
==========
removed deprecated wlanpmk2hcx


18.09.2020
==========
hcxpcapngtool: added new option -R
-R <file> : output wordlist (autohex enabled on non ASCII characters) to use as input wordlist for cracker
            retrieved from PROBEREQUEST frames only


17.09.2020
==========
release v 6.1.2


10.09.2020
==========
removed deprecated wlanhcx2ssid, wlanhcxinfo and wlanhcxcat


07.09.2020
==========
removed deprecated wlanhcx2john, wlanjohn2hcx and wlanwkp2hcx


04.09.2020
==========
removed deprecated hcxpcaptool - use hcxpcapngtool instead


19.08.2020
==========
hcxpsktool: added new option:
--egn         : include Bulgarian EGN


06.08.2020
==========
release v 6.1.1
improved warnings
fixed handling of short options
added several new weak candidates


29.06.2020
==========
release v 6.1.0


27.07.2020
==========
hcxhashtool: added new options to get full benefit aof reuse of PBKDF2
--hcx-min=<digit>            : disregard hashes with occurrence lower than hcx-min/ESSID
--hcx-max=<digit>            : disregard hashes with occurrence higher than hcx-min/ESSID


19.06.2020
==========
hcxpsktool: split NETGEAR and ASKEY/ARRIS weak candidate list
--netgear     : include weak NETGEAR / ORBI candidates
--askeyarris  : include weak MySpectrumWiFI / SpectrumSetup / MyCharterWiFI candidates


15.06.2020
==========
release v 6.0.3


27.05.2020
==========
hcxpcapngtool: added counter for AKM defined EAPOL messages
ASSOCIATIONREQUEST (SAE SHA256)..........: 1
...
EAPOL M1 messages........................: 44361
EAPOL M1 messages (AKM defined)..........: 2
EAPOL M2 messages........................: 1631
EAPOL M2 messages (AKM defined)..........: 3


20.05.2020
==========
hcxpcapngtool: print warning if out of sequence time stamps detected
               hcxdumptool < 6.0.5 was affected, too and hcxpcapngtool will show you this warning
               hcxdumptool 6.0.6 is fixed
               improved conversion speed

18.05.2020
==========
hcxpcapngtool: handle wrong time stamps in pwnagotchi cap files on --nonce-error-corrections > 0
In that case we can't rely on EAPOL TIME OUT 


01.05.2020
==========
hcxpcapngtool: handle vendor defined action frames (eg: AWDL)


06.04.2020
==========
release v 6.0.2
hcxpcapngtool: improved NC speed and more bug fixes


03.04.2020
==========
release v 6.0.1
hcxpcapngtool: improved NC speed and some bug fixes
removed deprecated wlanhc2hcx
removed deprecated wlancow2hcxpmk


02.04.2020
==========
release v 6.0.0


30.03.2020
==========
hcxhash2cap: added new option to convert PMKID&EAPOL (hashcat -m 22000) to cap file
--pmkid-eapol=<file> : input PMKID EAPOL combi hash file


14.03.2020
==========
moved to v 6.0.0
complete rewrite from scratch
full support of new hashline PMKID+EAPOL (hashcat -m 22000 and JtR)
https://github.com/hashcat/hashcat/issues/1816
https://github.com/magnumripper/JohnTheRipper/issues/4183

support EAP-LEAP
support EAP-MD5
several bug fixes
improved summary
improved detection of cipher and AKM suites
improved detection of malformed frames (caused by device, driver or monitor mode)
read more about monitor mode caused bit errors here:
http://www.ict-optimix.eu/images/a/ad/WiFiBitError.pdf
In monitor mode the adapter does not check to see if the cyclic redundancy check (CRC)
values are correct for packets captured, so some captured packets may be corrupted.
hcxpsktool: added new weak candidates


hcxpcapngtool: new tool
$ hcxpcapngtool -h
hcxpcapngtool 6.0.0 (C) 2020 ZeroBeat
usage:
hcxpcapngtool <options>
hcxpcapngtool <options> input.pcapng
hcxpcapngtool <options> *.pcapng
hcxpcapngtool <options> *.pcap
hcxpcapngtool <options> *.cap
hcxpcapngtool <options> *.*

short options:
-o <file> : output PMKID/EAPOL hash file
            hashcat -m 22000/22001 and JtR wpapsk-opencl/wpapsk-pmk-opencl
-E <file> : output wordlist (autohex enabled on non ASCII characters) to use as input wordlist for cracker
-I <file> : output unsorted identity list to use as input wordlist for cracker
-U <file> : output unsorted username list to use as input wordlist for cracker
-h        : show this help
-v        : show version

long options:
--all                              : convert all possible hashes instead of only the best one
                                     that can lead to much overhead hashes
                                     use hcxhashtool to filter hashes
                                     need hashcat --nonce-error-corrections >= 8
--eapoltimeout=<digit>             : set EAPOL TIMEOUT (milliseconds)
                                   : default: 5000 ms
--nonce-error-corrections=<digit>  : set nonce error correction
                                     warning: values > 0 can lead to uncrackable handshakes
                                   : default: 0
--ignore-ie                        : do not use CIPHER and AKM information
                                     this will convert all frames regadless of
                                     CIPHER and/OR AKM information,
                                     and can lead to uncrackable hashes
--max-essids=<digit>               : maximum allowed ESSIDs
                                     default: 1 ESSID
                                     disregard ESSID changes and take ESSID with highest ranking
--eapmd5=<file>                    : output EAP MD5 CHALLENGE (hashcat -m 4800)
--eapmd5-john=<file>               : output EAP MD5 CHALLENGE (john chap)
--eapleap=<file>                   : output EAP LEAP CHALLENGE (hashcat -m 5500, john netntlm)
--nmea=<file>                      : output GPS data in NMEA format
                                     format: NMEA 0183 $GPGGA, $GPRMC, $GPWPL
                                     to convert it to gpx, use GPSBabel:
                                     gpsbabel -i nmea -f hcxdumptool.nmea -o gpx -F file.gpx
                                     to display the track, open file.gpx with viking
--log=<file>                       : output logfile
--raw-out=<file>                   : output frames in HEX ASCII
                                   : format: TIMESTAMP*LINKTYPE*FRAME*CHECKSUM
--raw-in=<file>                    : input frames in HEX ASCII
                                   : format: TIMESTAMP*LINKTYPE*FRAME*CHECKSUM
--pmkid=<file>                     : output deprecated PMKID file (delimiter *)
--hccapx=<file>                    : output deprecated hccapx v4 file
--hccap=<file>                     : output deprecated hccap file
--john=<file>                      : output deprecated PMKID/EAPOL (JtR wpapsk-opencl/wpapsk-pmk-opencl)
--prefix=<file>                    : convert everything to lists using this prefix (overrides single options):
                                      -o <file.22000>      : output PMKID/EAPOL hash file
                                      -E <file.essid>      : output wordlist (autohex enabled on non ASCII characters) to use as input wordlist for cracker
                                      -I <file.identity>  : output unsorted identity list to use as input wordlist for cracker
                                      -U <file.username>   : output unsorted username list to use as input wordlist for cracker
                                     --eapmd5=<file.4800>  : output EAP MD5 CHALLENGE (hashcat -m 4800)
                                     --eapleap=<file.5500> : output EAP LEAP CHALLENGE (hashcat -m 5500, john netntlm)
                                     --nmea=<file.nmea>    : output GPS data in NMEA format
--help                             : show this help
--version                          : show version

bitmask for message pair field:
0: MP info (https://hashcat.net/wiki/doku.php?id=hccapx)
1: MP info (https://hashcat.net/wiki/doku.php?id=hccapx)
2: MP info (https://hashcat.net/wiki/doku.php?id=hccapx)
3: x (unused)
4: ap-less attack (set to 1) - no nonce-error-corrections necessary
5: LE router detected (set to 1) - nonce-error-corrections only for LE necessary
6: BE router detected (set to 1) - nonce-error-corrections only for BE necessary
7: not replaycount checked (set to 1) - replaycount not checked, nonce-error-corrections definitely necessary

Do not edit, merge or convert pcapng files! This will remove optional comment fields!
Detection of bit errors does not work on cleaned dump files!
Do not use hcxpcapngtool in combination with third party cap/pcap/pcapng cleaning tools (except: tshark and/or Wireshark)!
It is much better to run gzip to compress the files. Wireshark, tshark and hcxpcapngtool will understand this.


hcxhashtool: new tool
$ hcxhashtool -h
hcxhashtool 6.0.0 (C) 2020 ZeroBeat
usage:
hcxhashtool <options>

options:
-i <file>   : input PMKID/EAPOL hash file
-o <file>   : output PMKID/EAPOL hash file
-E <file>   : output ESSID list (autohex enabled)
-d          : download http://standards-oui.ieee.org/oui.txt
            : and save to ~/.hcxtools/oui.txt
            : internet connection required
-h          : show this help
-v          : show version

--essid-group                : convert to ESSID groups in working directory
                               full advantage of reuse of PBKDF2
                               not on old hash formats
--oui-group                  : convert to OUI groups in working directory
                               not on old hash formats
--mac-group-ap               : convert APs to MAC groups in working directory
                               not on old hash formats
--mac-group-client           : convert CLIENTs to MAC groups in working directory
                               not on old hash formats
--type                       : filter by hash type
                             : default PMKID (1) and EAPOL (2)
--essid-len                  : filter by ESSID length
                             : default ESSID length: 0...32
--essid-min                  : filter by ESSID minimum length
                             : default ESSID minimum length: 0
--essid-max                  : filter by ESSID maximum length
                             : default ESSID maximum length: 32
--essid=<ESSID>              : filter by ESSID
--essid-part=<part of ESSID> : filter by part of ESSID
--mac-ap=<MAC>               : filter AP by MAC
                             : format: 001122334455, 00:11:22:33:44:55, 00-11-22-33-44-55 (hex)
--mac-client=<MAC>           : filter CLIENT by MAC
                             : format: 001122334455, 00:11:22:33:44:55, 00-11-22-33-44-55 (hex)
--oui-ap=<OUI>               : filter AP by OUI
                             : format: 001122, 00:11:22, 00-11-22 (hex)
--oui-client=<OUI>           : filter CLIENT by OUI
                             : format: 001122, 00:11:22, 00-11-22 (hex)
--vendor=<VENDOR>            : filter by (part of) VENDOR name
--authorized                 : filter EAPOL pairs by status authorized
--notauthorized              : filter EAPOL pairs by status not authorized
--rc                         : filter EAPOL pairs by replaycount status checked
--apless                     : filter EAPOL pairs by status M2 requested from client
--info=<file>                : output detailed information about content of hash file
--info=stdout                : stdout output detailed information about content of hash file
--vendorlist                 : stdout output VENDOR list sorted by OUI
--psk=<PSK>                  : pre-shared key to test
                             : due to PBKDF2 calculation this is a very slow process
                             : no nonce error corrections
--pmk=<PMK>                  : plain master key to test
                             : no nonce error corrections
--hccapx=<file>              : output to deprecated hccapx file
--hccap=<file>               : output to ancient hccap file
--hccap-single               : output to ancient hccap single files (MAC + count)
--john=<file>                : output to deprecated john file
--help                       : show this help
--version                    : show version


| deprecated     | obsolete when hashcat and JtR moved to new PMKID/EAPOL hash line - no longer under maintenance                       |
| -------------- | -------------------------------------------------------------------------------------------------------------------- |
| whoismac       | Show vendor information and/or download oui reference list                                                           |
| hcxmactool     | Various MAC based filter operations on HCCAPX and PMKID files - convert hccapx and/or PMKID to new hashline format   |
| hcxpcaptool    | Shows info of pcap/pcapng file and convert it to other hashformats accepted by hashcat and John the Ripper           |
| hcxpmkidtool   | CPU based tools to verify a PMKID                                                                                    |
| hcxessidtool   | Various ESSID based filter operations on HCCAPX and PMKID files                                                      |
| hcxhashcattool | Convert old hashcat (<= 5.1.0) separate potfile (2500 and/or 16800) to new potfile format                            |
| wlanhc2hcx     | Converts hccap to hccapx                                                                                             |
| wlanwkp2hcx    | Converts wpk (ELMCOMSOFT EWSA projectfile) to hccapx                                                                 |
| wlanhcx2ssid   | Strips BSSID, ESSID, OUI                                                                                             |
| wlanhcxinfo    | Shows detailed info from contents of hccapxfile                                                                      |
| wlanhcxcat     | Simple password recovery tool for WPA/WPA2/WPA2 SHA256 AES-128-CMAC (hash-modes 2500, 2501)                          |
| wlanpmk2hcx    | Converts plainmasterkey and ESSID for use with hashcat hash-mode 12000 or john PBKDF2-HMAC-SHA1                      |
| wlanjohn2hcx   | Converts john wpapsk hashfiles for use with hashcat hash-modes 2500, 2501                                            |
| wlancow2hcxpmk | Converts pre-computed cowpatty hashfiles for use with hashcat hash-mode 2501                                         |
| wlanhcx2john   | Converts hccapx to format expected by John the Ripper                                                                |


05.01.2020
==========
hcxhashtool: added new options
-d          : download http://standards-oui.ieee.org/oui.txt
            : and save to ~/.hcxtools/oui.txt
            : internet connection required

--info=<file>          : output detailed information about content of hash file
--info=stdout          : stdout output detailed information about content of hash file


03.01.2020
==========
started to remove deprecated tools
wlanhcxmnc: removed


19.12.2019
==========
hacxhashtool: added new tool initial 
this tool will work on new PMKID EAPOL hash line and replace all older hcxtools
when all functions implemented.


19.12.2019
==========
hcxpcapngtool: move -j to --john because format is deprecated and JtR will move to new format, too
https://github.com/hashcat/hashcat/issues/1816#issuecomment-567423392


17.12.2019
==========
hcxpsktool: added support for hashcat 22000 (crossover PMKID - EAPOL hashline)
-c <file>   : input PMKID/EAPOL hash file (hashcat -m 22000)


16.12.2019
==========
prepare new tool hcxpcapngtool for hashcat hashmode 22000 (crossover PMKID - EAPOL hashline)
highly experimental
not all features build in
format of hashmode 22000 may change on hashcat and hcxpcapngtool until final release
hcxpcaptool will replaced by hcxpcapngtool if everything is working like expected
only testing purpose to verify hashcat's new hash mode 22000


09.12.2019
==========
hcxpsktool : added new weak candidates
--phome : include PEGATRON HOME candidates


08.12.2019
==========
move to v5.3.0


29.09.2019
==========
hcxpmkidtool: added new tool to verify a PMKID (CPU based)
options:
-p <pmkid>  : input PMKID
              PMKID:MAC_AP:MAC_STA:ESSID(XDIGIT)
              PMKID*MAC_AP*MAC_STA*ESSID(XDIGIT)
-w <file>   : input wordlist (8...63 characters)
              output: PMK:ESSID (XDIGIT):password
-W <word>   : input single word (8...63 characters)
              output: PMK:ESSID (XDIGIT):password
-K <pmk>    : input single PMK
              output: PMK:ESSID (XDIGIT)
              format:
-h          : show this help
-v          : show version

--help      : show this help
--version   : show version

hcxpmkidtool is designed to verify an existing PSK or and existing PMK.
It is not designed to run big wordlists!


25.09.2019
==========
wlanhashhcx:  removed
hcxmactool:   added new tool (MAC based counterpart to ESSID based hcxessidtool)
options:
-o <oui>    : filter access point by OUI
-n <nic>    : filter access point by NIC
-m <mac>    : filter access point by MAC
-a <vendor> : filter access point by VENDOR name
-O <oui>    : filter client by OUI
-N <nic>    : filter client point by NIC
-M <mac>    : filter client point by MAC
-A <vendor> : filter client by VENDOR name
-h          : show this help
-v          : show version

--pmkidin=<file>       : input PMKID file 1
--pmkidout=<file>      : output PMKID file 1
--hccapxin=<file>      : input HCCAPX file
--hccapxout=<file>     : output HCCAPX file
--help                 : show this help
--version              : show version


24.09.2019
==========
hcxessidtool: added new options and improved help
--pmkidgroupout=<file> : output ESSID groups from ESSIDs present in PMKID1
--hccapxgroupout=<file>: output ESSID groups from ESSIDs present in HCCAPX1


15.09.2019
==========
hcxpcaptool: added new option and improved help
--ignore-mac     : do not check MAC addresses
                   this will allow to use ESSIDs from frames with damaged broadcast MAC address


14.09.2019
==========
hcxpcaptool  : improved detection of damaged ESSIDs


13.09.2019
==========
hcxessidtool: added new options
--essidout=<file>      : output ESSID list
--essidmacapout=<file> : output MAC_AP:ESSID list


12.09.2019
==========
removed     : wlanhcx2essid (deprecated)
added       : hcxessidtool
options:
-e <essid>  : filter by ESSID
-E <essid>  : filter by part of ESSID
-l <essid>  : filter by ESSID length
-h          : show this help
-v          : show version

--pmkid1=<file>        : input PMKID file 1
--pmkid2=<file>        : input PMKID file 2
--pmkidout12=<file>    : output only lines present in both PMKID file 1 and PMKID file 2
--pmkidout1=<file>     : output only lines present in PMKID file 1
--pmkidout2=<file>     : output only lines present in PMKID file 2
--pmkidout=<file>      : output only ESSID filtered lines present in PMKID file 1
--hccapx1=<file>       : input HCCAPX file 1
--hccapx2=<file>       : input HCCAPX file 2
--hccapxout12=<file>   : output only lines present in both HCCAPX file 1 and HCCAPX file 2
--hccapxout1=<file>    : output only lines present in HCCAPX file1
--hccapxout2=<file>    : output only lines present in HCCAPX file 2
--hccapxout=<file>     : output only ESSID filtered lines present in HCCAPX file 1
--help                 : show this help
--version              : show version

Main purpose is to get full adcantage or reuse of PBKDF2
while merging (only) the same ESSIDs from different hash files
examples:
hcxessidtool --pmkid1=file1.16800 --pmkid2=file2.16800 --pmkidout12=joint.16800
hcxessidtool --pmkid1=file1.16800 -l 10 --pmkidout=filtered.16800


03.09.2019
==========
move to v5.2.2
fixed bug in damaged ESSID handling


01.09.2019
==========
hcxpcaptool: show capture device vendor


28.08.2019
==========
moved to v5.2.1
hcxpsktool : added new weak candidates
hcxdumptool: added additional warnings about handling of pcapng files ( im
             improved status out: count zeroed PMKIDs


19.08.2019
==========
move to v5.2.0


11.08.2019
==========
hcxpcaptool: print time of first packet and time of last packet
             this will not work on cap files with zeroed time stamps 


10.08.2019
==========
hcxpcaptool: removed option --replaycountcheck
             added option --ignore-replaycount to allow conversion of not replaycount checked handshakes
             if we have no replaycount matching handshake - in that case nc must be used!

Remarks:
total best handshakes and total best PMKIDs can be different to really written ones:

best handshakes (total)..........: 190 (ap-less: 122)
best PMKIDs (total)..............: 30

summary output file(s):
-----------------------
175 handshake(s) written to /tmp/test.hccapx
message pair M12E2...............: 157
message pair M32E2...............: 16
message pair M34E4...............: 2
29 PMKID(s) written to /tmp/test.16800

That depend on this additional options and the quality of the cap file:
--ignore-fake-frames              : do not convert fake frames
--ignore-zeroed-pmks              : do not convert frames which use a zeroed plainmasterkey (PMK)
--ignore-replaycount              : allow not replaycount checked best handshakes
--time-error-corrections=<digit>  : maximum time gap between EAPOL frames - EAPOL TIMEOUT (default: 600s)
--nonce-error-corrections=<digit> : maximum replycount/nonce gap to be converted (default: 8)
                                    example: --nonce-error-corrections=60 
                                    convert handshakes up to a possible packetloss of 59 packets
                                    hashcat nonce-error-corrections should be twice as much as hcxpcaptool value
--max-essid-changes=<digit>       : allow maximum ESSID changes (default: 1 - no ESSID change is allowed)



09.08.2019
==========
hcxpcaptool: added summary (replaycount check) and print warning if result is not replaycount checked
             (in this case nc is necessary)

             added warning if an ESSID change is detected.
             this can be handled by increase the value of option --max-essid-changes
 
             added new option --replaycountcheck
--replaycountcheck                : convert only replaycount checked frames


26.06.2019
==========
hcxpcaptool: added new option --max-essid-changes
--max-essid-changes=<digit>       : allow maximum ESSID changes (default: 8) 

useful on merged cap files with many ESSID changes for a single mac_ap
or on damaged ESSIDs


23.06.2019
==========
hcxpcaptool: fixed several big endian issues
             show information about handshakes and PMKIDs calculated by a zeroed PMK
             added new options --ignore-zeroed-pmks and --prefix-out=<file>
--ignore-zeroed-pmks              : do not convert frames which use a zeroed plainmasterkey (PMK)

This option is useful to reduce the commandline length if all lists are requested:
--prefix-out=<file>               : convert everything to lists using this prefix (overrides single options):
                                    hccapx (-o) file.hccapx
                                    PMKID (-k) file.16800
                                    netntlm (--netntlm-out) file.5500
                                    md5 (--md5-out) file.4800
                                    tacacsplus (--tacacsplus) file.16100
                                    wordlist (-E) file.essidlist
                                    identitylist (-I) file.identitylist 
                                    usernamelist (-U) file.userlist
                                    imsilist (-M) file.imsilist
                                    networklist (-network-out) file.networklist
                                    trafficlist (-T) file.networklist
                                    clientlist (-X) file.clientlist
                                    deviceinfolist (-D) file.deviceinfolist


20.06.2019
==========
hcxpcaptool: complete refactoring of pcapng engine 


19.06.2019
==========
hcxpcaptool: added new option -D
-D <file> : output unsorted device information list
            format = MAC:DEVICEINFO string


16.06.2019
==========
hcxpcaptool: refactored complete tag walk engine due to several stack smashing issues (fsanitize=address)
             added new option to detect known fake frames
--ignore-fake-frames              : do not convert fake frames


14.06.2019
==========
hcxpcaptool: complete rewrite of RSN-IE PMKID detection within association frames and reassociation frames


07.06.2019
==========
hcxpcaptool: added new option to filter output by a single MAC address
             all packets which doesn't contain this MAC in address 1, address 2 or address 3 are ignored.
--filtermac=<mac>                 : filter output by MAC address
                                    format: 112233445566


07.06.2019
==========
hcxpcaptool: detect and convert PMKIDs from clients
read more here:
https://hashcat.net/forum/thread-6661-post-44869.html#pid44869


30.05.2019
==========
hcxtools moved to v5.1.6 due to a bug in v5.1.5

hcxpcaptool: added 2 new options to convert raw PMKIDs
-K <file> : output raw PMKID file (hashcat hashmode -m 16801 new format)
-Z <file> : output raw PMKID file (hashcat hashmode -m 16801 old format and john)

use this options if you would like to verify a PMKID and yo don't have an ESSID
read more here:
https://github.com/ZerBea/hcxtools/issues/92#issuecomment-497128717


19.05.2019
==========
added new useful script: hcxgrep.py

Works like grep, but for hccapx/pmkid hashfiles - those are detected
automagically. It also can read from stdin and writes on stdout.

It tries to be as close to grep commandline options, this is -h:

usage: hcxgrep.py [-h] [-f FILE] [-v] [-t {essid,mac_ap,mac_sta}]
                  [PATTERNS] [infile]

Extract records from hccapx/pmkid file based on regexp

positional arguments:
  PATTERNS              RegExp pattern
  infile                hccapx/pmkid file to process

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Obtain patterns from FILE, one per line.
  -v, --invert-match    Invert the sense of matching, to select non-matching
                        nets
  -t {essid,mac_ap,mac_sta}, --type {essid,mac_ap,mac_sta}
                        Field to apply matching, default essid

By default it greps by essid, but you can choose with -t also to grep
over mac_ap or mac_sta, passed as lowercase hex strings. It also can
read multiple patterns from external file, like those attached. It's
composed from routerkeygen and matches essids with _ or - in them. Of
course this have many false positives and the default PSK can be
changed, but one can easy get those nets he needs to try custom
wordlists or etc.



16.04.2019
==========
finally removed wlanhcx2psk in favor of hcxpsktool


08.04.2019
==========
hcxpcaptool: from now on only PBKDF2 based hashes (EAPOL and PMKID) are converted running options -k -z and -o
             raw option -O will convert all EAPOL handshakes.


02.04.2019
==========
Due to hashcat changes:
"WPA/WPA2 cracking: In the potfile, replace password with PMK in order
to detect already cracked networks across all WPA modes"
https://github.com/hashcat/hashcat/commit/b8d609ba1604f4fed62198ae5000e205dcc87f70
 
hcxpcaptool: added new option -k to convert dumpfile to new hashcat PMKID format

-k <file> : output PMKID file (hashcat hashmode -m 16800 new format)
-z <file> : output PMKID file (hashcat hashmode -m 16800 old format and john)

use hcxhashcattool to convert old 2500 and old 16800 potfile to new hashcat potfile Format:
-p <file> : input old hashcat potfile
            accepted potfiles: 2500 or 16800
-P <file> : output new potfile file (PMK:ESSID:PSK)

hcxhashcattool -p oldhashcat.2500.pot -P newhashcat.potfile 
hcxhashcattool -p oldhashcat.16800.pot -P newhashcat.potfile


30.03.2019
==========
hcxpcaptool: retrieve IMSI from UMTS Authentication and Key Agreement (EAP-AKA)
             and EAP-SIM (GSM Subscriber Modules) Authentication


19.03.2019
==========
wlanhcx2ssid: use systemwide oui.txt (/usr/share/ieee-data/oui.txt), if exist
whoismac: use systemwide oui.txt (/usr/share/ieee-data/oui.txt), if exist


18.03.2019
==========
wlancap2wpasec: added man 1 page
hcxpcaptool: added new option -M to collect IMSI numbers
-M <file> : output unsorted IMSI number list


17.03.2019
==========
hcxpcaptool: added man 1 page
hcxpsktool: added man 1 page
hcxhash2cap: added man 1 page


09.03.2019
==========
hcxtools moved to version 5.1.3 due to change of pcapng comment field


07.03.2019
==========
hcxpcaptool added GPX comment field for GPS time from GPS device 

<?xml version="1.0"?>
<gpx version="1.0" creator="hcxpcaptool"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<name>test3.gpx</name>
<trk>
  <name>dntest.pcapng</name>
  <trkseg>
  <trkpt lat="49.126353" lon="4.626187">
    <ele>129.500000</ele>
    <time>2019-03-06T22:27:45Z</time>
    <name>1af87c9124a3</name>
    <cmt>GPS-TIME:2019-03-06T22:28:00Z</cmt>
  </trkpt>


26.02.2019
==========
hcxtools moved to version 5.1.3 due to several bug fixes


18.02.2019
==========
hcxtools moved to version 5.1.2 due to implementation of several new options


14.02.2019
==========
wlancap2wpasec: added new option -e
-e <email address> : set email address, if required


13.02.2019
==========
hcxpsktool added full support (option -j) for john
-i <file> : input EAPOL hash file (hashcat)
-j <file> : input EAPOL hash file (john)
-z <file> : input PMKID hash file (hashcat and john)


12.02.2019
==========
hcxpcaptool: added new option -X
-X <file> : output client probelist
          : format: mac_sta:probed ESSID (autohex enabled)


added new tool: hcxwltool
while hcxpsktool is designed to run on hcxpcaptool -o and -z output,
hcxwltool is designed to run on hcapcaptool -E, -I and -U output

$ hcxwltool -h
hcxwltool 5.1.1 (C) 2019 ZeroBeat
usage:
hcxwltool <options>

options:
-i        : input worlist
-o <file> : output wordlist to file
-h        : show this help
-v        : show version

--straight       : output format untouched
--digit          : output format only digits
--xdigit         : output format only xdigits
--lower          : output format only lower
--upper          : output format only upper
--capital        : output format only capital
--length=<digit> : password length (8...32)
--help           : show this help
--version        : show version

examples:
hcxwltool -i wordlist --straight | sort | uniq |  | sort | uniq | hashcat -m 2500 hashfile.hccapx
hcxwltool -i wordlist --gigit --length=10 | sort | uniq |  | sort | uniq | hashcat -m 2500 hashfile.hccapx
hcxwltool -i wordlist --digit | sort | uniq | hashcat -m 16800 hashfile.16800
hcxwltool -i wordlist --xdigit | sort | uniq | john --stdin --format=wpapsk-opencl hashfile.16800


11.02.2019
==========
whoismac: added two new options to convert ESSID HEX to ASCII or ESSID ASCII to HEX 
-e <ESSID>    : input ESSID
-x <xdigit>   : input ESSID in hex

example:
$ whoismac -e default
64656661756c74

now search for this essid, running simple bash commands:
cat hashfile.16800 | grep 64656661756c74


02.02.2019
==========
release hcxtools v 5.1.1
removed....: wlanhcx2psk
replaced by: hcxpsktool

removed....: wlanhcx2cap
replaced by: hcxhash2cap
no more libcap dependency!


01.02.2019
==========
hcxhash2cap: added new option to canvert john WPAPSK has file to cap
hcxhash2cap will replace wlanhcx2cap, soon
$ hcxhash2cap -h
hcxhash2cap 5.1.0 (C) 2019 ZeroBeat
usage:
hcxhash2cap <options>

options:
-c <file> : output cap file
            if no cap file is selected, output will be written to single cap files
            format: mac_sta.cap (mac_sta.cap_x)

--pmkid=<file>  : input PMKID hash file
--hccapx=<file> : input hashcat hccapx file
--hccap=<file>  : input hashcat hccap file
--john=<file>   : input John the Ripper WPAPSK hash file
--help          : show this help
--version       : show version


31.01.2019
==========
hcxhash2cap: added new options to convert hccapx to cap and hccap to cap


29.01.2019
==========
added new tool: hcxhash2cap


22.01.2019
==========
hcxpcaptool: in preparation of hccapx successor, hcxpcaptool now count oversized (>0xff) EAPOLframes
             EAPOL packets (oversized)....: xx
read more here:
https://github.com/hashcat/hashcat/issues/1816


13.12.2018
==========
hcxpcaptool: removed options -x and -X (old hccap format)
hcxpcaptool: added options --hccap-out and --hccap-raw-out (old hccap format)
--hccap-out=<file>                : output old hccap file (hashcat -m 2500)
--hccap-raw-out=<file>            : output raw old hccap file (hashcat -m 2500)


09.12.2018
==========
hcxpcaptool: detect EAPOL GROUP KEYs
hcxpcaptool: move option -H to --hexdump-out
hcxpcaptool: added new options (--eapol-out, --network-out)
--eapol-out=<file>                : output EAPOL packets in hex
                                    format = mac_ap:mac_sta:eapol
--network-out=<file>              : output network information
                                    format = mac_ap:ESSID
--hexdump-out=<file>              : output dump raw packets in hex


05.12.2018
==========
moved to v 5.1.0 (according to hashcat)
hcxpcaptool:  detect EAPOL RC4 KEYs


04.12.2018
==========
hcxpcaptool: fixed bug in FCS on BE systems
hcxpcaptool: detect MESH-IDs


26.11.2018
==========
several big endian fixes
switched to version 5.0.1


19.11.2018
==========
hcxpcaptool: improved detection of ESSID changes in merged capfiles


30.10.2018
==========
hcxtools moved to version 5.0.0

hcxpsktool: added NETGEARxx list
--netgear : include NETGEAR candidates


03.10.2018
==========
hcxpcaptool: use GMT time


30.09.2018
==========
hcxhashcattool: accept 16800 potfiles


29.09.2018
==========
hcxpcaptool: removed option -Z
Allow hashfile for -m 16800 to be used with -m 16801
https://github.com/hashcat/hashcat/commit/1b980cf01000c81dfd0ca085593f8c1d66d43188

added new option -g
-g <file> : output GPS file\n"
            format = GPX (accepted for example by Viking and GPSBabel)\n"


24.09.2018
==========
whoismac new option to get VENDOR information from a hashcat 2500 potfile line
-P <hashline> : input EAPOL hashline from potfile


20.09.2018
==========
prepare new tool (experimental): hcxpsktool (supports hccapx and 16800 hashfile)
hcxpsktool will replace wlanhcx2psk, when all wlanhcx2psk functions are added


15.09.2018
==========
hcxpcaptool: added detection of Cisco Systems, Inc VENDOR information in authentication


06.09.2018
==========
hcxpcaptool: added detection of Netgear VENDOR information in authentication


04.09.2018
==========
hcxpcaptool: try to detect and remove damaged ESSIDs


26.08.2018
==========
whoismac added new option -p to get information about VENDOR and print ESSID in ASCII
"-p <hashline> : input PMKID hashline\n"


17.08.2018
==========
hcxpcaptool skip unknown option (thanks to magnumripper)
hcxpcaptool detect Wilibox Delibrant Group LLC authentication
hcxpcaptool detect NETWORK EAP authentication system


07.08.2018
==========
added communication between hcxdumtool and hcxpcaptool via pcapng option fields:
62108 for REPLAYCOUNT uint64_t
62109 for ANONCE uint8_t[32]


03.08.2018
==========
hcxtools release 4.2.0

Todo:
hcxdumptool 4.2.0 will randomize ap-less attacks.
hcxpcaptool will convert this handshakes correctly, but will not detect them as ap-less attack
This feature will be added in hcxtools 4.2.1


01.08.2018
==========
moved raspberry pi stuff and dumper stuff to hcxdumptool repository
from now on hcxtools only includes conversion tools


25.07.2018
==========
hcxtools moved to 4.2.0 rc1
hcxpcaptool:
added hashmodes -m 16800 and -m 16801
and new options:
-z <file> : output PMKID file (hashcat hashmode -m 16800 - WPA*-PMKID-PBKDF2)
-Z <file> : output PMKID file (hashcat hashmode -m 16801 - WPA*-PMKID-PMK)
use hcxpcaptool as dumper/attacker, convert with hcxpcaptool, retrieve PSK using hashcat

removed wlandump-ng (old scool, deprecated)
removed wlancap2hcx (old scool, deprecated)


17.07.2018
==========
hcxpcaptool:
show detailed file stats on pcapng files - go in sync with (upcoming) hcxdumptool 4.2.0


17.07.2018
==========
hcxpcaptool:
added detection of all EAP types:
EAP_PACKET
EAPOL_START
EAPOL_LOGOFF
EAPOL_KEY
EAPOL_ASF
EAPOL_MKA


15.07.2018
==========
wlanhcx2psk:
added more weak candidates based on OSINT from wpa-sec


07.07.2018
==========
hcxpcaptool:
added detection of BROADCOM specific authentication


01.07.2018
==========
hcxpcaptool:
added detection of FILS authentication algorithm


27.06.2018
==========
hcxpcaptool:
added detection of authentication algorithms


23.06.2018
==========
hcxpcaptool:
added full support for AVS header (DLT_IEEE802_11_RADIO_AVS)


22.06.2018
==========
hcxpcaptool:
added full support for TaZmen Sniffer Protocol (TZSP)


21.06.2018
==========
hcxpcaptool:
added detection of TaZmen Sniffer Protocol (TZSP)


20.06.2018
==========
hcxpcaptool:
added conversion of WDS packets


19.06.2018
==========
hcxpcaptool:
added detection of RADIUS authentication with Ethernet II header


05.05.2018
==========
hcxpcaptool:
improved detection of broken ESSIDs
improved detection of broken EAPOL frames

wlanhcx2ssid (option -F):
improved detection of broken ESSIDs
omproved detection of broken EAPOL frames


12.03.2018
==========
moved to v 4.1.5
added new options wlancap2wpasec
$ wlancap2wpasec -h
wlancap2wpasec 4.1.5 (C) 2018 ZeroBeat
usage: wlancap2wpasec <options> [input.cap] [input.cap] ...
       wlancap2wpasec <options> *.cap
       wlancap2wpasec <options> *.*

options:
-k <key>     : wpa-sec user key
-u <url>     : set user defined URL
               default = https://wpa-sec.stanev.org
-t <seconds> : set connection timeout
               default = 30 seconds
-R           : remove cap if upload was successful
-h           : this help


25.02.2018
==========
split repository!
moved hcxdumptool to https://github.com/ZerBea/hcxdumptool
move pioff to https://github.com/ZerBea/hcxdumptool/hcxpioff
from now on, hcxtools will be the mostly "portable part"


17.02.2018
==========
hcxpcaptool
added nonce fuzzing logic for john and old hashcat (hccap) according to bitmask:
0: MP info
1: MP info
2: MP inf
3: x (unused)
4: ap-less attack (set to 1) - no nonce-error-corrections necessary
5: LE router detected (set to 1) - nonce-error-corrections only for LE necessary
6: BE router detected (set to 1) - nonce-error-corrections only for BE necessary
7: not replaycount checked (set to 1) - replaycount not checked, nonce-error-corrections definitely necessary


15.02.2018
==========
hcxpcaptool
added detection of router endianess and ap-less attacks:
bitmask for message_pair file:
0: MP info
1: MP info
2: MP inf
3: x (unused)
4: ap-less attack (set to 1) - no nonce-error-corrections necessary
5: LE router detected (set to 1) - nonce-error-corrections only for LE necessary
6: BE router detected (set to 1) - nonce-error-corrections only for BE necessary
7: not replaycount checked (set to 1) - replaycount not checked, nonce-error-corrections definitely necessary

using bit 4 to 7, hcxtools are able to interact with hascat - that will increase speed for hashcat.


09.02.2018
==========
hcxpcaptool
added full implementation of PPP-CHAP authentication
added detection of RADIUS (UDP destination 1812)
new dependency: libopenssl


07.02.2018
==========
hcxpcaptool
added full implementation of TACACS+
--tacacsplus-out=<file>           : output TACACS+ authentication file (hashcat -m 16100, john tacacs-plus)


05.02.2018
==========
hcxpcaptool
improved help menu
ignore empty usernames
added new option
--md5-john-out=<file>             : output MD5 challenge file (john chap)


04.02.2018
==========
hcxpcaptool
continued implementation of EAP (RADIUS): netNTLMv1, MD5 challenge
added new options
-U <file> : output username list (unsorted)
--netntlm-out=<file>              : output netNTLMv1 file	(hashcat -m 5500, john netntlm)
--md5-out=<file>                  : output MD5 challenge file	(hashcat -m 4800, john chap)


03.02.2018
==========
added hcxphashcattool (calculate PMKs from hashcat -m 2500 potfile)
$ hcxhashcattool -h
hcxhashcattool 4.1.0 (C) 2018 ZeroBeat
usage:
hcxhashcattool <options>

options:
-p <file> : input hashcat -m 2500 potfile
-P <file> : output PMK file (PMK:ESSID:PSK)
-h        : show this help
-v        : show version


01.02.2018
==========
hcxpcaptool
added detection of TCP and UDP network protocol
necessary for IP based authentications


31.01.2018
==========
hcxtools moved to v 4.1.0
and starts into the 3. generation with
- hcxdumptool (will replace wlandump-ng) and
- hcxpcaptool (will replace wlancap2hcx)


29.01.2018
==========
hcxpcaptool
improved detection of handshakes
removed options -A -S ( will improve them and add them later again)


17.01.2018
==========
hcxpcaptool
added new options
-O <file> : output raw hccapx file
-x <file> : output hccap file
-X <file> : output raw hccap file
-j <file> : output john WPAPSK-PMK file
-J <file> : output raw john WPAPSK-PMK file
--time-error-corrections  : maximum allowed time gap (default: 10000ms)
--nonce-error-corrections : maximum allowed nonce gap (default: 8)
                          : should be the same value as in hashcat
option -O is designed for third party tools which like to strip handshakes by themselves
options -x and -X are designed for use on older systems and old hashcat version


16.01.2018
==========
hcxpcaptool
added new option -o
-o <file> : output hccapx file
convert cap/pcap/pcapng to hccapx


15.01.2018
==========
hcxpcaptool
added new option -V
-V        : verbose (but slow) status output
Running hcxpcaptool without options on cap/pcap/pcapng files
shows only limited status output
If you need detailed information, use -V


14.01.2018
==========
hcxpcaptool
added support for gzip compressed cap/pcap/pcapng files
new dependency: zlib


14.01.2018
==========
hcxpcaptool
added new options -P -I
-I <file> : output identities list
-P <file> : output possible WPA/WPA2 plainmasterkey list


13.01.2018
==========
hcxpcaptool
added new option
-S <file> : output station EAPOL information list
date::timestamp:mac_sta:mac_ap:epol_len:eapol
moved internal to tv_usec timestamp


12.01.2018
==========
hcxdumptool
added new option
-C <digit>     : comma separated scanlist (1,3,5,7...)
support for scanlist

hcxpcaptool
added new option
-A <file> : output access point anonce information list (forensics purpose)
date:mac_sta:mac_ap:keyver(1=M1, 2=M3, 3=M1+M3):replaycount(in hex):anonce


11.01.2018
==========
hcxpcaptool
added new options
-E <file> : output wordlist (autohex enabled) to use as wordlist
-T <file> : output traffic information list


10.01.2018
==========
hcxpcaptool
added option -H
-H        : dump raw packets in hex


09.01.2018
==========
- move hcxtools to v 4.0.2
- renamed wlandump-rs to hcxdumptool
- removed wlancapinfo -> replaced by hcxpcaptool
  +get rid of libpcap dependency)
  +added full pcapng support

$ hcxpcaptool -h
hcxpcaptool 4.0.2 (C) 2017 ZeroBeat
usage:
hcxpcaptool <options>
hcxpcaptool <options> [input.pcap] [input.pcap] ...
hcxpcaptool <options> *.cap
hcxpcaptool <options> *.*

options:
-h        : show this help
-v        : show version


07.01.2018
==========
wlandump-rs
added option -l
-l             : enable capture of IPv4/IPv6 packets


06.01.2018
==========
wlandump-ng
added option -l
-l             : enable capture of IPv4/IPv6 packets


21.12.2017
==========
wlancap2hcx
removed option -x
now wlancap2hcx looks first for association/re-associationrequests
or for directed proberequests or for proberesponseses
and at last (if no other frames found in the cap) for a beacon


21.12.2017
==========
wlancap2hcx
added new option to remove handshakes that that belong to the same authentication sequence
-D        : remove handshakes that belong to the same authentication sequence
          : you must use nonce-error-corrections on that file!

wlanhcx2ssid
added new option to remove handshakes that that belong to the same authentication sequence
-D <file> : remove handshakes that belong to the same authentication sequence
          : you must use nonce-error-corrections on that file!


17.12.2017
==========
moved to version 4.0.1

added wlandump-rs
- use raw sockets instead of libpcap
- faster and more aggressive than wlandump-ng
- able to capture more handchakes than wlandump-ng
- automatic use channel 14 and 5GHz channels if driver supports this
- improvements on scan engine
- improvements on authentication engine
- use ap blacklist instead of BPF

$ wlandump-rs -h
wlandump-rs 4.0.1 (C) 2017 ZeroBeat
usage: wlandump-rs <options>

options:
-i <interface> : interface
-o <dump file> : output file in pcapformat including radiotap header (LINKTYPE_IEEE802_11_RADIOTAP)
-c <digit>     : set channel (default = channel 1)
-t <seconds>   : stay time on channel before hopping to the next channel
               : default = 5 seconds
-B <file>      : blacklist (do not deauthenticate clients from this hosts - format: xxxxxxxxxxxx)
-I             : show suitable wlan interfaces and quit
-T <maxerrors> : terminate after <xx> maximal errors
               : default: 1000000
-D             : enable to transmit deauthentication- and disassociation-frames
-P             : enable poweroff
-s             : enable status messages
-h             : show this help
-v             : show version


16.12.2017
==========
wlancap2wpasec
-----------
added option to remove cap file if upload was successful
-R           : remove cap if upload was successful


05.12.2017
==========
wlanhcx2ssid
-----------
added option to strip damaged records from hccapx file
-F <file>     : strip bad records and write only flawless records to hccapx file
Detected errors (more follows later):
- bad keytype in EAPOL frame


21.11.2017
==========
wlancap2hcx
-----------
added detection and conversation of TACACS+ Authentication
-t <file> : output TACACS+ file (hashcat -m 16100, john tacacs-plus)


21.11.2017
==========
wlandump-ng
-----------
added new option -P for use with hard coded GPIO switch
-P : terminate program and poweroff raspberry pi by GPIO switch
   : default: terminate program and do not power off


20.11.2017
==========
wlandump-ng
-----------
do not terminate wlandum-ng if channel set failed
instead reset channel back to 1


31.10.2017
==========
wlandump-ng
-----------
improved status: added beacons, proberequests, proberesponses, associationrequests and reassociationrequests
warning in help mennu that driver must support 5GHz


29.10.2017
==========
wlanrcascan
-----------
added option -l (loopcount)

wlandump-ng
-----------
added detection of fast BSS transition (fast roaming)

wlancap2hcx
-----------
added detection of fast BSS transition (fast roaming)


28.10.2017
==========
- added changelog
- merged wlanresponse and wlandump-ng

bash_profile
------------
adapted to new wlandump-ng

wlanresponse
------------
- removed

wlandump-ng
-----------
- waterfall status
- improved deauthentication
  stop when retrieved one complete handshake (M1-M4) from ap <-> client
- improved disassociation
  stop when retrieved one complete handshake (M1-M4) from ap <-> client
- send one undirected proberequest to broadcast after channel change
- improved expanded EAPOL handling
- improved authentication
- improved beaconing on proberequests
- now wlandump-ng is passive by default (only receive) - transmit must be enabled
- changed / new options:
  -R         : enable to respond to all requests
  -D         : enable deauthentications
  -d         : enable disassociations
  -E <digit> : stop deauthentications and disassociations if xx complete handshakes received
             : default = 1 complete handshake (M1-M4)
  -U         : send one undirected proberequest to broadcast after channel change
  -B         : enable beaconing on last proberequest
  "-s        : enable status messages\n"

localtime, channel, mac_ap, mac_sta, information
11:02:52  11 xxxxxxxxxxxx <-> xxxxxxxxxxxx M1M2 handshake (forced)          
11:01:45  11 xxxxxxxxxxxx <-> xxxxxxxxxxxx M1M2 handshake (forced-retransmission)          
11:03:57  11 xxxxxxxxxxxx <-> xxxxxxxxxxxx M1M2 handshake (not verified)          
11:03:57  11 xxxxxxxxxxxx <-> xxxxxxxxxxxx M2M3 handshake (verified)          
11:03:57  11 xxxxxxxxxxxx <-> xxxxxxxxxxxx M3M4 handshake (established) 
16:36:13   1 xxxxxxxxxxxx --> xxxxxxxxxxxx identity request: hello          
16:36:13   1 xxxxxxxxxxxx <-- xxxxxxxxxxxx identity response: WFA-SimpleConfig-Registrar-1-0          
16:36:14   1 xxxxxxxxxxxx --> xxxxxxxxxxxx WPS-M1 message          
16:36:14   1 xxxxxxxxxxxx <-- xxxxxxxxxxxx WPS-M2 message          
16:36:16   1 xxxxxxxxxxxx --> xxxxxxxxxxxx WPS-M3 message          
16:36:16   1 xxxxxxxxxxxx <-- xxxxxxxxxxxx WPS-M4 message          
16:36:16   1 xxxxxxxxxxxx --> xxxxxxxxxxxx WPS-M5 message          
16:36:16   1 xxxxxxxxxxxx <-- xxxxxxxxxxxx WPS-M6 message          
16:36:16   1 xxxxxxxxxxxx --> xxxxxxxxxxxx WPS-M7 message          
16:36:16   1 xxxxxxxxxxxx <-- xxxxxxxxxxxx WPS-M8 message