Примеры использования Tcpdump

Norton [CPS] WW

tcpdump — это инструмент командной строки для анализа пакетов, который позволяет перехватывать сетевые пакеты на основе правил фильтрации пакетов, интерпретировать содержимое пакетов и отображать результат в удобочитаемом формате.

 

Network traffic

tcpdump помогает:

  • Диагностировать потерю пакетов
  • Проверять производительность приложений
  • Проверьте маршрутизацию трафика в многосетевой среде
  • Отслеживать теги VLAN
  • Прослушивать трафик
Содержание
  1. Просмотр списка сетевых интерфейсов в tcpdump
  2. Захват пакетов с определенного с сетевого интерфейса
  3. Захват пакетов со всех доступных интерфейсов
  4. Измените формат вывода tcpdump
  5. Вывод MAC адресов
  6. Вывод IP адреса, без преобразование в DNS имя
  7. Настройка детализации вывода
  8. Захват пакетов с определенным IP-адресом или подсетью
  9. Захвата пакетов с IP-адреса 1.1.1.1
  10. Захват пакетов, исходящих из подсети 192.168.0.0/24
  11. Захват пакетов с IP-адресом назначения 192.168.1.1
  12. Захват пакетов в подсеть 192.168.100.0/24
  13. Захват пакетов между двумя хостами или двумя подсетями
  14. Захват пакетов с адреса 10.0.0.1 на адрес 192.168.0.1
  15. Захват пакетов из сети 10.0.0.0/24 в подсеть 192.168.0.0/24
  16. Захват пакетов между 10.0.0.1 и 192.168.0.1 в обоих направлениях
  17. Захват пакетов между двумя подсетями 10.0.0.0/24 и 192.168.0.0./24 в обоих направлениях
  18. Захват пакетов с определенного сетевого протокола
  19. Захват только IP пакетов
  20. Захват только ICMP пакетов
  21. Захват только ARP пакетов
  22. Захват TCP пакетов
  23. Захват UDP пакетов
  24. Захват только TCP пакетов между 10.0.0.1 и 192.168.0.1 в обоих направлениях
  25. Захват пакетов с определенных портов TCP/UDP
  26. Захват пакетов с портом назначения 80
  27. Захват UDP-пакетов с порта 6000
  28. Захват DNS-пакетов (исходный или целевой порт 53)
  29. Захват пакетов с 80 или 8080 портами
  30. Захват пакетов в диапазоне портов от 1000 до 10000
  31. Захват пакетов кроме определенного
  32. Исключить все SSH (порт 22) пакетов с IP 192.168.0.100
  33. Захват первых N пакетов
  34. Захват первых 100 пакетов
  35. Захват пакетов с определенной длиной
  36. Захват пакетов, длина которых превышает 200 байт
  37. Захват пакетов длина который меньше 200 байт
  38. Захват пакетов размером от 200 до 700 байт
  39. Захват пакетов с определенным MAC-адресом
  40. Захват широковещательного трафика (пакетов с MAC-адресом назначения ff:ff:ff:ff:ff:ff)
  41. Захват пакетов между 2f:c0:1b:21:4a:c4 и 7a:f4:2b:96:0b:41 в обоих направлениях
  42. Захват пакетов, отправленных или полученных 2f:c0:1b:21:4a:c4
  43. Вывод содержимого пакетов
  44. Вывод содержимого TCP-пакетов в формате ASCII
  45. Вывод содержимого пакетов в HEX формате
  46. Сохранение захваченных пакетов в файл (pcap)
  47. Сохранить первые 1000 пакетов в файл save.pcap:
  48. Чтение PCAP файла
  49. Чтение TCP пакетов из файла
  50. Ротация сохранение в файл по времени и размеру
  51. Ротация файла каждый час или каждые 500 мегабайт
  52. Ротация PCAP файлов каждые 30 минут, с указанием временных меток
  53. Захват пакетов с высокой точностью временных меток
  54. Захват пакетов с различными форматами временных меток
  55. Временная метка в формате Unix (в секундах с 1 января 1970 г.)
  56. Временная метка в формате дата, часы, минуты, секунды и микросекунды
  57. Относительная временная метка (с момента захвата первого пакета)
  58. Временная метка в определенном часовом поясе
  59. Захват пакетов с определенными флагами
  60. Захват TCP SYN пакетов

Просмотр списка сетевых интерфейсов в tcpdump

Для того что бы показать список сетевых интерфейсов используемых в системе, необходимо указать параметр -D

tcpdump -D

Tcpdump -D

Захват пакетов с определенного с сетевого интерфейса

По умолчанию, Tcpdump прослушивает сетевой интерфейс с наименьшим номером в списке.

Tcpdump -D

для прослушивания конкретного сетевого интерфейса, необходимо использовать опцию -i с именем интерфейса в качестве параметра

К примеру прослушивание всего локального (Loopback) трафика

tcpdump -i lo

Захват пакетов со всех доступных интерфейсов

Если необходимо захватить трафик со всех сетевых интерфейсов, к примеру если в системе несколько сетевых подключений, в tcpdump для таких случаев предусмотрено специальное "имя" any

tcpdump -i any

Измените формат вывода tcpdump

Вывод MAC адресов

tcpdump -e

10:05:49.070508 2f:c0:1b:21:4a:c4 (oui Unknown) > 7a:f4:2b:96:0b:41 (oui Unknown), ethertype IPv4 (0x0800), length 118: 192.168.1.100.9088 > server.local.ssh: Flags [P.], seq 1601:1665, ack 391488, win 1028, length 64

Вывод IP адреса, без преобразование в DNS имя

tcpdump -n

10:09:09.440334 IP 192.168.1.7.22 > 192.168.1.100.51095: Flags [.], ack 720, win 36, length 0

Настройка детализации вывода

tcpdump -v
tcpdump -vv
tcpdump -vvvv

Захват пакетов с определенным IP-адресом или подсетью

Захвата пакетов с IP-адреса 1.1.1.1

tcpdump src 1.1.1.1

Захват пакетов, исходящих из подсети 192.168.0.0/24

tcpdump src net 192.168.0.0/24

Захват пакетов с IP-адресом назначения 192.168.1.1

tcpdump dst 192.168.1.1

Захват пакетов в подсеть 192.168.100.0/24

tcpdump dst net 192.168.100.0/24

Захват пакетов между двумя хостами или двумя подсетями

Захват пакетов с адреса 10.0.0.1 на адрес 192.168.0.1

tcpdump src 10.0.0.1 and dst 192.168.0.1

Захват пакетов из сети 10.0.0.0/24 в подсеть 192.168.0.0/24

tcpdump src net 10.0.0.0/24 and dst net 192.168.0.0/24

Захват пакетов между 10.0.0.1 и 192.168.0.1 в обоих направлениях

tcpdump host 10.10.0.1 and host 192.168.100.54

Захват пакетов между двумя подсетями 10.0.0.0/24 и 192.168.0.0./24 в обоих направлениях

tcpdump net 10.0.0.0/24 and net 192.168.0.0/24

Захват пакетов с определенного сетевого протокола

tcpdump позволяет захватывать сетевой трафик определенного сетевого протокола. Для известных протоколов уровня 3 или уровня 4 нужно указать их имена.

Захват только IP пакетов

tcpdump ip

Захват только ICMP пакетов

tcpdump icmp

Захват только ARP пакетов

tcpdump arp

Захват TCP пакетов

tcpdump tcp

Захват UDP пакетов

tcpdump udp

Захват только TCP пакетов между 10.0.0.1 и 192.168.0.1 в обоих направлениях

tcpdump tcp and host 10.0.0.1 and host 192.168.0.1

Захват пакетов с определенных портов TCP/UDP

Захват пакетов с портом назначения 80

tcpdump dst port 80

Захват UDP-пакетов с порта 6000

tcpdump udp src port 6000

Захват DNS-пакетов (исходный или целевой порт 53)

tcpdump port 53

Захват пакетов с 80 или 8080 портами

tcpdump port 80 or port 8080

Захват пакетов в диапазоне портов от 1000 до 10000

tcpdump portrange 1000-10000

Захват пакетов кроме определенного

Исключить все SSH (порт 22) пакетов с IP 192.168.0.100

tcpdump port not 22 and not host 192.168.0.100

Захват первых N пакетов

Захват первых 100 пакетов

tcpdump -c 100 tcp

Захват пакетов с определенной длиной

Захват пакетов, длина которых превышает 200 байт

tcpdump greater 200

Захват пакетов длина который меньше 200 байт

tcpdump less 200

Захват пакетов размером от 200 до 700 байт

tcpdump not less 200 and not greater 700

Захват пакетов с определенным MAC-адресом

Захват широковещательного трафика (пакетов с MAC-адресом назначения ff:ff:ff:ff:ff:ff)

tcpdump ether dst ff:ff:ff:ff:ff:ff

Захват пакетов между 2f:c0:1b:21:4a:c4 и 7a:f4:2b:96:0b:41 в обоих направлениях

tcpdump ether host 2f:c0:1b:21:4a:c4 and ether host 7a:f4:2b:96:0b:41

Захват пакетов, отправленных или полученных 2f:c0:1b:21:4a:c4

tcpdump ether host 2f:c0:1b:21:4a:c4

Вывод содержимого пакетов

Вывод содержимого TCP-пакетов в формате ASCII

tcpdump -A tcp

Вывод содержимого пакетов в HEX формате

tcpdump -X

Сохранение захваченных пакетов в файл (pcap)

Сохранить первые 1000 пакетов в файл save.pcap:

tcpdump -c 1000 -w save.pcap

Чтение PCAP файла

Чтение TCP пакетов из файла

tcpdump -r save.pcap tcp

Ротация сохранение в файл по времени и размеру

Ротация файла каждый час или каждые 500 мегабайт

tcpdump -w /tmp/save -W 24 -G 3600 -C 500

Создаст файлы (/tmp/save00, /tmp/save01,...) за 24 часа. После этого файлы перезапишутся с самого начала.

Ротация PCAP файлов каждые 30 минут, с указанием временных меток

tcpdump -w /tmp/save-%Y-%m-%d_%H-%M.pcap -G 1800

Захват пакетов с высокой точностью временных меток

По умолчанию tcpdump использует микросекунды для временных меток пакетов. Tcpdump 4.6 или более поздней версии поддерживает отметку времени в наносекундах.

tcpdump --time-stamp-precision nano

Захват пакетов с различными форматами временных меток

Временная метка в формате Unix (в секундах с 1 января 1970 г.)

tcpdump -tt

Временная метка в формате  дата, часы, минуты, секунды и микросекунды

tcpdump -tttt

Относительная временная метка (с момента захвата первого пакета)

tcpdump -ttttt

Временная метка в определенном часовом поясе

TZ=Asia/Seoul tcpdump
TZ=Europe/Moscow tcpdump

Захват пакетов с определенными флагами

tcpdump позволяет вам проверять произвольные диапазоны байтов в пакете. Используя эту возможность, tcpdump позволяет перехватывать пакеты TCP с определенными флагами в их заголовках.

Захват TCP SYN пакетов

tcpdump "tcp[tcpflags] & (tcp-syn) != 0"
Добавить комментарий