В следующей статье мы рассмотрим tcpdump. Этот инструмент позволит нам просматривать информацию о входящем и исходящем трафике через сетевой интерфейс определенный. Это диагностический инструмент, который позволит нам увидеть информацию о пакетах. Эта информация будет содержать информацию о том, откуда приходят входящие пакеты и куда направляются исходящие пакеты, предоставляя некоторую дополнительную информацию. Мы даже можем сохранить результат в файл, чтобы просмотреть его позже.
Эта программа работает в большинстве операционных систем UNIX: Gnu / Linux, Solaris, BSD, Mac OS X, HP-UX и AIX и другие. В этих системах tcpdump использует библиотеку libpcap для захвата пакетов, циркулирующих в сети. Существует также адаптация для систем Microsoft Windows под названием WinDump, в которой используется библиотека Winpcap.
В UNIX и других операционных системах необходимо иметь права администратора (root) на использование tcpdump. Пользователи могут применять различные фильтры, чтобы вывод был более точным. Фильтр - это выражение, которое стоит за параметрами и позволяет нам выбирать пакеты, которые мы ищем. При отсутствии фильтров tcpdump сбрасывает весь трафик, проходящий через выбранный сетевой адаптер.
Поведение tcpdump по умолчанию
Выполнение de tcpdump без параметров будет искать первый активный интерфейс Он найдет и отобразит информацию о пакетах, входящих или исходящих от сетевого устройства. Это будет происходить до тех пор, пока процесс не будет прерван (нажатие Ctrl + C) или отменяется. Чтобы использовать его, нам нужно будет только написать в терминале (Ctrl + Alt + T):
sudo tcpdump
Как только команда закончится, выходные данные покажут, сколько пакетов было захвачено, сколько было фактически получено и сколько покинуло ядро.
Отображение параметров
Мы сможем выберите другой интерфейс для просмотра информации о дорожном движении. Чтобы узнать, с какими интерфейсами будет работать tcpdump, воспользуемся параметр '-D' который отобразит список устройств которые можно использовать в качестве параметров.
sudo tcpdump -D
Теперь, когда у нас есть список используемых интерфейсов, мы сможем указать один из них.
sudo tcpdump -i enp0s3
Ограничьте количество пакетов для захвата
Если мы хотим ограничить вывод только определенным количеством пакетов, мы будем использовать Параметр '-c', чтобы указать, сколько пакетов мы хотим захватить и отобразить информация, прежде чем я закончу. Примером может быть следующее:
sudo tcpdump -c 20
Подробно просматривать информацию с помощью tcpdump
Он может отображать более подробную информацию с помощью параметра '-v'. Эта информация включает время жизни (TTL), длину пакета, протокол и другую информацию, полезную для диагностики. Чтобы увеличить количество выпускаемой продукции для каждой упаковки, мы будем использовать параметр -vv или -vvv. Вот несколько примеров:
sudo tcpdump -vv sudo tcpdump -vvv
Сохранять и читать файлы
Tcpdump может сохранить результат в файл для последующего просмотра инструментом. Для этого воспользуемся параметр '-w' вместе с именем файла, чтобы записать его. Мы должны помнить это созданный файл может быть прочитан только tcpdump. Созданный файл не в формате обычного текста.
Чтобы записать результат работы инструмента в файл, нам нужно будет присвоить ему любое имя, которое мы захотим. Примером может быть следующее:
sudo tcpdump -w paquetes.dump
Чтобы прочитать этот файл позже, мы будем использовать параметр '-r' как показано ниже:
sudo tcpdump -r paquetes.dump
Простые фильтры tcpdump
Фильтры могут использоваться для захвата пакетов к определенным хостам и / или портам и от них, а также пакетов, которые используют определенный протокол (например TCP или UDP). Существуют и другие более продвинутые фильтры, но ниже мы увидим лишь несколько простых примеров:
Захват только TCP-пакетов
sudo tcpdump 'tcp'
Только пакеты UDP
sudo tcpdump 'udp'
Захват HTTP-пакетов (обычно используется порт 80)
sudo tcpdump 'tcp port 80'
Захват пакетов, идущих к или от определенного хоста
sudo tcpdump 'host ubunlog.com'
Захват HTTP-пакетов, идущих к или от определенного хоста
sudo tcpdump 'tcp port 80 and host ubunlog.com'
После всего этого, я думаю, было доказано, что tcpdump - довольно простой и полезный инструмент диагностики для использования, отображения и сохранения информации о пакете, относящейся к сетевому интерфейсу. Однако, играя в tcpdump, мы обнаружим другие функции, которые не были показаны в этой статье. У нас также будет возможность проконсультироваться с страница документации что этот инструмент предлагает нам более подробно ознакомиться с его возможностями.