Что такое tcpdump и зачем он нужен?
tcpdump — это мощный инструмент командной строки для перехвата и анализа сетевого трафика, проходящего через сетевой интерфейс компьютера.
Он помогает системным администраторам, специалистам по безопасности, разработчикам и инженерам обнаруживать проблемы с сетью, следить за потоками данных, анализировать протоколы и выявлять подозрительную активность.
Основное назначение tcpdump — это сбор и просмотр пакетов данных, передаваемых по сети. Он позволяет разбирать пакеты в деталях, показывая не только их заголовки, но и содержимое в читаемом виде.
Какие данные собирает tcpdump?
Когда вы запускаете tcpdump, он захватывает каждое сетевое сообщение (пакет), проходящее через выбранный интерфейс (например, Ethernet или Wi-Fi). За счет этого можно получить следующую информацию:
- Источник и назначение: IP-адреса и порты устройств-отправителей и получателей.
- Протоколы: TCP, UDP, ICMP и другие.
- Флаги и опции протоколов: например, в TCP — последовательность, подтверждение, флаги SYN, ACK, PUSH.
- Контент пакета: содержимое полезной нагрузки, если это необходимо и разрешено (например, HTTP-запросы).
- Время прохождения пакета: с точностью до миллисекунды, что помогает отследить задержки или аномалии.
Это ценно для диагностики, мониторинга и аудита трафика.
Почему важно собирать сетевую информацию?
Важность tcpdump заключается в возможности увидеть реальную картину сетевых взаимодействий. Вот несколько сценариев, где это нужно:
- Диагностика проблем с соединением: например, выяснить, почему не создается соединение с сервером.
- Обнаружение несанкционированных подключений: замечаете подозрительный трафик? Можно понять, кто и что передает.
- Анализ работоспособности приложений: например, следить за HTTP-запросами и ответами.
- Обеспечение безопасности: выявление попыток взлома или атаки (например, сканирование портов, необычный трафик).
- Обучение и эксперименты: понимание работы TCP/IP протоколов.
Как использовать tcpdump — подробное объяснение на примерах
- 0. Проверка tcpdump
- 1. Выбор сетевого интерфейса
- 2. Захват пакетов по порту
- 3. Захват трафика с конкретным IP‑адресом
- 4. Анализ протокола ICMP (например, ping)
- 5. Сложные фильтры для точечного выбора
- 6. Сохранение и запись в файл
- 7. Просмотр содержимого пакета
Рассмотрим конкретные команды и ситуации, чтобы понять, как применять tcpdump и что при этом происходит.
0. Проверка tcpdump
Убедитесь, что утилита tcpdump установлена, это можно сделать, запросив версию программы следующей командой:
[root@Waky practice]# tcpdump --version
tcpdump version 4.99.0
libpcap version 1.10.0 (with TPACKET_V3)
OpenSSL 3.5.1 1 Jul 2025
[root@Waky practice]#
Если вместо версии вы получили сообщение, что команда не найдена, сначала установите tcpdump с помощью пакетного менеджера. В этом вам помогут наши статьи для CentOS и Ubuntu соответственно.
1. Выбор сетевого интерфейса
Если запустить tcpdump без каких-либо параметров, он будет захватывать все пакеты, проходящих через интерфейс по умолчанию. Чтобы увидеть все доступные для работы интерфейсы, выполним команду:
[root@Waky practice]# tcpdump --list-interfaces
1.enp0s3 [Up, Running, Connected]
2.any (Pseudo-device that captures on all interfaces) [Up, Running]
3.lo [Up, Running, Loopback]
4.bluetooth-monitor (Bluetooth Linux Monitor) [Wireless]
5.usbmon2 (Raw USB traffic, bus number 2)
6.usbmon1 (Raw USB traffic, bus number 1)
7.usbmon0 (Raw USB traffic, all USB buses) [none]
8.nflog (Linux netfilter log (NFLOG) interface) [none]
9.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]
[root@Waky practice]#
Можно использовать короткую версию ключа (-D):
[root@Waky practice]# tcpdump -D
1.enp0s3 [Up, Running, Connected]
2.any (Pseudo-device that captures on all interfaces) [Up, Running]
3.lo [Up, Running, Loopback]
4.bluetooth-monitor (Bluetooth Linux Monitor) [Wireless]
5.usbmon2 (Raw USB traffic, bus number 2)
6.usbmon1 (Raw USB traffic, bus number 1)
7.usbmon0 (Raw USB traffic, all USB buses) [none]
8.nflog (Linux netfilter log (NFLOG) interface) [none]
9.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]
[root@Waky practice]#
Первый в списке — интерфейс, используемый по умолчанию, в моем случае это — enp0s3.
Если хотим проводить захват на другом интерфейсе или хотим указать интерфейс в явном виде, надо использовать параметр —i:
[root@Waky practice]# tcpdump -i enp0s3
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
09:24:45.738605 IP Waky.ssh > 192.168.0.101.53557: Flags [P.], seq 3539076062:3539076142, ack 1518788384, win 495, length 80
09:24:45.739284 IP 192.168.0.101.53557 > Waky.ssh: Flags [.], ack 80, win 511, length 0
09:24:45.739514 IP Waky.ssh > 192.168.0.101.53557: Flags [P.], seq 80:144, ack 1, win 495, length 64
09:24:45.740179 IP 192.168.0.101.53557 > Waky.ssh: Flags [.], ack 144, win 511, length 0
Такой вывод может показаться немного запутанным, но давайте рассмотрим его повнимательнее. В каждой строке присутствует:
- метка времени (09:24:45.738605)
- протокол (IP)
- имя/IP-адрес исходного хоста и номер порта/имя сервиса (Waky.ssh)
- имя хоста/ IP-адрес назначения и номер порта/имя сервиса (192.168.0.101.53557)
- Флаги TCP (Flags [P.]). Указывают на состояние соединения и могут содержать более одного значения:
S — SYN. Первый шаг в установлении соединения
F — FIN. Прекращение соединения
— ACK. Пакет подтверждения принят успешно
P — PUSH. Указывает получателю обрабатывать пакеты вместо их буферизации
R — RST. Связь прервалась - Порядковый номер данных в пакете. (seq 3539076062:3539076142)
- Номер подтверждения. (ack 1518788384)
- Размер окна (win 495). Количество байтов, доступных в приемном буфере. Далее следуют параметры TCP
- Длина полезной нагрузки данных. (length 80)
2. Захват пакетов по порту
Захват всех пакетов может быть избыточным, в большом объеме информации будет трудно выделить необходимую. Отлов пакетов можно сузить используя фильтры.
Например, поймать все HTTP-запросы. На сервере работает NGINX на 80 порту, мы можем отслеживать пакеты по номеру порта:
[root@Waky practice]# tcpdump -i enp0s3 -c 10 port 80
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
-i enp0s3 — указывает интерфейс для перехвата.
-c 10 — остановить сбор после 10 пакетов, чтобы не захватывать весь трафик без остановки.
port 80 — фильтр по порту 80.
Так будет выглядеть единичное подключение к веб серверу по порту 80:
01:36:36.527110 IP 192.168.0.101.57644 > Waky.http: Flags [S], seq 4036971954, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:36:36.527200 IP Waky.http > 192.168.0.101.57644: Flags [S.], seq 3798838491, ack 4036971955, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
01:36:36.527848 IP 192.168.0.101.57644 > Waky.http: Flags [.], ack 1, win 4106, length 0
01:36:36.527848 IP 192.168.0.101.57644 > Waky.http: Flags [P.], seq 1:429, ack 1, win 4106, length 428: HTTP: GET / HTTP/1.1
01:36:36.527903 IP Waky.http > 192.168.0.101.57644: Flags [.], ack 429, win 501, length 0
01:36:36.528968 IP Waky.http > 192.168.0.101.57644: Flags [P.], seq 1:7301, ack 429, win 501, length 7300: HTTP: HTTP/1.1 200 OK
01:36:36.529705 IP 192.168.0.101.57644 > Waky.http: Flags [.], ack 1461, win 4106, length 0
01:36:36.529706 IP 192.168.0.101.57644 > Waky.http: Flags [.], ack 2921, win 4106, length 0
01:36:36.529706 IP 192.168.0.101.57644 > Waky.http: Flags [.], ack 4381, win 4106, length 0
01:36:36.529706 IP 192.168.0.101.57644 > Waky.http: Flags [.], ack 5841, win 4106, length 0
10 packets captured
1324 packets received by filter
188 packets dropped by kernel
Сначала идут несколько шагов обмена пакетами SYN и ACK между сервером и клиентом — синхронизации и установки соединения, затем пакеты передачи.
Отключение от сервера содержит пакеты FIN:
01:44:15.588251 IP 192.168.0.101.57699 > Waky.http: Flags [F.], seq 807, ack 2719178, win 4103, length 0
01:44:15.588253 IP 192.168.0.101.57700 > Waky.http: Flags [F.], seq 373, ack 607, win 4103, length 0
01:44:15.588612 IP Waky.http > 192.168.0.101.57699: Flags [F.], seq 2719178, ack 808, win 501, length 0
01:44:15.589117 IP 192.168.0.101.57699 > Waky.http: Flags [.], ack 2719179, win 4103, length 0
01:44:15.589272 IP Waky.http > 192.168.0.101.57700: Flags [F.], seq 607, ack 374, win 501, length 0
01:44:15.589949 IP 192.168.0.101.57700 > Waky.http: Flags [.], ack 608, win 4103, length 0
3. Захват трафика с конкретным IP‑адресом
Если мы проверяем связь между двумя узлами, удобно отслеживать все пакеты, связанные с конкретным адресом, например 192.168.0.152:
[root@Waky practice]# tcpdump host 192.168.0.152
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
01:48:39.108070 ARP, Request who-has Waky tell 192.168.0.152, length 46
01:48:39.108120 ARP, Reply Waky is-at 08:00:27:ed:14:19 (oui Unknown), length 28
01:48:39.108887 IP 192.168.0.152.47970 > Waky.http: Flags [S], seq 79711366, win 32120, options [mss 1460,sackOK,TS val 2176106522 ecr 0,nop,wscale 7], length 0
01:48:39.109044 IP Waky.http > 192.168.0.152.47970: Flags [S.], seq 236749213, ack 79711367, win 65160, options [mss 1460,sackOK,TS val 302749065 ecr 2176106522,nop,wscale 7], length 0
01:48:39.110775 IP 192.168.0.152.47970 > Waky.http: Flags [.], ack 1, win 251, options [nop,nop,TS val 2176106525 ecr 302749065], length 0
01:48:39.111890 IP 192.168.0.152.47970 > Waky.http: Flags [P.], seq 1:79, ack 1, win 251, options [nop,nop,TS val 2176106526 ecr 302749065], length 78: HTTP: HEAD / HTTP/1.1
01:48:39.111916 IP Waky.http > 192.168.0.152.47970: Flags [.], ack 79, win 509, options [nop,nop,TS val 302749068 ecr 2176106526], length 0
01:48:39.112740 IP Waky.http > 192.168.0.152.47970: Flags [P.], seq 1:246, ack 79, win 509, options [nop,nop,TS val 302749069 ecr 2176106526], length 245: HTTP: HTTP/1.1 200 OK
01:48:39.114053 IP 192.168.0.152.47970 > Waky.http: Flags [.], ack 246, win 250, options [nop,nop,TS val 2176106528 ecr 302749069], length 0
01:48:39.124588 IP 192.168.0.152.47970 > Waky.http: Flags [F.], seq 79, ack 246, win 250, options [nop,nop,TS val 2176106539 ecr 302749069], length 0
01:48:39.124904 IP Waky.http > 192.168.0.152.47970: Flags [F.], seq 246, ack 80, win 509, options [nop,nop,TS val 302749081 ecr 2176106539], length 0
01:48:39.125876 IP 192.168.0.152.47970 > Waky.http: Flags [.], ack 247, win 250, options [nop,nop,TS val 2176106540 ecr 302749081], length 0
01:48:44.237415 ARP, Request who-has 192.168.0.152 tell Waky, length 28
01:48:44.241176 ARP, Reply 192.168.0.152 is-at 08:00:27:6b:09:5a (oui Unknown), length 46
^C
14 packets captured
18 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
host 192.168.0.152 захватывает любые пакеты, где IP-адрес источника или назначения — 192.168.0.152.
Вы увидите сообщения о входящем и исходящем трафике, в моем случае tcpdump отловил curl запрос, который я отправил к веб серверу с указанного адреса.
Это могут быть TCP-сессии или любые другие пакеты, связанные с этим адресом.
4. Анализ протокола ICMP (например, ping)
Так мы можем отследить все ICMP-запросы и ответы:
[root@Waky practice]# tcpdump icmp
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
01:53:27.398412 IP 192.168.0.152 > Waky: ICMP echo request, id 1, seq 1, length 64
01:53:27.398525 IP Waky > 192.168.0.152: ICMP echo reply, id 1, seq 1, length 64
01:53:28.402338 IP 192.168.0.152 > Waky: ICMP echo request, id 1, seq 2, length 64
01:53:28.402505 IP Waky > 192.168.0.152: ICMP echo reply, id 1, seq 2, length 64
01:53:29.403893 IP 192.168.0.152 > Waky: ICMP echo request, id 1, seq 3, length 64
01:53:29.403991 IP Waky > 192.168.0.152: ICMP echo reply, id 1, seq 3, length 64
^C
6 packets captured
10 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
Я направил три пинга с другого сервера, мы можем видеть результат отлова пакетов. Их всего шесть — три пары запрос-ответ. Используя эти данные, можно проверить, отвечает ли устройство или есть задержки.
5. Сложные фильтры для точечного выбора
Допустим, нужно захватить только трафик, исходящий от IP адреса 192.168.0.152, и только на 80 порт нашего сервера:
[root@Waky practice]# tcpdump -n -i enp0s3 src 192.168.0.152 and dst port 80
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
04:36:54.288883 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [S], seq 111883442, win 32120, options [mss 1460,sackOK,TS val 2186201700 ecr 0,nop,wscale 7], length 0
04:36:54.291281 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [.], ack 2418446544, win 251, options [nop,nop,TS val 2186201703 ecr 312844245], length 0
04:36:54.292279 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [P.], seq 0:78, ack 1, win 251, options [nop,nop,TS val 2186201704 ecr 312844245], length 78: HTTP: HEAD / HTTP/1.1
04:36:54.294778 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [.], ack 246, win 250, options [nop,nop,TS val 2186201706 ecr 312844249], length 0
04:36:54.305541 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [F.], seq 78, ack 246, win 250, options [nop,nop,TS val 2186201717 ecr 312844249], length 0
04:36:54.306763 IP 192.168.0.152.50468 > 192.168.0.151.http: Flags [.], ack 247, win 250, options [nop,nop,TS val 2186201718 ecr 312844262], length 0
^C
6 packets captured
10 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
Использованные параметры:
-n — отключает преобразование IP-адресов в имена.
src 192.168.0.152 — пакеты иcходящие от этого IP.
dst port 80 — только пакеты, адресованные данному порту.
Такой фильтр удобно использовать, чтобы отслеживать конкретные соединения или операции. Как видите по выдаче, показаны только пакеты соответствующие запросу и отсутствуют лишние, например, ответы от сервера клиенту.
6. Сохранение и запись в файл
Даже при, казалось бы, небольшом трафике, идет активный обмен пакетами. Анализировать такой объем информации в реальном времени очень трудно. Поэтому, удобнее записать результат работы утилиты в файл, который будет доступен для дальнейшего анализа. Для этого используйте:
[root@Waky practice]# tcpdump -i enp0s3 -c 10 -w dump.pcap
dropped privs to tcpdump
tcpdump: listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10 packets captured
17 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
-w dump.pcap — сохранение в файл.
Полученный файл можно прочитать с помощью опции -r:
[root@Waky practice]# tcpdump -r dump.pcap
reading from file dump.pcap, link-type EN10MB (Ethernet), snapshot length 262144
dropped privs to tcpdump
04:48:37.203455 IP Waky.ssh > 192.168.0.101.57486: Flags [P.], seq 861445976:861446056, ack 4060500556, win 501, length 80
04:48:37.205734 IP 192.168.0.101.57486 > Waky.ssh: Flags [.], ack 80, win 513, length 0
04:48:37.205969 IP Waky.ssh > 192.168.0.101.57486: Flags [P.], seq 80:144, ack 1, win 501, length 64
04:48:37.206560 IP 192.168.0.101.57486 > Waky.ssh: Flags [.], ack 144, win 513, length 0
04:48:37.206773 IP Waky.ssh > 192.168.0.101.57486: Flags [P.], seq 144:208, ack 1, win 501, length 64
04:48:37.207530 IP 192.168.0.101.57486 > Waky.ssh: Flags [.], ack 208, win 512, length 0
04:48:37.207700 IP Waky.ssh > 192.168.0.101.57486: Flags [P.], seq 208:288, ack 1, win 501, length 80
04:48:37.208289 IP 192.168.0.101.57486 > Waky.ssh: Flags [.], ack 288, win 512, length 0
04:48:37.208663 IP Waky.ssh > 192.168.0.101.57486: Flags [P.], seq 288:368, ack 1, win 501, length 80
04:48:37.209050 IP 192.168.0.101.57486 > Waky.ssh: Flags [.], ack 368, win 512, length 0
[root@Waky practice]#
Или использовать графические инструменты, например Wireshark, для визуального анализа.
7. Просмотр содержимого пакета
По умолчанию программа показывает только заголовки пакетов, а для просмотра содержимого нужно использовать дополнительные параметры:
[root@Waky practice]# tcpdump -c 10 -i enp0s3 -n -A port 80
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
04:54:27.725300 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [S], seq 1494689366, win 32120, options [mss 1460,sackOK,TS val 2187255137 ecr 0,nop,wscale 7], length 0
E..<?z@.@.x..........b.PY.&V......}x.'.........
.^.a........
04:54:27.725445 IP 192.168.0.151.http > 192.168.0.152.41570: Flags [S.], seq 2391552061, ack 1494689367, win 65160, options [mss 1460,sackOK,TS val 313897682 ecr 2187255137,nop,wscale 7], length 0
E..<..@.@..<.........P.b..0=Y.&W...............
.....^.a....
04:54:27.727508 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [.], ack 1, win 251, options [nop,nop,TS val 2187255139 ecr 313897682], length 0
E..4?{@.@.x..........b.PY.&W..0>...........
.^.c....
04:54:27.728531 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [P.], seq 1:79, ack 1, win 251, options [nop,nop,TS val 2187255140 ecr 313897682], length 78: HTTP: HEAD / HTTP/1.1
E...?|@.@.xz.........b.PY.&W..0>.....2.....
.^.d....HEAD / HTTP/1.1
Host: 192.168.0.151
User-Agent: curl/7.76.1
Accept: */*
04:54:27.728556 IP 192.168.0.151.http > 192.168.0.152.41570: Flags [.], ack 79, win 509, options [nop,nop,TS val 313897685 ecr 2187255140], length 0
E..4..@.@............P.b..0>Y.&............
.....^.d
04:54:27.729431 IP 192.168.0.151.http > 192.168.0.152.41570: Flags [P.], seq 1:246, ack 79, win 509, options [nop,nop,TS val 313897686 ecr 2187255140], length 245: HTTP: HTTP/1.1 200 OK
E..)..@.@............P.b..0>Y.&............
.....^.dHTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Wed, 31 Dec 2025 01:54:27 GMT
Content-Type: text/html
Content-Length: 2713881
Last-Modified: Tue, 04 Jun 2024 22:57:12 GMT
Connection: keep-alive
ETag: "665f9bc8-296919"
Accept-Ranges: bytes
04:54:27.731024 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [.], ack 246, win 250, options [nop,nop,TS val 2187255142 ecr 313897686], length 0
E..4?}@.@.x..........b.PY.&...13...........
.^.f....
04:54:27.740858 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [F.], seq 79, ack 246, win 250, options [nop,nop,TS val 2187255152 ecr 313897686], length 0
E..4?~@.@.x..........b.PY.&...13...........
.^.p....
04:54:27.741185 IP 192.168.0.151.http > 192.168.0.152.41570: Flags [F.], seq 246, ack 80, win 509, options [nop,nop,TS val 313897697 ecr 2187255152], length 0
E..4..@.@............P.b..13Y.&............
.....^.p
04:54:27.744519 IP 192.168.0.152.41570 > 192.168.0.151.http: Flags [.], ack 247, win 250, options [nop,nop,TS val 2187255156 ecr 313897697], length 0
E..4?.@.@.x..........b.PY.&...14...........
.^.t....
10 packets captured
15 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
-A — вывод содержимого пакета в ASCII
Либо так:
[root@Waky practice]# tcpdump -c 10 -i enp0s3 -n -X port 80
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
04:58:29.841084 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [S], seq 2220261251, win 32120, options [mss 1460,sackOK,TS val 2187497252 ecr 0,nop,wscale 7], length 0
0x0000: 4500 003c 410d 4000 4006 772f c0a8 0098 E..<A.@.@.w/....
0x0010: c0a8 0097 b510 0050 8456 7f83 0000 0000 .......P.V......
0x0020: a002 7d78 7d46 0000 0204 05b4 0402 080a ..}x}F..........
0x0030: 8262 8f24 0000 0000 0103 0307 .b.$........
04:58:29.841223 IP 192.168.0.151.http > 192.168.0.152.46352: Flags [S.], seq 392746225, ack 2220261252, win 65160, options [mss 1460,sackOK,TS val 314139797 ecr 2187497252,nop,wscale 7], length 0
0x0000: 4500 003c 0000 4000 4006 b83c c0a8 0097 E..<..@.@..<....
0x0010: c0a8 0098 0050 b510 1768 d4f1 8456 7f84 .....P...h...V..
0x0020: a012 fe88 82ae 0000 0204 05b4 0402 080a ................
0x0030: 12b9 6495 8262 8f24 0103 0307 ..d..b.$....
04:58:29.842982 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [.], ack 1, win 251, options [nop,nop,TS val 2187497254 ecr 314139797], length 0
0x0000: 4500 0034 410e 4000 4006 7736 c0a8 0098 E..4A.@.@.w6....
0x0010: c0a8 0097 b510 0050 8456 7f84 1768 d4f2 .......P.V...h..
0x0020: 8010 00fb c4d4 0000 0101 080a 8262 8f26 .............b.&
0x0030: 12b9 6495 ..d.
04:58:29.844682 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [P.], seq 1:79, ack 1, win 251, options [nop,nop,TS val 2187497256 ecr 314139797], length 78: HTTP: HEAD / HTTP/1.1
0x0000: 4500 0082 410f 4000 4006 76e7 c0a8 0098 E...A.@.@.v.....
0x0010: c0a8 0097 b510 0050 8456 7f84 1768 d4f2 .......P.V...h..
0x0020: 8018 00fb 65f9 0000 0101 080a 8262 8f28 ....e........b.(
0x0030: 12b9 6495 4845 4144 202f 2048 5454 502f ..d.HEAD./.HTTP/
0x0040: 312e 310d 0a48 6f73 743a 2031 3932 2e31 1.1..Host:.192.1
0x0050: 3638 2e30 2e31 3531 0d0a 5573 6572 2d41 68.0.151..User-A
0x0060: 6765 6e74 3a20 6375 726c 2f37 2e37 362e gent:.curl/7.76.
0x0070: 310d 0a41 6363 6570 743a 202a 2f2a 0d0a 1..Accept:.*/*..
0x0080: 0d0a ..
04:58:29.844727 IP 192.168.0.151.http > 192.168.0.152.46352: Flags [.], ack 79, win 509, options [nop,nop,TS val 314139801 ecr 2187497256], length 0
0x0000: 4500 0034 2ea3 4000 4006 89a1 c0a8 0097 E..4..@.@.......
0x0010: c0a8 0098 0050 b510 1768 d4f2 8456 7fd2 .....P...h...V..
0x0020: 8010 01fd 82a6 0000 0101 080a 12b9 6499 ..............d.
0x0030: 8262 8f28 .b.(
04:58:29.845744 IP 192.168.0.151.http > 192.168.0.152.46352: Flags [P.], seq 1:246, ack 79, win 509, options [nop,nop,TS val 314139802 ecr 2187497256], length 245: HTTP: HTTP/1.1 200 OK
0x0000: 4500 0129 2ea4 4000 4006 88ab c0a8 0097 E..)..@.@.......
0x0010: c0a8 0098 0050 b510 1768 d4f2 8456 7fd2 .....P...h...V..
0x0020: 8018 01fd 839b 0000 0101 080a 12b9 649a ..............d.
0x0030: 8262 8f28 4854 5450 2f31 2e31 2032 3030 .b.(HTTP/1.1.200
0x0040: 204f 4b0d 0a53 6572 7665 723a 206e 6769 .OK..Server:.ngi
0x0050: 6e78 2f31 2e32 302e 310d 0a44 6174 653a nx/1.20.1..Date:
0x0060: 2057 6564 2c20 3331 2044 6563 2032 3032 .Wed,.31.Dec.202
0x0070: 3520 3031 3a35 383a 3239 2047 4d54 0d0a 5.01:58:29.GMT..
0x0080: 436f 6e74 656e 742d 5479 7065 3a20 7465 Content-Type:.te
0x0090: 7874 2f68 746d 6c0d 0a43 6f6e 7465 6e74 xt/html..Content
0x00a0: 2d4c 656e 6774 683a 2032 3731 3338 3831 -Length:.2713881
0x00b0: 0d0a 4c61 7374 2d4d 6f64 6966 6965 643a ..Last-Modified:
0x00c0: 2054 7565 2c20 3034 204a 756e 2032 3032 .Tue,.04.Jun.202
0x00d0: 3420 3232 3a35 373a 3132 2047 4d54 0d0a 4.22:57:12.GMT..
0x00e0: 436f 6e6e 6563 7469 6f6e 3a20 6b65 6570 Connection:.keep
0x00f0: 2d61 6c69 7665 0d0a 4554 6167 3a20 2236 -alive..ETag:."6
0x0100: 3635 6639 6263 382d 3239 3639 3139 220d 65f9bc8-296919".
0x0110: 0a41 6363 6570 742d 5261 6e67 6573 3a20 .Accept-Ranges:.
0x0120: 6279 7465 730d 0a0d 0a bytes....
04:58:29.846866 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [.], ack 246, win 250, options [nop,nop,TS val 2187497258 ecr 314139802], length 0
0x0000: 4500 0034 4110 4000 4006 7734 c0a8 0098 E..4A.@.@.w4....
0x0010: c0a8 0097 b510 0050 8456 7fd2 1768 d5e7 .......P.V...h..
0x0020: 8010 00fa c389 0000 0101 080a 8262 8f2a .............b.*
0x0030: 12b9 649a ..d.
04:58:29.857888 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [F.], seq 79, ack 246, win 250, options [nop,nop,TS val 2187497269 ecr 314139802], length 0
0x0000: 4500 0034 4111 4000 4006 7733 c0a8 0098 E..4A.@.@.w3....
0x0010: c0a8 0097 b510 0050 8456 7fd2 1768 d5e7 .......P.V...h..
0x0020: 8011 00fa c37d 0000 0101 080a 8262 8f35 .....}.......b.5
0x0030: 12b9 649a ..d.
04:58:29.858109 IP 192.168.0.151.http > 192.168.0.152.46352: Flags [F.], seq 246, ack 80, win 509, options [nop,nop,TS val 314139814 ecr 2187497269], length 0
0x0000: 4500 0034 2ea5 4000 4006 899f c0a8 0097 E..4..@.@.......
0x0010: c0a8 0098 0050 b510 1768 d5e7 8456 7fd3 .....P...h...V..
0x0020: 8011 01fd 82a6 0000 0101 080a 12b9 64a6 ..............d.
0x0030: 8262 8f35 .b.5
04:58:29.858657 IP 192.168.0.152.46352 > 192.168.0.151.http: Flags [.], ack 247, win 250, options [nop,nop,TS val 2187497270 ecr 314139814], length 0
0x0000: 4500 0034 4112 4000 4006 7732 c0a8 0098 E..4A.@.@.w2....
0x0010: c0a8 0097 b510 0050 8456 7fd3 1768 d5e8 .......P.V...h..
0x0020: 8010 00fa c36f 0000 0101 080a 8262 8f36 .....o.......b.6
0x0030: 12b9 64a6 ..d.
10 packets captured
14 packets received by filter
0 packets dropped by kernel
[root@Waky practice]#
-X — вывод содержимого пакета в шестнадцатеричном формате
Заключение
Tcpdump — это универсальный инструмент для получения подробной информации о сетевом трафике. Он помогает:
- Выявлять проблемы соединений
- Анализировать протоколы и содержимое
- Обнаруживать подозрительные активности
- Проводить мониторинг сетевых операций
Зная, как использовать фильтры, можно эффективно управлять объемом собираемых данных и фокусироваться на нужных аспектах сети.