ランキングに戻る

ZerBea/hcxdumptool

C

Small tool to capture packets from wlan devices.

pcapwifi-securityraspberry-pipcapnghashcatjohn-the-ripperpenetration-testing-frameworkwifi
スター成長
スター
2.2k
フォーク
421
週間成長
Issue
0
1k2k
2018年2月2020年11月2023年9月2026年7月
README

hcxdumptool

A tool to capture packets from WLAN devices and to discover potential weak points within own WiFi networks by running layer 2 attacks against the WPA protocol.

Designed to run (mostly headless) on small systems like a Raspberry Pi Zero.

hcxnmealog

A tool to handle NMEA 0183 sentences from GPS devices.

Designed to run (mostly headless) on small systems like a Raspberry Pi Zero.

General Information

What Doesn't hcxdumptool Do?

  • It does not crack WPA PSK related hashes. (Use Hashcat or JtR to recover the PSK.)

  • It does not crack WEP. (Use the aircrack-ng suite instead.)

  • It does not crack WPS. (Use Reaver or Bully instead.)

  • It does not decrypt encrypted traffic. (Use tshark or Wireshark in parallel.)

  • It does not record all traffic captured on the WLAN device. (Use tshark or Wireshark in parallel.)

  • It does not perform Evil Twin attacks.

  • It does not provide a beautiful status display.

  • It is not a honey pot.

Unsupported: Windows OS, macOS, Android, emulators or wrappers!

[!NOTE]

hcxdumptool does not perform conversion or cracking! It is designed to be used in conjunction with the following tools:

Tool Description
hcxnmealog Tool to handle NMEA 0183 sentences
hcxpcapngtool Tool to convert raw PCAPNG files to Hashcat and JtR readable formats. (hcxtools)
hcxhashtool Tool to filter hashes from HC22000 files based on user input. (hcxtools)
hcxpsktool Tool to get weak PSK candidates from HC22000 files. (hcxtools)
hcxeiutool Tool to calculate wordlists based off ESSIDs gathered. (hcxtools)
Hashcat/JtR Third party tools used to infer PSK from HC22000 hash files.

hcxtools can be found here. Hashcat can be found here.

Work Flow

hcxdumptool -> hcxpcapngtool -> hcxhashtool (additional hcxpsktool/hcxeiutool) -> Hashcat or JtR

Requirements

You might expect me to recommend that everyone should be using hcxdumptool/hcxtools. But the fact of the matter is, however, that hcxdumptool/hcxtools is NOT recommended to be used by inexperienced users or newbies. If you are not familiar with Linux generally or if you do not have at least a basic level of knowledge as mentioned in section "Requirements", hcxdumptool/hcxtools is probably not what you are looking for. However, if you have that knowledge this tools can do magic.

  • Knowledge of radio technology.
  • Knowledge of electromagnetic-wave engineering.
  • Detailed knowledge of 802.11 protocol.
  • Detailed knowledge of key derivation functions.
  • Detailed knowledge of NMEA 0183 protocol.
  • Detailed knowledge of Linux.
  • Detailed knowledge of filter procedures. (Berkeley Packet Filter, capture filter, display filter, etc.)
  • Detailed knowledge of Boolean Operators.
  • Operating system: Linux (latest longterm or stable kernel, mandatory >= 5.15)
  • Recommended distribution: Arch Linux (notebooks and desktop systems), OpenWRT (small systems like Raspberry Pi, WiFi router)
  • WLAN device chipset must be able to run in monitor mode.
  • WLAN device driver must support monitor and full frame injection mode.
  • gcc >= 16 recommended (deprecated versions are not supported: https://gcc.gnu.org/)
  • make
  • libpcap and libpcap-dev (If internal BPF compiler has been enabled.)
  • Raspberry Pi A, B, A+, B+, Zero (WH). (Recommended: Zero or A+, because of a very low power consumption), but notebooks and desktops will work as well.
  • GPIO hardware mod recommended (push button and LED) on Raspberry Pi
  • To allow 5/6/7GHz packet injection, it is mandatory to uncomment a regulatory domain that support this: /etc/conf.d/wireless-regdom
  • Make sure that the version of hcxdumptool always fits to the version of hcxpcapngtool

Install Guide

[!IMPORTANT]

While hcxdumptool and hcxtools are available through the package manager on most distributions, these packages are usually very old and outdated, thus cloning and building is recommended.

Make sure that your distribution is updated to its latest version and make sure that all header files and dependencies have been installed BEFORE attempting to compile!

The packages mentioned in the "Requirements" section sometimes come under different names in a package manager! Make sure to install the correct packages!

Clone Repository

git clone https://github.com/ZerBea/hcxdumptool.git
cd hcxdumptool

Compile & Install

Compiling:

make -j $(nproc)

Installing to /usr/bin:

make install (as super user)

Or installing to /usr/local/bin:

make install PREFIX=/usr/local (as super user)

[!TIP]

On headless operation, remove -DSTATUSOUT from the Makefile before compiling! That way, the status display will not be compiled. This will save CPU cycles and prevent ERRORs from occurring.

It is theoretically possible to compile hcxdumptool for other systems (e.g. Android) and other distributions (e.g. KALI) and other operating systems (BSD) as well. There is no plan to support the operating systems and feature requests will be rejected.

Adapters

[!WARNING]

  • Do not expect flawless drivers on brand new hardware!

  • Driver must support monitor mode and full packet injection!

  • PRISM devices are not supported!

  • WIRELESS EXTENSIONS are deprecated and no longer supported!

[!NOTE]

Manufacturers do change chipsets without changing model numbers. Sometimes they add (v)ersion or (rev)vision. As long as a manufacturer or a company does not consider it necessary to supply drivers to the Linux kernel avoid to buy this products!

Always verify the actual chipset with 'lsusb' and/or 'lspci'!

No support for a third party driver which is not part of the official Linux kernel, because there are hundreds of them in the wilderness. I don't have the time for it, nor do I want to. Report related issues to the site, from which you downloaded the driver.

No support for a driver which doesn't support monitor mode and full frame injection natively. If you need these features, do a request on Bugzilla.

Several device and driver tests can be found here. Dependent on the version of the Linux kernel (especially the older ones), expect massive driver issues.

Known as working WiFi chipsets / drivers:

  • Realtek (rtl8xxxu / rtw88)

  • MediaTek (mt76) depending on chipset and the version of the Linux Kernel expect massive driver issues - active monitor mode is broken

  • Atheros (ath9k_htc) old chipset

  • Ralink (rt2800usb) old chipset

Not recommended WiFi chipsets:

  • Intel (Monitor mode and frame injection problems.)

  • Broadcom (Neither monitor mode nor frame injection by official Linux kernel.)

  • Qualcomm (No frame injection by official Linux kernel.

Absolutely not recommended:

More information about possible issues or limitations can be found here.

Antennas

The best high frequency amplifier is a good antenna!

A good antenna is extremely important, because antenna gain is working in both directions.

Stupid increasing TX power doesn’t raise the level of the received signal on the same unit.

VENDOR MODEL TYPE
LOGILINK WL0097 Grid Parabolic
TP-LINK TL-ANT2414 A/B Panel
DELOCK 88806 Panel
TP-LINK TL-ANT2409 A Panel
LevelOne WAN-1112 Panel
LogiLink WL0098 Panel
ALFA APA-M04 Panel
ALFA APA-M25 Panel

GPS devices (NMEA 0183 protocol)

VENDOR MODEL TYPE
NAVILOCK NL-701US USB
JENTRO BT-GPS-8 activepilot BLUETOOTH
HiLetgo VK172 USB

Useful Scripts

Script Description
stopnm Example script to stop NetworkManager
startnm Example script to start NetworkManager
startnlmon Example script to activate NETLINK monitor

Caution!

You might expect me to recommend that everyone should be using hcxdumptool/hcxtools. But the fact of the matter is, hcxdumptool/hcxtools is NOT recommended to be used by inexperienced users or newbies.

If you are not familiar with Linux in general or you do not have at least a basic level of knowledge as mentioned in the "Requirements" section, hcxdumptool/hcxtools is probably not what you are looking for. However, if you have that knowledge hcxdumptool/hcxtools can do magic for you.

Misuse of hcxdumptool within a network, particularly without authorization, may cause irreparable damage and result in significant consequences. “Not understanding what you were doing” is not going to work as an excuse.

The entire toolkit (hcxdumptool and hcxtools) is designed to be an analysis toolkit.

hcxdumptool should only be used in a 100% controlled environment!

If you can't control the environment, it is absolutely mandatory to set the BPF!

The BPF should be used to select a target (or multiple targets) or to protect devices.

A document showcasing an example attack using hcxdumptool and hcxtools.

By default, hcxdumptool is utilizing three attack vectors:

  • Connecting to an ACCESS POINT to get a PMKID (turn off by --associationmax=0)

  • Disconnecting a CLIENT from an associated ACCESS POINT to get a complete handshake (M1M2M3M4) and a PMKID (turn off by --disable_disassociation)

  • Allowing a CLIENT to connect to hcxdumptool (OSI layer 2 attack) to get a challenge (M1M2) or an EAP-ID (turn off by --m2max=0)

[!WARNING]

You may only use hcxdumptool on networks that you have permission to attack, because:

  • hcxdumptool is able to prevent complete WLAN traffic transmission. (Depending on selected options.)

  • hcxdumptool is able to capture PMKIDs from access points if the accesspoint supports PMKID caching. (Only one single PMKID from an access point is required. Use hcxpcapngtool to convert them to a format Hashcat or JtR understands.)

  • hcxdumptool is able to capture handshakes from non-connected clients. (Only one single M2 from the client is required. Use hcxpcapngtool to convert them to a format Hashcat or JtR understands.)

  • hcxdumptool is able to capture handshakes from 5/6GHz clients on 2.4GHz. (Only one single M2 from the client is required. Use hcxpcapngtool to convert to a format Hashcat or JtR understands.)

  • hcxdumptool is able to capture passwords from the WLAN traffic. (Use hcxpcapngtool -R to save them to file, or together with networknames [-E].)

  • hcxdumptool is able to request and capture extended EAPOL. (RADIUS, GSM-SIM, WPS. hcxpcapngtool will show you information about them.)

  • hcxdumptool is able to capture identities from the WLAN traffic. (Example: Request IMSI numbers from mobile phones - use hcxpcapngtool -I to save them to file.)

  • hcxdumptool is able to capture usernames from the WLAN traffic. (Example: User name of a server authentication - use hcxpcapngtool -U to save them to file.)

Do Not:

  • Use a logical interface and leave the physical interface in managed mode!

  • Use hcxdumptool in combination with the aircrack-ng suite, Reaver, Bully, or any other tools that take access to the interface!

  • Use tools like macchanger as they are useless since hcxdumptool uses its own random MAC address space.

  • Merge PCAPNG dumpfiles because doing so will destroy custom block hash assignments!

関連リポジトリ
GyulyVGC/sniffnet

Comfortably monitor your Internet traffic 🕵️‍♂️

Rustcrates.ioApache License 2.0network-analysisnetworking
sniffnet.app
40.1k1.8k
secdev/scapy

Scapy: the Python-based interactive packet manipulation program & library.

PythonPyPIGNU General Public License v2.0scapypython
scapy.net
12.4k2.2k
kubeshark/kubeshark

eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.

GoGo ModulesApache License 2.0kubernetesgolang
kubeshark.com
12k542
wader/fq

jq for binary formats - tool, language and decoders for working with binary and text formats

GoGo ModulesOtherjqbinary
10.5k247
gcla/termshark

A terminal UI for tshark, inspired by Wireshark

GoGo ModulesMIT Licensetsharkwireshark
9.9k438
zeek/zeek

Zeek is a powerful network analysis framework that is much different from the typical IDS you may know.

C++Otherbronetwork-monitoring
zeek.org
7.8k1.4k
arkime/arkime

Arkime is an open source, large scale, full packet capturing, indexing, and database system.

CApache License 2.0network-monitoringpcap
arkime.com
7.4k1.2k
bee-san/pyWhat

🐸 Identify anything. pyWhat easily lets you identify emails, IP addresses, and more. Feed it a .pcap file or some text and it'll tell you what it is! 🧙‍♀️

PythonPyPIMIT Licensecybersecurity
7.3k388
emanuele-f/PCAPdroid

No-root network monitor, firewall and PCAP dumper for Android

JavaMavenGNU General Public License v3.0pcapcapture-traffic
emanuele-f.github.io/PCAPdroid
4.3k502
pavel-odintsov/fastnetmon

Very fast DDoS sensor with sFlow/Netflow/IPFIX/SPAN support

C++GNU General Public License v2.0fastnetmonddos
3.7k587
odedshimon/BruteShark

Network Analysis Tool

C#GNU General Public License v3.0hackingpcap-files
3.4k357
the-tcpdump-group/tcpdump

the TCPdump network dissector

COtherpcappcapng
tcpdump.org
3.2k928