HCIDUMP(8)

πŸ“¦ version 2.5, in fedora 43, fedora 44

πŸ’– hcidump β€” the manual page, but make it cute πŸ’–

okay so bestie, you found the hcidump(8) page (it lives in the Linux System Administration corner of the manual, section 8, iykyk) and honestly? it's giving "bluetooth but make it readable." let's get into it 🫢


✨ NAME ✨

hcidump β€” parse HCI data. that's it, that's the whole name, she's simple and she's iconic πŸ’…


🌸 SYNOPSIS 🌸

hcidump [-h]
hcidump [option [option...]] [filter]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: hcidump reads raw HCI data coming from and going to a Bluetooth device β€” and you can pick which device with the -i option, but if you don't, she just grabs the first available one, no drama, lowkey default queen πŸ‘‘

then she prints to screen all the commands, events and data in a human-readable form. yes bestie, actual readable output, not a wall of vibes.

optionally?? the dump can be written to a file instead of parsed. and then β€” plot twist β€” that dump file can be parsed later in a subsequent moment. it's giving save it for later, main character energy ✨


πŸ’… OPTIONS πŸ’…

  • -h β€” prints usage info and exits. short, sweet, she said what she said πŸ’€
  • -i <hciX> β€” data is read from hciX, and hciX has to be the name of an installed Bluetooth device, no fake ones allowed. if you don't specify it, and if -r isn't set either, data gets read from the first available Bluetooth device. default behavior stays winning πŸŽ€
  • -l <len>, --snap-len=<len> β€” sets the max length of processed packets to len. she's on a diet, packets only get so big 🌸
  • -p <psm>, --psm=<psm> β€” sets the default Protocol Service Multiplexer to psm. periodt.
  • -m <compid>, --manufacturer=<compid> β€” sets the default company id for manufacturer to compid. gotta know whose device this is fr fr
  • -w <file>, --save-dump=<file> β€” parse output is not printed to screen; instead, data read from the device is saved in file. and guess what? that saved dump file can be subsequently parsed with the -r option. it's a whole ecosystem, obsessed πŸ”₯
  • -r <file>, --read-dump=<file> β€” data is not read from a Bluetooth device, but from file. and file is created with the -w option. so like, they're besties, they go together 🀝
  • -s <host>, --send-dump=<host> β€” parse output is not printed to screen; instead, data read from the device is sent to host host. she's traveling ✈️
  • -n <host>, --recv-dump=<host> β€” data is not read from a Bluetooth device, but from host host. incoming bestie πŸ“₯
  • -d <host>, --wait-dump=<host> β€” data is read from a Bluetooth device, but then it gets sent to host host for processing. no data is read if no host is connected. she waits, respectfully πŸ™ˆ
  • -t, --timestamp β€” prepend a time stamp to every packet. time is real bestie ⏰
  • -a, --ascii β€” for every packet, not only is the packet type displayed, but also all data in ASCII. give her the letters πŸ”€
  • -x, --hex β€” for every packet, not only is the packet type displayed, but also all data in hex. give her the 0x realness πŸ’œ
  • -X, --ext β€” for every packet, not only is the packet type displayed, but also all data in hex and ASCII. she's doing both, she's versatile, she ate πŸ’…
  • -R, --raw β€” for every packet, only the raw data is displayed. no frills, no extra, just the bare facts. minimalist queen 🌈
  • -C, --cmtp=<psm> β€” sets the PSM value for the CAPI Message Transport Protocol.
  • -H, --hcrp=<psm> β€” sets the PSM value for the Hardcopy Control Channel.
  • -O, --obex=<channel> β€” sets the RFCOMM channel value for the Object Exchange Protocol.
  • -P, --ppp=<channel> β€” sets the RFCOMM channel value for the Point-to-Point Protocol.
  • -D, --pppdump=<file> β€” extract PPP traffic with pppdump format.
  • -A, --audio=<file> β€” extract SCO audio data. sound on, bestie πŸ”Š
  • -Y, --novendor β€” don't display any vendor commands or events, and don't show any pin code or link key in plain text. > bestie this one is lowkey about your privacy, take it seriously, no cap πŸ”’
  • -4, --ipv4 β€” use IPv4 when sending information over the network.
  • -6, --ipv6 β€” use IPv6 when sending information over the network.

🧚 FILTERS 🧚

filter is a space-separated list of packet categories, and the available categories are:

lmp, hci, sco, l2cap, rfcomm, sdp, bnep, cmtp, hidp, hcrp, avdtp, avctp, obex, capi and ppp.

if filters are used, only packets belonging to the specified categories are dumped. by default, all packets are dumped. she's inclusive like that 🫢


πŸ‘‘ AUTHORS πŸ‘‘

written by Maxim Krasnyansky <maxk@qualcomm.com> and Marcel Holtmann <marcel@holtmann.org>

man page by Fabrizio Gennari <fabrizio.gennari@philips.com>


and that's the whole page, bestie β€” this lovely thing comes to you courtesy of BlueZ, dated Nov 12 2002, and yes she's been iconic since way back then. stan a legend β­πŸ’–πŸŽ€

πŸ“¦ where this page comes from