Linux
January 3
Команды tcpdump
Cписок команд и параметров для tcpdump
, одной из самых популярных утилит для захвата и анализа сетевого трафика.
1. Основной синтаксис
tcpdump [опции] [выражение фильтра]
2. Основные опции
-i <интерфейс>
Указывает интерфейс для захвата (например,eth0
,wlan0
).-D
Показывает список всех доступных интерфейсов.-n
Не преобразует IP-адреса и порты в имена (ускоряет анализ).-nn
Не преобразует IP-адреса, имена портов и протоколов.-c <число>
Захватывает только указанное количество пакетов.-s <размер>
Устанавливает размер захвата пакета (по умолчанию 262144).-w <файл>
Сохраняет захваченные пакеты в файл для последующего анализа (формат pcap).-r <файл>
Читает захваченные пакеты из файла pcap.-
-v
,-vv
,-vvv
Увеличивает детализацию выводимой информации. -X
Показывает содержимое пакетов в ASCII и HEX.-XX
Показывает содержимое заголовков и данных пакета в HEX и ASCII.-A
Показывает содержимое пакетов в ASCII (удобно для HTTP/SMTP).-C <размер>
Делит захват на файлы размером не более указанного значения (в мегабайтах).-G <интервал>
Делит захват на файлы с интервалом времени (в секундах).-z <команда>
Указывает команду для выполнения после сохранения файла (например, компрессия).-E <ключ>
Расшифровка трафика с использованием заданного ключа (например, для IPsec).-N
Не отображает доменные имена хостов.-K
Отключает проверку целостности.
3. Фильтрация пакетов
Фильтры позволяют захватывать только нужный трафик:
- Хосты
host 192.168.1.1
- Захват трафика для определенного хоста. - Источник
src 192.168.1.1
- Трафик, исходящий от хоста. - Назначение
dst 192.168.1.1
- Трафик, направленный на хост. - Сеть
net 192.168.1.0/24
- Трафик для указанной сети. - Порты
port 80
илиportrange 20-80
- Захват трафика для порта или диапазона. - Протоколы
tcp
,udp
,icmp
,arp
,ip
,ipv6
, и др. - Фильтрация по протоколу. - Сложные условия
src 192.168.1.1 and dst port 80
- Комбинация условий сand
,or
,not
.
4. Примеры команд
Захват всего трафика на интерфейсе eth0
:
tcpdump -i eth0
Фильтр HTTP-трафика:
tcpdump -i eth0 port 80
Захват и запись в файл:
tcpdump -i eth0 -w capture.pcap
Чтение файла pcap:
tcpdump -r capture.pcap
Захват ICMP-пакетов:
tcpdump -i eth0 icmp
Фильтрация трафика из подсети:
tcpdump net 192.168.1.0/24
Вывод в деталях (TCP/UDP):
tcpdump -vv tcp
Показ содержимого пакетов:
tcpdump -X port 80