Как пользоваться tcpdump
Установка на debian семейство:
sudo apt install tcpdump
Команда имеет синтаксис:
$ tcpdump опции -i интерфейс фильтры
Рассмотрим основные опции:
- -A — выводить все пакеты в формате ASCII;
- -c — закрыть программу после перехвата n-ого количества пакетов;
- -C — при записи пакетов в файл, проверять размер файла, и если он больше заданного — создать новый файл;
- -D — вывести список доступных сетевых интерфейсов;
- -e — выводить информацию уровня соединения для каждого пакета, это может быть полезно, например, для отображения MAC адреса;
- -f — выводить доменное имя для ip адресов;
- -F — читать пакеты из файла, а не интерфейса;
- -G — создавать новый файл лога через указанный промежуток времени;
- -H — обнаруживать заголовки 802.11s;
- -i — имя интерфейса для перехвата пакетов. Вы можете захватывать пакеты со всех интерфейсов, для этого укажите any;
- -I — переключить интерфейс в режим монитора для захвата всех проходящих пакетов;
- -j — установить формат Timestamp для записи пакетов;
- -J — посмотреть доступные Timestamp;
- -K — не проверять контрольные суммы пакетов;
- -l — добавить поддержку прокрутки к выводу;
- -L — вывести поддерживаемые протоколы подключения для интерфейса;
- -n — не отображать доменные имена;
- -r — прочитать пакеты из файла, созданного с помощью -w;
- -v, -vv, -vvv — более подробный вывод;
- -q — выводить минимум информации;
- -w — записать вывод в файл;
- -Z — пользователь, от имени которого будут создаваться файлы.
Перед тем как перейти к использованию tcpdump нужно посмотреть какие сетевые интерфейсы вы можете использовать. Для этого запустите команду с опцией -D:
sudo tcpdump -D
Далее для подробного вывода воспользуемся ключом -v или для более подробного -vv
sudo tcpdump -v -i eth0
После опций можно указывать фильтры для пакетов. Вот основные параметры, по которым можно отсеивать пакеты:
- host — имя хоста;
- ip — ip адрес;
- proto — протокол;
- net — адрес сети или подсети;
- port — адрес порта;
- src — параметр, касающийся отправителя;
- dst — параметр, касающейся получателя;
- Доступны такие протоколы: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp и udp.
Фильтры можно комбинировать с помощью операторов:
- AND
- OR
- NOT
sudo tcpdump -i eth0 dst host 192.168.0.1 and src host 192.19.0.1