Тестовый файл: https://disk.yandex.ru/d/lFB1y6IHtfWS8w,

Задача №1

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: В поле для ответа укажите максимальный объём сессии (max size).

Способ решения задачи:

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

Copy to Clipboard

где :

  • tail — выводит последние строки из файла, поэтому используем параметр -n без значений
  • -n — обработка всего файла
  • +1 — пропускаем первую позицию (заголовок)
  • network_logs.csv — имя исследуемого файла
  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • print $8 — номер позиции
  • sort -nr — сортировать по убыванию
  • head -n 1 — вывести только одно (1) значение

Результат решения задачи 1

1500

Задача №2

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: В поле для ответа укажите самое большое время сессии (max time).

Способ решения задачи:

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • tail — выводит последние строки из файла, поэтому используем параметр -n без значений
  • -n — обработка всего файла
  • +1 — пропускаем первую позицию (заголовок)
  • network_logs.csv — имя исследуемого файла
  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • print $9 — номер позиции
  • sort -nr — сортировать по убыванию
  • head -n 1 — вывести только одно (1) значение

Результат решения задачи

9.99999893496658

Задача №3

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: Укажите количество записей с протоколом TCP

Способ решения задачи:

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • tail — выводит последние строки из файла, поэтому используем параметр -n без значений
  • -n — обработка всего файла
  • +1 — пропускаем первую позицию (заголовок)
  • network_logs.csv — имя исследуемого файла
  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • print $7 — номер позиции
  • grep -c «TCP»выводит количество строк, в которых найдено совпадение с указанным шаблоном

Результат решения задачи

3333561

Задача №4

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: Укажите количество записей с протоколом UDP

Способ решения задачи :

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • tail — выводит последние строки из файла, поэтому используем параметр -n без значений
  • -n — обработка всего файла
  • +1 — пропускаем первую позицию (заголовок)
  • network_logs.csv — имя исследуемого файла
  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • print $7 — номер позиции
  • grep -c «UDP»выводит количество строк, в которых найдено совпадение с указанным шаблоном

Результат решения задачи

3331747

Задача №5

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: В поле для ответа укажите количество записей, где IP-адрес отправителя (src.ip) и IP-адрес получателя (dst.ip) совпадают.

Способ решения задачи :

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • $1 == $4 — сравниваем значения
  • network_logs.csv — имя файла
  • wc -l — считает количество строк

Результат решения задачи

Задача №6

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: В поле для ответа укажите количество записей с уникальными IP-адресами отправителя (src.ip).

Способ решения задачи :

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • NR > 1 — не учитываем заголовок
  • !a[$1]++ — это условие. В awk ненулевое значение (в том числе 1) считается истиной, а ноль — ложью. Поэтому ! инвертирует логику: если элемент массива a с ключом $1 ещё не существует, условие считается истинным, и блок кода выполняется. Проще говоря: если в массиве a для текущего первого поля $1 пока нет ключа — мы его создаём (автоматически присваиваем значение 0, так как в awk неинициализированные числовые элементы равны 0), а затем увеличиваем счётчик (++). Если ключ уже есть — условие ложно, блок не выполняется, и строка пропускается
  • network_logs.csv — имя файла
  • wc -l — считает количество строк

Результат решения задачи

101

Задача №7

Формат записи в скачанном файле: src.ip,src.port,src.geo,dst.ip,dst.port,dst.geo,proto,size,time

где src.ip — IP-адрес отправителя, src.port — порт отправителя, src.geo — страна IP-адреса отправителя, dst.ip — IP-адрес получателя, dst.port — порт получателя, dst.geo — страна IP-адреса получателя, proto — протокол, size — объём трафика сессии, time — время сессии.

Пример записи: 183.105.250.226,43460,CHN,51.211.197.165,61258,FRA,ICMP,1172,6.184687067936206.

Задание: В поле для ответа укажите количество записей, в которых объём трафика сессии (size) больше значения 3500.

Способ решения задачи :

Открываем консоль переходим в директорию с исследуемым файлом и строим пайплайн

Copy to Clipboard

где :

  • awk — универсальная утилита для обработки и анализа  текстовых файлов
  • -F’,’ — разделитель в файле
  • NR > 1 — не учитываем заголовок
  • $8>3500 — проверяем условие
  • network_logs.csv — имя файла
  • wc -l — считает количество строк

Результат решения задачи