Главная страница » Tcpdump linux примеры

Tcpdump linux примеры

Tcpdump is a powerful command-line packet analyzer that allows you to capture and analyze network traffic. It’s a fundamental tool for network troubleshooting, security auditing, and protocol analysis on Linux and other Unix-like systems. Here are some common tcpdump examples to get you started:

Basic Usage:

    Capture all traffic on the default interface (often Eth0 or Wlan0):

· sudo tcpdump

This will display all network traffic flowing through your default network interface. It can be overwhelming, so you’ll usually want to filter the traffic. Press Ctrl+C to stop the capture.

    Capture traffic on a specific interface:

· sudo tcpdump — i eth0 # Capture traffic on the eth0 interface

Replace eth0 with the name of the interface you want to monitor (use ifconfig — a or ip link show to list available interfaces).

Фильтрация Трафика:

Настоящая сила tcpdump заключается в его способности фильтровать трафик по различным критериям.

    Фильтр по хосту (IP-адресу):

· sudo tcpdump host 192.168.1.100

Это позволит перехватывать весь трафик, поступающий на IP-адрес или исходящий от него 192.168.1.100.

    Фильтр по исходному хосту:

· sudo tcpdump src host 192.168.1.100

Это позволит перехватывать трафик, исходящий от IP-адреса 192.168.1.100.

    Фильтр по целевому хосту:

· sudo tcpdump dst host 192.168.1.100

Это позволит перехватывать трафик, предназначенный для IP-адреса 192.168.1.100.

    Фильтр по сети:

· sudo tcpdump net 192.168.1.0/24

Это позволит перехватывать трафик в сеть 192.168.1.0/24 (все IP-адреса в диапазоне) или из неё.

    Фильтровать по порту:

· sudo tcpdump port 80 # Capture traffic on port 80 (HTTP)

Это позволит перехватить весь трафик, поступающий на порт 80 или из него.

    Фильтр по порту источника:

· sudo tcpdump src port 1024-65535 # Capture traffic originating from ephemeral ports (1024-65535)

    Фильтр по порту назначения:

· sudo tcpdump dst port 443 # Capture traffic destined for port 443 (HTTPS)

    Фильтровать по протоколу:

· sudo tcpdump icmp # Capture ICMP traffic (ping)

· sudo tcpdump tcp # Capture TCP traffic

· sudo tcpdump udp # Capture UDP traffic

    Комбинируйте фильтры, используя AndOr и Not:

· sudo tcpdump host 192.168.1.100 and port 80 # Capture traffic to/from 192.168.1.100 on port 80

· sudo tcpdump host 192.168.1.100 or port 53 # Capture traffic to/from 192.168.1.100 OR on port 53 (DNS)

· sudo tcpdump not port 22 # Capture all traffic except SSH (port 22)

Сохранение данных захвата в файл:

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

· sudo tcpdump — i eth0 — w capture. pcap # Capture to capture. pcap file

Это позволяет сохранять захваченные пакеты в файл с именем capture. pcap. Затем вы можете проанализировать этот файл с помощью tcpdump или других инструментов для анализа пакетов, таких как Wireshark. Не забудьте остановить захват с помощью Ctrl+C.

    Чтение файла pcap:

· tcpdump — r capture. pcap

Расширенные параметры:

    -v-vv-vvv: увеличьте детализацию для более детального вывода.

      sudo tcpdump — vvv — i eth0 port 80 Предоставляет очень подробную информацию о HTTP-пакетах.

    -x: Выведите данные пакета в шестнадцатеричном формате.

· sudo tcpdump — x — i eth0 port 80

    -X: Выводит данные пакета в шестнадцатеричном формате и в формате ASCII. Очень полезно для изучения содержимого HTTP-запросов и ответов.

· sudo tcpdump — X — i eth0 port 80

    -s snaplen: Укажите длину снимка (количество байтов, которые нужно захватить из каждого пакета). По умолчанию часто используется 68 или 96 байт, которых может быть недостаточно для захвата всего пакета. Используйте -s 0 для захвата всего пакета (будьте готовы к снижению производительности и нехватке места для хранения).

· sudo tcpdump — i eth0 — s 0 — w capture. pcap # Capture the entire packet

    -c count: захватывать только определенное количество пакетов.

· sudo tcpdump — i eth0 — c 10 — w capture. pcap # Capture 10 packets

    -n: Не разрешайте имена хостов или номера портов (быстрее, показывает необработанные IP-адреса и номера портов).

· sudo tcpdump — n — i eth0 host 192.168.1.100

    -q: Будьте менее многословны (спокойны).

Примеры с общими протоколами:

    Захват DNS-трафика:

· sudo tcpdump — i eth0 port 53

    Захват SSH-трафика:

· sudo tcpdump — i eth0 port 22

    Захват HTTP-запросов GET:

· sudo tcpdump — i eth0 — X — s 0 ‘tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420’ # GET

(Этот фильтр ищет строку «GET» в начале HTTP-запроса. Это сложный фильтр, но он может быть полезен для выделения HTTP-запросов GET).

    Захват HTTP-запросов POST:

· sudo tcpdump — i eth0 — X — s 0 ‘tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354’ # POST

    Захват определенного HTTP-пользовательского агента:

· sudo tcpdump — i eth0 — X — s 0 ‘tcp[20:2] > 0 and tcp[20:2] < 1500’ | grep — A 2 "User-Agent: Mozilla"

Важные соображения:

    Разрешения: для перехвата сетевого трафика обычно требуются права суперпользователя (с помощью sudo). Производительность: сбор всего трафика может быть ресурсозатратным, особенно в загруженных сетях. Используйте фильтры, чтобы сузить круг интересующего вас трафика. Конфиденциальность: будьте внимательны к данным, которые вы собираете. Сетевой трафик может содержать конфиденциальную информацию, такую как пароли, имена пользователей и номера кредитных карт. Собирайте только тот трафик, для анализа которого у вас есть законные основания, и принимайте меры для защиты собранных данных. Wireshark: для более глубокого анализа рассмотрите возможность использования Wireshark — графического анализатора пакетов, который может считывать файлы pcap, созданные tcpdump. Wireshark предоставляет удобный интерфейс для изучения пакетов, фильтрации трафика и анализа протоколов.

Эти примеры должны стать для вас хорошей отправной точкой для использования tcpdump. Поэкспериментируйте с различными фильтрами и опциями, чтобы фиксировать именно тот трафик, который вам нужно проанализировать. Не забудьте обратиться к странице tcpdump руководства (man tcpdump) для получения более подробной информации.

аватар

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх