Опций команды tcpdump для упрощения и фильтрации захвата пакетов. Вы можете использовать эту утилиту для перехвата сетевого трафика для устранения неполадок и анализа (а также для подслушивания).
Опция -r
Если вы записали сетевой трафик в pcap-файл, вы знаете, что не можете использовать простой текстовый редактор для чтения содержимого файла. Следовательно, вы должны использовать опцию -r file.pcap. Он читает существующие файлы захвата и печатает их в качестве вывода.
1 | tcpdump -r dns.pcap |
Опция хоста
Если вы хотите фильтровать трафик для определенного хоста, вы можете использовать ip или имя хоста для захвата пакетов для определенного хоста.
1 | tcpdump host example.com -i any -c4 |
Вы можете использовать ключевые слова src или dst, чтобы указать tcpdump, должны ли перехваченные пакеты содержать хост в адресе источника или назначения, например, вы можете попробовать запустить
1 | tcpdump -i any src host localhost |
или
1 | tcpdump -i any dst host example.com |
Логические операторы
tcpdump поддерживает операторы and/or/not в качестве ключевых слов, например, tcpdump -i eth0 "host example.com and (port 80 or port 443)". Разумно использовать кавычки вокруг составных выражений, чтобы bash не пытался интерпретировать скобки.
1 | tcpdump -i any "host example.com and (port 22 or port 443)" |
Ключевое слово net
Ключевое слово net может быть использовано для указания сети для захвата с помощью нотации CIDR. Вы можете использовать CIDR сети src и dst с логическим оператором и фильтровать пакеты более точно.
1 | tcpdump -i any -n "src net 192.168.0.0/16 and not dst net 10.0.0.0/8" -c4 |
Ключевое слово ether
С помощью ключевого слова ether host можно применять фильтры, чтобы ограничить захват трафика MAC-адресом. Используйте параметр -e для печати заголовка уровня канала в каждой строке дампа. Это можно использовать, например, для печати адресов MAC-уровня для таких протоколов, как Ethernet и IEEE 802.11. Приведенный ниже пример фиксирует широковещательный трафик уровня 2:
1 | tcpdump ether host ff:ff:ff:ff:ff:ff:ff -i eth0 -e -c4 |
Ключевое слово ip6
Трафик IPv6 можно перехватить с помощью ключевого слова ip6. Вот пример:
1 | tcpdump -i any ip6 host google.com -c4 |