Wireshark (ранее — Ethereal) — программа-анализатор трафика для компьютерных сетей. Tshark — консольная версия, wireshark — версия с графическим интерфейсом.
Пример установки в Ubuntu/Debian:
sudo apt-get install wireshark tshark
Справку о tshark можно получить командой:
tshark -h
Пример команды запуска:
tshark -i eth0 -w 'log.txt' -S
Смотрим какие есть сетевые интерфейсы:
tshark -D
После ввода вышеуказанной команды мы увидим пронумерованный список, в следующих командах интерфейс можно указывать по номеру в списке, например: -i 2 вместо -i eth1.
Примеры фильтров:
tshark -i eth0 'tcp port 80'
UDP и TCP трафик на порт 80:
tshark -i eth0 'port 80'
tshark -i eth0 'tcp port 110 or tcp port 25'
tshark -i eth0 'not broadcast and not multicast'
tshark -i eth0 icmp
tshark -i eth0 'host 192.168.0.3'
tshark -i eth0 'host domain.com'
tshark -i eth0 'not host 192.168.0.3'
tshark -r 'log.txt' -V | more
tshark -r 'log.txt' -w 'file.txt' -F visual
tshark -r 'log.txt' -V > 'output.txt'
В случае ошибки «You don’t have permission to capture on that device» или когда tshark не видит сетевые интерфейсы, можно выполнить следующие команды:
su
groupadd wireshark
usermod -a -G wireshark USERNAME
newgrp wireshark
chgrp wireshark /usr/bin/dumpcap
chmod 750 /usr/bin/dumpcap
setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap