Мониторинг сети с помощью tcpdump.
Life-Hack - Linux/Хакинг/Хакер/ИБ/OsintВ современном мире сетевой трафик играет ключевую роль в повседневной жизни. Из-за его важности и разнообразия необходимо иметь надежное и мощное средство для его анализа. В данной статье мы рассмотрим tcpdump — утилиту командной строки, которая позволяет захватывать и изучать пакеты данных, передаваемые по сети.
Tcpdump дает возможность отслеживать и анализировать передаваемую информацию в режиме реального времени. Его использование распространено в различных областях, таких как мониторинг сети, тестирование сетевых приложений и выявление сетевых проблем.
Одним из ключевых преимуществ tcpdump является его мощная и гибкая функциональность, поддерживающая множество различных протоколов, включая TCP, UDP, ICMP, ARP и другие. Благодаря этому, tcpdump может быть использован для мониторинга различных сетевых приложений, таких как SIP-телефония или Cisco VoIP-системы.
Еще одним важным преимуществом tcpdump является возможность фильтрации как исходящего, так и входящего трафика на основе определенных правил. Например, вы можете настроить tcpdump для отображения только пакетов, направленных на конкретный порт или с определенным IP-адресом отправителя или получателя. Это упрощает процесс анализа путем концентрации на нужной информации.
Кроме того, tcpdump предоставляет возможность сохранять захваченные пакеты в файлы дампа, которые могут быть проанализированы в любое удобное время. Это чрезвычайно полезно при решении проблем сетевого соединения или при изучении атак на сетевую инфраструктуру.
Основной перечень опций, поддерживаемых утилитой:
- «-A» – для выведения всех пакетов (формат ASCII).
- «-c» – для закрытия утилиты после перехвата определенного количества сетевых пакетов.
- «-C» - для записи обнаруженных сетевых пакетов в единый файл, проверки его размера. Если он будет больше заданных пользователем параметров, появляется возможность создания нового файла.
- «-D» - для выведения списка всех сетевых интерфейсов, которые доступны для пользователя.
- «-e» - для выведения информации об уровне соединения для каждого отдельного пакета. Такая опция может оказаться полезной в том случае, когда пользователю нужно увидеть MAC-адрес.
- «-f» - для выведения доменного имени для каждого отдельного IP-адреса.
- «-F» - для прочтения и тщательного изучения пакетов именно из файла, а не из интерфейса.
- «-G» - для создания нового файла спустя определенный временной промежуток.
- «-H» - для обнаружения и изучения заголовков «802.11s».
- «-i» - для указания имени интерфейса при последующей перехватке пакетов. У пользователя появляется возможность захватить пакет с различных интерфейсов после прописывания any.
- «-I» - для переключения интерфейса в режим монитора. В последующем будут перехвачены все проходящие пакеты.
- «-j» - для установки формата Timestamp, который предназначен для последующего сохранения пакетов.
- «-J» - для просмотра Timestamp, которые доступны на данный момент времени.
- «-K» - для исключения вероятности проверки контрольных сумм пакетов.
- «-l» - для добавления поддержки прокрутки, используемой совместно с выводом.
- «-L» - для выведения поддерживаемых протоколов, предназначенных для подключения интерфейса.
- «-n» - для исключения вероятности отображения доменных имен.
- «-r» - для прочтения специализированных пакетов из фалов, которые созданы с использованием «-w».
- «-v», «-vv», « -vvv» - для более подробного вывода требуемой информации.
- «-q» - для выведения минимального количества данных.
- «-w» - для записи вывода в определенный файл.
- «-Z» - для просмотра пользователя, от имени которого в последующем создаются файлы.
При указании требуемой команды требуется обязательно прописывать фильтры, которые позволят увидеть только те пакеты, необходимые пользователю. Фильтровать получаемую информацию можно различными способами – по протоколу, пот типу сети, по интерфейсу, по IP-адресу и многому другому.
После указания определённых опций, рассмотрим фильтры. Пользователю доступно несколько параметров, позволяющих отсеивать ненужную информацию:
- «host» - по названию хоста.
- «ip» - по IP-адресу.
- «proto» - по протоколу.
- «net» - по адресу определенной сети или подсети.
- «port» – по адресу требуемого порта.
- «src» - по показателям, которые касаются только отправителя.
- «dst» - по показателям, которые касаются только получателя.
P.S. При использовании tcpdump весьма полезен оператор and. С его помощью появляется возможность объединения нескольких фильтров в один.
Чтобы перехватить пакеты с исходного IP, скажем, вы хотите перехватить пакеты для 192.168.0.2, используйте команду следующим образом.
tcpdump -i eth0 src 192.168.0.2
Чтобы перехватить пакеты с IP назначения, скажем, вы хотите перехватить пакеты для 50.116.66.139, используйте команду следующим образом.
tcpdump -i eth0 dst 50.116.66.139
Допустим, вы хотите перехватить пакеты для определенного порта 22, выполните приведенную ниже команду, указав номер порта 22, как показано ниже.
tcpdump -i eth0 port 22
Как мы уже говорили, tcpdump имеет функцию захвата и сохранения файла в формате .pcap, для этого просто выполните команду с -w вариант.
tcpdump -w 0001.pcap -i eth0
Чтобы прочитать и проанализировать захваченный файл пакета 0001.pcap, используйте команду с опцией -r, как показано ниже.
tcpdump -r 0001.pcap
Как видно из всего вышесказанного, утилита tcpdump – это хороший сетевой анализатор, имеющий большой функционал. Программа работает только через командную строку.