Есть ли способ заставить tcpdump печатать только шестнадцатеричный формат при чтении CAN-пакетов?
Хотя пакет can-utils доступен в Linux для взаимодействия с сетевыми устройствами CAN, я пытаюсь подтвердить, может ли tcpdump печатать только шестнадцатеричный формат при чтении пакетов CAN без включения символов ASCII?
tcpdump версия 4.2.1 libpcap версия 1.1.1
Единственный обходной путь, который я нашел, заключался в том, чтобы направить вывод tcpdump в файл, а затем прочитать его, используя утилиту, такую как hexdump, xxd или OD и т. Д.
Верхний левый экран основан на сценарии ниже:
# tcpdump -ivcan0 -s0 -x -w - -s0 -l > canpackets.hex & tail -f canpackets.hex | hexdump -vC
Верхний правый экран представляет вывод tcpdump с использованием (-x) без перенаправления на hexdump; который все еще печатает ASCII.
Нижний левый экран - Candump; который здесь только для иллюстрации шестнадцатеричных значений, сгенерированных утилитой cangen в правом нижнем углу экрана.
while :; do ./cansend vcan0 001#1122334455667788; sleep .25; done