В этом шаге вы узнаете, как контролировать продолжительность захвата пакетов, ограничивая количество пакетов, которые собирает Tshark. Tshark — это командная версия Wireshark, идеальная для автоматизированных захватов. Опция -c особенно полезна, когда вам нужен репрезентативный образец сетевого трафика, не перегружая вашу систему непрерывным захватом.
-
Начните с открытия терминала в вашей виртуальной машине LabEx. Система автоматически помещает вас в правильную рабочую директорию (~/project), поэтому вы можете сразу начать работу.
-
Структура команды использует этот базовый шаблон:
tshark -c [число] [другие опции]
Здесь [число] определяет, когда захват прекращается, указывая максимальное количество пакетов для сбора. Это предотвращает неопределённые запуски, которые могут заполнить ваш диск.
-
Сначала давайте определим доступные сетевые интерфейсы. Выполните следующую команду:
tshark -D
Вы увидите список интерфейсов, похожий на этот:
1. eth0
2. eth1 (Виртуальный интерфейс)
3. any
4. lo (Петля)
...
Мы будем использовать eth1 для наших захватов, так как это виртуальный интерфейс, созданный для этого лабораторного практикума, чтобы обеспечить согласованную генерацию трафика.
-
Давайте зафиксируем 500 пакетов как основное упражнение. Выполните эту команду:
tshark -c 500 -i eth1
Команда sudo необходима, так как захват пакетов требует административных привилегий. Это сообщает tshark о мониторинге сетевого соединения eth1.
-
Чтобы сгенерировать некоторый трафик для захвата tshark, откройте новую вкладку терминала (или разделите текущий терминал) и выполните следующую команду:
ping -c 10 google.com
Это отправит 10 пакетов ICMP на google.com, создав сетевую активность на eth1, которую tshark сможет захватить.
-
По мере потока пакетов вы увидите вывод в реальном времени в терминале tshark. После точного захвата 500 пакетов tshark автоматически завершится. Вывод будет похож на это (хотя для 500 пакетов он будет намного длиннее):
Capturing on 'eth1'
1 0.000000000 192.168.X.X -> 142.250.X.X ICMP 84 Echo (ping) request id=0xXXXX, seq=1/256, ttl=64 (reply in 2)
2 0.000000000 142.250.X.X -> 192.168.X.X ICMP 84 Echo (ping) reply id=0xXXXX, seq=1/256, ttl=117 (request in 1)
... (много других строк)
500 packets captured
-
Перед полным захватом 500 пакетов протестируйте с меньшим образцом, чтобы понять механизм. Этот 10-пакетный тест поможет проверить вашу настройку:
tshark -c 10 -i eth1
Не забудьте сгенерировать трафик в другом терминале, пока эта команда выполняется.