Debian - cannot execute binary file: Exec format error - How to reinstall a package. [SOLVED]

This morning I tried to capture the traffic on Debian server and got an error:

debian# tcpdump -i eth0
-su: /usr/sbin/tcpdump: cannot execute binary file: Exec format error
debian#

Apparently this server experienced a problem with local disks and file got corrupted so I had to reinstall the package:

debian# dpkg --purge tcpdump
debian# apt-get install --reinstall tcpdump

Good luck!

How to read packet capture files from CLI. [TESTED]

При необходимости просмотра “packet capture” файла в CLI можно использьзовать стандартный tcpdump:

tcpdump -r /tmp/example.cap

Конечно, у tcpdump есть огромное количество параметров которые можно найти в man странице, однако мне более удобен консольный Wireshark - tshark. Еще один плюс состоит в том, что он понимает гораздо большее количество различных форматов.

В Windows утилита ставится сразу как часть пакета Wireshark и ее можно найти по следующему пути:

"c:\Program Files\Wiresharktshark.exe" -v

Пример простейшей установки на Ubuntu:

sudo apt-get update
sudo apt-get install tshark

Все параметры утилиты tshark можно увидеть в man странице. Но я бы хотел привести ряд примеров.

В том случае если необходимо по снятому дампу установить список IP и MAC адресов которые генерят наибольший трафик (top talkers):

"c:\Program Files\Wiresharktshark.exe" -q -r c:\example.pcap -z conv,ip -z conv,eth

Но тут есть проблема - список сортируется по количеству пакетов, а не по количеству байт, и это изменить нельзя. Если у вас Linux, то для правильной сортировки списка IP трафика можно использовать следующее:

tshark -qr /tmp/example.cap -z conv,ip | awk '{printf("%st%st%sn",$1,$3,$9)}' | sort -nrk3

man sort
       -n, --numeric-sort
       -r, --reverse
       -k, --key=POS1[,POS2]

Admin area