как установить tcpdump linux

Как пользоваться tcpdump

Tcpdump ничем не хуже Wireshark, и имеет все необходимые возможности для анализа пакетов, к тому же вы можете сохранить все перехваченные пакеты в файл, чтобы анализировать их потом с помощью того же самого Wireshark. В этой статье мы рассмотрим как пользоваться tcpdump для перехвата сетевых пакетов.

Установка tcpdump

Во многих дистрибутивах команда tcpdump поставляется по умолчанию, но если в вашем дистрибутиве ее нет, то вы можете очень просто ее установить из официальных репозиториев. Например, в Ubuntu/Debian:

sudo apt install tcpdum p

В Fedora/Red Hat/CentOS:

sudo yum install tcpdump

Когда установка завершится, вы можете переходить к работе.

Команда tcpdump

Перед тем как перейти к примерам работы с утилитой, давайте рассмотрим ее синтаксис и основные опции. Команда имеет такой синтаксис:

При вызове обязательно нужно передать интерфейс, который будете отслеживать. Если интерфейс не указать, то будет использован первый в списке. Опции настраивают отображение и основные возможности утилиты, а фильтры позволяют отсеять ненужные пакеты. А теперь рассмотрим основные опции:

Это не все опции, но их вам будет вполне достаточно для решения большинства задач. Чаще мы будем применять фильтры. С помощью фильтров вы можете отсеивать только те типы пакетов, которые хотите видеть. Вы можете фильтровать по ip адресу, протоколу, сети, интерфейсу и многим другим параметрам. Но фильтры tcpdump мы будем рассматривать уже на примерах.

Как пользоваться tcpdump

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Начнем рассматривать примеры tcpdump с захвата трафика на интерфейсе eth0, у меня это основной интерфейс, который подключен к интернету. Для работы программе необходимы права суперпользователя, поэтому не забудьте указать sudo:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Чтобы остановить работу команды нажмите Ctrl+C. В выводе вы сразу же увидите все перехваченные пакеты. Формат записи для каждого пакета будет выглядеть следующим образом:

13:03:41.795599 IP udp032919uds.hawaiiantel.net.6881 > 192.168.1.2.52055 : Flags [.], seq 640160396:640161844, ack 436677393, win 2050, options [nop,nop,TS val 3805626438 ecr 4677385], length 1448

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Здесь уже появляется информация о протоколе IP:

После опций вы можете указывать фильтры для пакетов. Вот основные параметры, по которым можно отсеивать пакеты:

Вы можете все это комбинировать между собой, чтобы получить желаемый результат. Рассмотрим более детально на примерах. Отсеем только пакеты, адресованные нашему компьютеру:

Также мы можем отобрать пакеты, отправляемые на определенный узел:

Как видите, это DNS пакеты и здесь вместо флагов TCP содержится полезная информация, запрос ip адреса хоста. Также вы можете выбрать ответные пакеты от определенного хоста:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linuxС помощью оператора and вы можете объединить несколько фильтров в один:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Из операций объедения доступны and и or, также можно применять скобки для обозначения приоритета. Вам необязательно указывать host, во многих случаях достаточно src или dst, утилита сама поймет что имелось в виду. Точно такую же конструкцию можно использовать для портов. Например, мы можем отсеять все запросы или ответы к DNS (на порт 53):

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Точно такое же можно провернуть для http (порт 80):

Естественно, тут тоже можно применять dst и src для более конкретных результатов. Вы можете фильтровать не один порт, а целый диапазон портов:

sudo tcpdump portrange 21-23

Если указать один из протоколов, вы отфильтруете только пакеты этого протокола, например tcp, udp или arp:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Точно также можно выбрать все udp пакеты:

Также доступен фильтр по обозначению сети:

sudo tcpdump net 129.168.1.1/24

Кроме того, вы можете фильтровать пакеты по их размеру, например, меньше 32 байт:

sudo tcpdump less 32

tcpdump greater 128

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Выводы

В этой статье мы рассмотрели как пользоваться tcpdump. Это очень мощный сетевой анализатор, который работает только через командную строку. Надеюсь, эта информация была полезной для вас и теперь использование tcpdump будет намного проще, если у вас остались вопросы, спрашивайте в комментариях!

На завершение видео с лекцией о tcpdump:

Источник

Команда tcpdump в Linux

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

Несмотря на название, с помощью tcpdump вы также можете захватывать не-TCP трафик, такой как UDP, ARP или ICMP. Перехваченные пакеты можно записать в файл или на стандартный вывод. Одной из самых мощных функций команды tcpdump является ее способность использовать фильтры и собирать только те данные, которые вы хотите анализировать.

В этой статье мы рассмотрим основы использования команды tcpdump в Linux.

Установка tcpdump

tcpdump установлен по умолчанию в большинстве дистрибутивов Linux и macOS. Чтобы проверить, доступна ли команда tcpdump в вашей системе, введите:

Результат должен выглядеть примерно так:

Если tcpdump отсутствует в вашей системе, приведенная выше команда напечатает «tcpdump: команда не найдена». Вы можете легко установить tcpdump с помощью диспетчера пакетов вашего дистрибутива.

Установка tcpdump в Ubuntu и Debian

Установка tcpdump на CentOS и Fedora

Установка tcpdump в Arch Linux

Захват пакетов с помощью tcpdump

Общий синтаксис команды tcpdump следующий:

Самый простой вариант использования — вызвать tcpdump без каких-либо опций и фильтров:

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

После захвата пакетов tcpdump остановится.

Если интерфейс не указан, tcpdump использует первый найденный интерфейс и выгружает все пакеты, проходящие через этот интерфейс.

Для каждого интерфейса команда выводит имя интерфейса, краткое описание и соответствующий индекс (номер):

Приведенные выше выходные данные показывают, что ens3 — это первый интерфейс, обнаруженный tcpdump и используемый, когда команде не предоставлен интерфейс. Второй интерфейс any — это специальное устройство, позволяющее захватывать все активные интерфейсы.

Вместо отображения вывода на экране вы можете перенаправить его в файл с помощью операторов перенаправления > и >> :

Вы также можете просматривать данные при сохранении в файл с помощью команды tee :

Понимание вывода tcpdump

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

Типичный формат строки протокола TCP выглядит следующим образом:

Пойдем по полю и объясним следующую строку:

IP — пакетный протокол. В данном случае IP означает Интернет-протокол версии 4 (IPv4).

Flags [P.] — поле TCP Flags. В этом примере [P.] означает пакет подтверждения push, который используется для подтверждения предыдущего пакета и отправки данных. Другие типичные значения поля флага следующие:

ack 1226568763 Номер подтверждения — это порядковый номер следующих данных, ожидаемых на другом конце этого соединения.

win 402 — Номер окна — это количество доступных байтов в приемном буфере.

length 108 — длина данных полезной нагрузки

tcpdump фильтры

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

tcpdump использует синтаксис Berkeley Packet Filter (BPF) для фильтрации перехваченных пакетов с использованием различных параметров обработки, таких как протоколы, IP-адреса и порты источника и назначения и т. д.

Фильтрация по протоколу

Чтобы ограничить захват определенным протоколом, укажите этот протокол как фильтр. Например, чтобы захватить только трафик UDP, вы должны запустить:

Фильтрация по хосту

Чтобы захватить только пакеты, относящиеся к определенному хосту, используйте квалификатор host :

Хостом может быть IP-адрес или имя.

Фильтрация по порту

portrange позволяет захватывать трафик в диапазоне портов:

Фильтрация по источнику и назначению

Следующая команда захватывает приходящие пакеты от хоста с IP 192.168.1.185:

Чтобы найти трафик, поступающий из любого источника на порт 80, вы должны использовать:

Комплексные фильтры

Например, чтобы захватить весь HTTP-трафик, поступающий с исходного IP-адреса 192.168.1.185, вы должны использовать эту команду:

Вы также можете использовать круглые скобки для группировки и создания более сложных фильтров:

Чтобы избежать ошибок синтаксического анализа при использовании специальных символов, заключайте фильтры в одинарные кавычки.

Вот еще один пример команды для захвата всего трафика, кроме SSH, с исходного IP-адреса 192.168.1.185:

Инспекция пакетов

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

tcpdump позволяет печатать содержимое пакетов в ASCII и HEX.

Чтение и запись снимков в файл

Еще одна полезная функция tcpdump — записывать пакеты в файл. Это удобно, когда вы захватываете большое количество пакетов или захватываете пакеты для последующего анализа.

Файл захвата также можно проверить с помощью других инструментов анализатора пакетов, таких как Wireshark.

После создания десяти файлов старые файлы будут перезаписаны.

Обратите внимание, что запускать tcpdump только во время устранения неполадок.

Выводы

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

linux-notes.org

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Установка и использование tcpdump

Хотелось бы поговорить в данной теме «установка и использование tcpdump» об установке tcpdump, а так же как им пользоваться и для чего он нужен.

С помощью tcpdump можно:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Чтобы установить tcpdump на debian/ubuntu/linux mint нужно выполнить:

Для того чтобы установить tcpdump на RedHat/CentOS/Fedora используйте:

Для того чтобы установить tcpdump на MacOS используйте.

Использование tcpdump.

Чтобы проверить работает ли у нас tcpdump можно выполнить команду:

Существует довольно много ключей для использования самой утилиты tcpdump, приведу список распространенных:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

основные ключи для использования tcpdump

Если нужно узнать какими пакетами обменивается 21 сервера ( например your_server_1 и your_server_2), то для этого служит команда:

Если нужно отслеживать только исходящие пакеты из хоста, то выполните:

Если нужно отслеживать только входящие пакеты из хоста, то выполните:

Так же можно прослушивать исходящие или входящие пакеты с сервера и по определенному порту для этого просто добавьте порт который нужно прослушивать ( в основном используется 80, 8080).

См. список интерфейсов, по которым tcpdumt можете слушать:

Слушать интерфейс eth0:

Слушать на любом доступном интерфейсе (Требуется ядро Linux версии 2.2 или выше):

Вывод всего на экран (все что выполняется программой):

Вывод много чего на экран (все что выполняется программой):

Вывод очень много всего на экран (все что выполняется программой):

Выводить не сильно много информации когда идет захват пакетов (не как стандартный):

Ограничить захват пакетов до 100:

Записать все данные (перехваченные пакеты) в файл с именем capture.cap:

Записать все данные (перехваченные пакеты) в файл с именем capture.cap и вывести на экран в режиме реального времени:

Вывод пакетов с файла capture.cap:

Вывод пакетов с файла capture.cap используя максимально много информации:

Вывод IP и порты вместо доменов идет захват пакетов:

Захват любых пакетов c хоста 192.138.1.1. Вывод ИП и порты на экран:

Захват любых пакетов c хоста 192.138.1.1. Вывод ИП и порты на экран:

Захват пакетов где сеть 192.138.1.0/24. Вывод ИП и порты на экран:

Захват пакетов с сети 192.138.1.0/24. Вывод ИП и порты на экран:

Захват пакетов с сети 192.138.1.0/24. Вывод ИП и порты на экран:

Захват пакетов с порта 23. Вывод ИП и порты на экран:

Захват пакетов с портов 1 по 1023. Вывод ИП и порты на экран:

Захватывать только TCP пакеты где destination на портах 1 по 1023. Вывод ИП и порты на экран:

Захватывать только UDP пакеты где destination на портах 1 по 1023. Вывод ИП и порты на экран:

Захват пакетов с destination где ИП 192.138.1.1 и destination порт которого 23. Вывод на экран:

Захват пакетов с destination где ИП 192.138.1.1 и destination по портам 80 или 443. Выводим на экран:

Захват любых ICMP пакетов:

Захват любых ARP пакетов:

Захват любых ICMP или ARP пакетов:

Захват любых пакетов которые broadcast или multicast:

Захват больших пакетов (500 байт) а не стандартных 68б:

Захват всех байт данных в пакете:

Просмотр «тяжелых пакетов»:

Захват пакетов ICMP с ping и pong:

Вывод без многих вариантов:

Основные коммуникации (очень подробный режим), можно увидеть хороший объем трафика, с многословием:

Просмотр тяжелого пакета и увеличивает snaplength, захватывая весь пакет:

Вы можете также фильтровать на основе определенных частей пакета, а также объединить несколько условий в группы. Это полезно при поиске только SYNs или РСТ, например, и последний для еще более расширенный изоляцией трафика.

Показать мне все URGENT (URG) пакеты:

Показать мне всеACKNOWLEDGE (ACK) пакеты:

Показать мне все PUSH (PSH) пакеты:

Показать мне все RESET (RST) пакеты:

Показать мне все SYNCHRONIZE (SYN) пакеты:

Показать мне все FINISH (FIN) пакеты:

Показать мне все SYNCHRONIZE/ACKNOWLEDGE (SYNACK) пакеты:

Захват TCP Flags используя tcpflags:

Пакеты с RST и SYN флагами (проверка):

Траффик с ‘Evil Bit'(проверка):

На этом я завершу свою статью «установка и использование tcpdump», надеюсь все ясно и понятно. Спасибо за использование моего интернет ресурса http://linux-notes.org

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Используем tcpdump для анализа и перехвата сетевого трафика

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

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

Вывод tcpdump

Утилита tcpdump позволяет проверять заголовки пакетов TCP/IP и выводить одну строку для каждого из пакетов. Она будет делать это до тех пор, пока не нажать Ctrl + C.

Давайте рассмотрим одну строку из примера вывода:

Каждая строка включает:

Установка tcpdump

В дистрибутивах на основе Debian tcpdump можно установить с помощью команды APT:

В дистрибутивах на основе RPM tcpdump можно установить с помощью YUM:

В RHEL 8 с использование DNF:

Опции tcpdump

Запускать tcpdump нужно с правами root. Tcpdump включает в себя множество опций и фильтров. При запуске tcpdump без каких-либо параметров произойдет перехват всех пакетов, проходящих через интерфейс по умолчанию.

Вывести список доступных системе сетевых интерфейсов, в которых tcpdump может захватывать пакеты:

Очень полезно для систем, в которых нет команды для вывода списка интерфейсов.

По умолчанию tcpdump преобразует IP-адреса в имена хостов, а также использует имена служб вместо номеров портов.

Фильтры tcpdump

Фильтр выражений

Фильтр выражений выбирает, какие заголовки пакетов будут отображаться. Если фильтры не применяются, отображаются все заголовки пакетов.

Самые распространенные фильтры :

Фильтр портов

Фильт портов используется для просмотра пакетов, поступающих на определенный порт:

Фильтр хостов

Для перехвата пакетов, приходящих или исходящих от определенного хоста. Например, IP-адрес 10.0.2.15:

Для перехвата пакетов определенных типов протоколов. Например, icmp, на интерфейсе eth1:

Комбинирование фильтров

Фильтры можно комбинировать с помощью операторов:

Это позволит писать команды, которые могут более точно изолировать пакеты. Например, пакеты с определенного IP-адреса и для определенного порта:

Если нужно перехватить все пакеты кроме ICMP, используем оператор NOT:

Сохранение заголовков в файл

Вывод tcpdump может довольно быстро перемещаться по экрану. В таких случаях можно сохранить заголовки пакетов в файле с опцией -w. Вывод сохраняется в файлы с расширением .pcap.

Следующая команда сохраняет 10 строк вывода интерфейса eth1 в icmp.pcap.

Прочитать этот файл можно с помощью опции -r

Просмотр сведений о пакете

Пока мы видели только заголовки пакетов, а для просмотра содержимого нужно использовать параметр -A. Вывод содержимого будет в формате ASCII.

С помощью опции -X можно отобразить вывод в шестнадцатеричном формате, правда, это не сильно помогает в тех случаях, когда соединение зашифровано.

Вывод

Утилита tcpdump проста в настройке и освоении. Необходимо лишь немного разобраться с:

После чего tcpdump станет отличным помощником в вопросах обеспечения безопасности вашей сети.

Источник

Примеры tcpdump в Linux

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Если вам необходимо проанализировать или перехватить сетевые пакеты в Linux, то лучше всего для этого использовать консольную утилиту tcpdump. Но проблема возникает в довольно сложном ее управлении. Рядовому пользователю покажется, что работать с утилитой неудобно, но это только на первый взгляд. В статье будет рассказано, как устроена tcpdump, какой синтаксис она имеет, как ей пользоваться, а также будут приведены многочисленные примеры ее использования.

Читайте также: Руководства по настройке интернет-соединения в Ubuntu, Debian, Ubuntu Server

Установка

Большинство разработчиков операционных систем на базе Linux включают утилиту tcpdump в список предустановленных, но если по какой-то причине она в вашем дистрибутиве отсутствует, ее можно всегда скачать и установить через «Терминал». Если у вас ОС основана на Debian, а это Ubuntu, Linux Mint, Kali Linux и им подобные, нужно выполнить эту команду:

sudo apt install tcpdump

При установке вам нужно ввести пароль. Обратите внимание, что при наборе он не отображается, также для подтверждения установки нужно ввести символ «Д» и нажать Enter.

Если у вас Red Hat, Fedora или CentOS, то команда для установки будет иметь следующий вид:

sudo yam install tcpdump

После того как утилита будет установлена, ей сразу же можно пользоваться. Об этом и о многом другом будет рассказано дальше по тексту.

Синтаксис

Как и любая другая команда, tcpdump имеет свой синтаксис. Зная его, вы сможете задавать все необходимые параметры, которые будут учитываться при выполнении команды. Синтаксис имеет следующий вид:

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

Опции

Хоть опцию и не обязательно указывать, перечислить доступные все же нужно. В таблице продемонстрирован не весь их список, а только наиболее популярные, но их с лихвой хватит, чтобы решить большинство поставленных задач.

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

Фильтры

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

ФильтрОпределение
hostСлужит для указания имени хоста
netУказывает IP подсети и сети
ipСлужит для указания адреса протокола
srcВыводит пакеты, которые были отправлены с указанного адреса
dstВыводит пакеты, которые были получены указанным адресом
arp, udp, tcpФильтрация по одному из протоколов
portОтображает информацию, относящуюся к определенному порту
and, orСлужит для объединения нескольких фильтров в команде
less, greaterВывод пакетов меньше или больше указанного размера

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

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

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

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

Рекомендуется каждому пользователю изначально проверить список всех его сетевых интерфейсов, которые можно отследить. Из вышеприведенной таблицы мы знаем, что для этого нужно использовать опцию -D, поэтому в терминале выполните следующую команду:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как вы можете заметить, в примере есть восемь интерфейсов, которые можно просмотреть с помощью команды tcpdump. В статье будут приводиться примеры с ppp0, вы же можете использовать любой другой.

Обычный захват трафика

Если нужно отследить один сетевой интерфейс, то сделать это вы можете с помощью опции -i. Не забудьте после ее ввода указать наименование интерфейса. Вот пример выполнения такой команды:

Обратите внимание: перед самой командой нужно вписать «sudo», так как она требует права суперпользователя.

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Примечание: после нажатия Enter в «Терминале» беспрерывно будут отображаться перехваченные пакеты. Чтобы остановить их поток, нужно нажать комбинацию клавиш Ctrl+C.

Если вы выполняете команду без дополнительных опций и фильтров, то увидите следующий формат отображения отслеженных пакетов:

22:18:52.597573 IP vrrp-topf2.p.mail.ru.https > 10.0.6.67.35482 : Flags [P.], seq 1:595, ack 1118, win 6494, options [nop,nop,TS val 257060077 ecr 697597623], length 594

Где цветом выделено:

Этот синтаксис имеет возможность вывода в окне «Терминала» без использования дополнительных опций.

Как известно из таблицы, опция -v позволяет увеличить количество информации. Разберем на примере. Проверим тот же интерфейс:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Здесь можно заметить, что появилась следующая строка в выводе:

Где цветом выделено:

Также в синтаксис команды вы можете прописать опцию -vv или -vvv, что позволит еще больше увеличить объем выводимой информации на экран.

В таблице опций упоминалось о возможности сохранять все выводимые данные в отдельный файл, чтобы позже их можно было просмотреть. За это отвечает опция -w. Пользоваться ей довольно просто, всего-навсего укажите ее в команде, а затем впишите название будущего файла с расширением «.pcap». Рассмотрим все на примере:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Обратите внимание: во время записи логов в файл на экране «Терминала» не отображается никакой текст.

Когда вы захотите просмотреть записанный вывод, необходимо использовать опцию -r, после которой написать название ранее записанного файла. Применяется она без других опций и фильтров:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Обе эти опции отлично подойдут в тех случаях, когда необходимо сохранить большие объемы текста для последующего разбора.

Фильтрация по IP

Из таблицы фильтров мы знаем, что dst позволяет вывести на экран консоли только те пакеты, которые были получены адресом, что указан в синтаксисе команды. Таким образом очень удобно просматривать пакеты, полученные вашим компьютером. Для этого в команде нужно всего лишь указать свой IP-адрес:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как можно заметить, помимо dst, в команде мы прописали также фильтр ip. Другими словами, мы сказали компьютеру, чтобы при отборе пакетов он обращал внимание на их IP адрес, а не на другие параметры.

По IP можно отфильтровать и отправляемые пакеты. В примере приведем снова наш IP. То есть сейчас мы отследим, какие пакеты отправляются с нашего компьютера на другие адреса. Для этого нужно выполнить следующую команду:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как можно заметить, в синтаксисе команды мы изменили фильтр dst на src, тем самым сказав машине, чтобы она искала отправителя по IP.

Фильтрация по HOST

По аналогии с IP в команде мы можем указать фильтр host, чтобы отсеять пакеты с интересующим хостом. То есть в синтаксисе вместо IP-адреса отправителя/получателя нужно будет указывать его хост. Выглядит это следующим образом:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

На изображении можно увидеть, что в «Терминале» отображаются только те пакеты, которые были отправлены с нашего IP на хост google.com. Как можно понять, вместо хоста google, можно вписать любой другой.

Как и в случае с фильтрацией по IP, в синтаксисе dst можно заменить на src, чтобы увидеть пакеты, которые отправляются на ваш компьютер:

Обратите внимание: фильтр host должен стоять после dst или src, иначе команда выдаст ошибку. В случае с фильтрацией по IP, наоборот, dst и src стоят перед фильтром ip.

Применение фильтра and и or

Если у вас появляется необходимость использовать сразу несколько фильтров в одной команде, то для этого нужно применять фильтр and или or (зависит от случая). Указывая фильтры в синтаксисе и разделяя их этими оператором, вы «заставите» работать их как один. На примере это выглядит следующим образом:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Из синтаксиса команды видно, что мы хотим вывести на экран «Терминала» все пакеты, которые были отправлены на адрес 95.47.144.254 и пакеты, полученные этим же адресом. Также вы можете изменять некоторые переменные в этом выражении. Например, вместо IP указать HOST или заменить непосредственно сами адреса.

Фильтр port и portrange

Фильтр port отлично подойдет в тех случаях, когда нужно получить информацию о пакетах с определенным портом. Так, если вам нужно увидеть лишь ответы или запросы DNS, нужно указать порт 53:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Если вы хотите просмотреть пакеты http, нужно ввести порт 80:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Помимо прочего, есть возможность отследить сразу диапазон портов. Для этого применяется фильтр portrange:

sudo tcpdump portrange 50-80

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как можно заметить, в связке с фильтром portrange не обязательно указывать дополнительные опции. Достаточно всего лишь задать диапазон.

Фильтрация по протоколам

Вы также можете вывести на экран только тот трафик, который соответствует какому-либо протоколу. Для этого нужно использовать в качестве фильтра наименование этого самого протокола. Разберем на примере udp:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как можно увидеть на изображении, после выполнения команды в «Терминале» отобразились лишь пакеты с протоколом udp. Соответственно, вы можете осуществить фильтрацию и по другим, например, arp:

Фильтр net

Оператор net помогает отфильтровать пакеты, беря за основу обозначение их сети. Пользоваться им так же просто, как и остальными — нужно в синтаксисе указать атрибут net, после чего вписать адрес сети. Вот пример такой команды:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Фильтрация по размеру пакета

Мы не рассмотрели еще два интересных фильтра: less и greater. Из таблицы с фильтрами мы знаем, что они служат для вывода пакетов данных больше (less) или меньше (greater) размера, указанного после ввода атрибута.

Допустим мы хотим следить лишь за пакетами, которые не превышают отметку в 50 бит, тогда команда будет иметь следующий вид:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Теперь давайте отобразим в «Терминале» пакеты, размер которых больше 50 бит:

как установить tcpdump linux. Смотреть фото как установить tcpdump linux. Смотреть картинку как установить tcpdump linux. Картинка про как установить tcpdump linux. Фото как установить tcpdump linux

Как можно заметить, применяются они одинаково, разница лишь в названии фильтра.

Заключение

По окончании статьи можно сделать вывод, что команда tcpdump — это отличный инструмент, с помощью которого можно отследить любой передаваемый по интернету пакет данных. Но для этого недостаточно просто ввести саму команду в «Терминал». Добиться желаемого результата получится только в случае, если использовать всевозможные опции и фильтры, а также их комбинации.

Помимо этой статьи, на сайте еще 12405 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Добавить комментарий

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