hcidump(1)
β¨ hcidump β parse HCI data ππ¦
okay bestie, so this is the manual page for hcidump(1) β section 1, the Linux System Administration corner of the manual, iykyk. If you've got a Bluetooth device yapping away and you wanna actually see what it's saying, this is your girl. Let's get into it.
πΈ SYNOPSIS πΈ
hcidump -h
hcidump [OPTIONS ...] [FILTERS]
That's it. Two ways in: ask for help, or dive all the way in. Main character energy either way.
π DESCRIPTION π
So like β hcidump(1) reads raw HCI data coming from and going to a Bluetooth device, and prints the commands, events and data to your screen in a form that's actually human-readable. Not me being obsessed with a hex dump, but here we are.
Which device, you ask? Well, you can specify it with the option -i, and if you don't, the default is the first available one. Cute.
And here's the fun part: the dump doesn't have to be parsed right away. You can optionally write the dump to a file instead of parsing it, and then parse that dump file in a subsequent moment. Delayed gratification, periodt. π
β¨ OPTIONS β¨
-i <hciX>β reads data fromhciX, which has got to be the name of an installed Bluetooth device, no exceptions. If you don't specify it, and if the-roption isn't set either, the data gets read from the first available Bluetooth device. π«Ά-l <len>,--snap-len=<len>β sets the max length of processed packets tolen. Snip snip. βοΈ-p <psm>,--psm=<psm>β sets the default Protocol Service Multiplexer topsm.-m <compid>,--manufacturer=<compid>β sets the default company id for manufacturer tocompid. Gotta know who made it. π-w <file>,--save-dump=<file>β the parse output is not printed to the screen; instead, the data read from the device is saved infile. Then you can come back and parse that saved dump file later with option-r. Save it for later bestie πΎ-r <file>,--read-dump=<file>β the data isn't read from a Bluetooth device at all, it's read fromfile. Andfileis created with option-t,--timestampβ which prepends a time stamp to every packet. π°οΈ-a,--asciiβ for every packet, not only is the packet type displayed, but also all the data in ASCII.-x,--hexβ for every packet, not only is the packet type displayed, but also all the data in hex.-X,--extβ for every packet, not only is the packet type displayed, but also all the data in hex and ASCII. Why choose one when you can have both π-R,--rawβ for every packet, only the raw data is displayed. Minimalism. It's giving clean girl aesthetic.-C <psm>,--cmtp=<psm>β sets the PSM value for the CAPI Message Transport Protocol.-H <psm>,--hcrp=<psm>β sets the PSM value for the Hardcopy Control Channel.-O <channel>,--obex=<channel>β sets the RFCOMM channel value for the Object Exchange Protocol.-P <channel>,--ppp=<channel>β sets the RFCOMM channel value for the Point-to-Point Protocol.-D <file>,--pppdump=<file>β extracts PPP traffic withpppdumpformat. π-A <file>,--audio=<file>β extracts SCO audio data. π§-Y,--novendorβ don't display any vendor commands or events, and don't show any pin code or link key in plain text. Privacy girlie π
ngl this one matters β the plain-text pin code / link key thing is a real security vibe check, so keep it on when you're sharing dumps with anyone.
-hβ prints usage info and exits. The classic. The icon. π
π§ FILTERS π§
a filter is a space-separated list of packet categories. The available categories are:
lmp, hci, sco, l2cap, rfcomm, sdp, bnep, cmtp, hidp, hcrp, avdtp, avctp, obex, capi and ppp.
If you use filters, then only the packets belonging to the specified categories get dumped. And by default? All packets are dumped. Everything, everywhere, all at once. π₯
π RESOURCES π
π REPORTING BUGS π
<linux-bluetooth@vger.kernel.org>
Found something cursed? Tell the nice people at that address, not me. π
π AUTHOR π
Maxim Krasnyansky <maxk@qualcomm.com>, Marcel Holtmann <marcel@holtmann.org>, Fabrizio Gennari <fabrizio.gennari@philips.com>
Legends, fr fr.
π COPYRIGHT π
Free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL).
okay that's the whole page bestie, you're officially fluent in hcidump β¨ slay
this has been the BlueZ hcidump(1) manual page, dated Nov 12, 2002 β yes she's vintage, yes she still ate π
π¦πΈ
π¦ where this page comes from
- fedora 44: bluez-deprecated 5.86-4.fc44 Β· GPL-2.0-or-later
- nixos 26.05: bluez 5.86
- ubuntu resolute: bluez-hcidump 5.85-4 Β· GPL-2.0-or-later
- ubuntu resolute: bluez-hcidump 5.85-4ubuntu0.3
- ubuntu resolute: bluez-hcidump 5.85-4ubuntu0.4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms