Верификатор что это: Редкая Профессия Верификатор Это… | ICDS GROUP
Профайлер-верификатор «О ПРОФЕССИИ ПРОФАЙЛЕР-ВЕРИФИКАТОР»
- внешность человека;
- его невербальные реакции;
- вербализованные формы поведения;
- частные признаки и другие нюансы.
Для полноценной работы Профайлеру — верификатору потребуется изучить:
Почему Профайлеры — верификаторы встречаются редко?
Много десятилетий бытовало представление, что узнать, говорит ли человек истину, можно только путем использования «полиграфа» либо специальных препаратов, гипноза, внушения в сознании и других сугубо технических приемов. Наряду с этим, сохранялось и убеждение, что распознать обман можно только путем скрупулезного анализа всех фактов, сопоставления информации из разных источников. И, конечно, такого зыбкого и неуловимого источника суждений, как собственная проницательность. Она у всех разная, не может быть оценена объективно, да и не всегда срабатывает одинаково.
Как понять, кто такой профайлер-верификатор, что это за вид деятельности, чем он уникален, где применяется и как выбрать профессионала?
Постепенно обнаружилось, однако, что техника и химия далеко не всесильны, и срабатывают только при строго определенных условиях. Возвращаться к старой проницательности в чистом виде в конце ХХ века было уже нелепо. И потому постепенно началось формирование новой профессии — Профайлер — верификатор. Стоит учитывать, однако, что минувшее время не прошло даром. И специалисты по профайлингу просто обязаны тщательно разбираться и в так называемых «сыворотках правды», и в работе полиграфа, и в других инструментальных приемах.
Да, они сами не применяют эти методы, или используют их в исключительных случаях. Но накопленный полиграфологами, следователями, фармакологами, психиатрами и психологами опыт игнорировать не могут. Потому хороший Профайлер — верификатор очень много знает и умеет. Нередко ему приходится сопоставлять самостоятельно обнаруженную информацию с результатами применения других методов.
Основы работы Профайлера — верификатора и область его помощи
Установление лжи или истины происходит при помощи изучения эмоций. Этот психологический феномен имеет биологическую природу, и с трудом поддается сознательному контролю. Чем ярче эмоция, чем более она важна для конкретного человека, тем тяжелее ее замаскировать. Бороться с собой очень тяжело, и борьба в любом случае отражается теми или иными признаками. Именно на этом моменте и базируется весь профайлинг. Надо только подобрать правильный стимул, который покажет ту или иную реакцию.
Потому Профайлер — верификатор
Есть несколько моментов, которые позволяют с высокой степенью вероятности предполагать обман. Стремящиеся солгать обычно стараются навязать эмоционально окрашенную точку зрения, усиленно оправдать ее и представить как единственно верную. Также возможны и иные тактики обмана. Кто-то задает встречные вопросы максимально агрессивно, или старается перевести разговор на другую тему, или увязнуть в деталях. Переход на иную тему некоторые обманщики проводят искусно: ухватившись за какой-то малозначительный тезис или даже одно только слово, постепенно разворачивают разговор в нужную для себя сторону.
Некоторые лжецы стараются забалтывать беседу, ускоряют темп речи, упирают вместо фактов на эмоции и авторитет, стараются демонстрировать сарказм. Но дело в том, что все эти приемы могут проводиться очень искусно и ловко. Даже самые осторожные люди, не имеющие специальных знаний, могут не распознать фальсификации. Тем более что есть и более хитрые способы. Отдельные обманщики признаются в истинных эмоциях, симпатиях и антипатиях, даже признают те или иные поступки… но скрывают их причины, преуменьшают или искажают последствия, собственную мотивацию. Еще тяжелее распознать заблаговременно приготовленную и продуманную до мелочей ложь.
Первоначально Профайлер — верификатор был преимущественно сотрудником следственных органов или частных детективных агентств.
Вот почему нужен Профайлер-верификатор
Где работают Профайлеры — верификаторы, и как именно
Первоначально Профайлер — верификатор был преимущественно сотрудником следственных органов или частных детективных агентств. Неудивительно: составление психологического портрета и определение лжи со стороны потерпевших, свидетелей, преступников приносили и приносят большую пользу расследованиям. Профессионалы обязательно используют диктофоны, а в идеале — видеокамеры. Последующий просмотр записей иногда позволяет обнаружить то, что при непосредственном разговоре с человеком ускользнуло от внимания или было неправильно оценено.
Профайлер — верификатор давно перестал, впрочем, быть исключительно криминалистом. Подобные сотрудники часто нужны, к примеру, в коммерческих переговорах. Цель их привлечения — оценка серьезности и искренности намерений другой стороны, определение манеры их действий. В особую сферу выделяется и Профайлер — верификатор банка. К нему обращаются, чтобы сократить опасность выдачи заведомо невозвратной ссуды. Обычно наблюдатель находится где-то в стороне, или даже следит за ситуацией при помощи видеокамер.
Но профайлинг используется и в бухгалтерских ревизиях, при аудите. Он нужен, чтобы определить истинные намерения бухгалтеров, экономистов и других материально ответственных лиц. То, что нет недостачи в данный момент, еще не означает, что она не готовится в скором времени или в отдаленном будущем. Выявляя склонности и неблаговидные намерения,
Профайлинг используется и в страховой сфере. С его помощью можно предотвратить либо выявить различные мошенничества. Количество схем обмана при оформлении страховки довольно велико. И чем больше сумма возмещения, тем выше опасность недобросовестного подхода со стороны страхующихся лиц. Профайлеров нанимают транспортные компании, чтобы своевременно обнаруживать опасных (неуравновешенных, агрессивных или непримиримо настроенных) пассажиров. Если человек садится в поезд, в автобус со скрыто приготовленным оружием, специалист распознает это с высокой степенью вероятности.
Аналогичную роль играют Профайлеры — верификаторы в гостиницах. Дорожащие своим именем отели стараются предотвращать преступления, и распознавание истинных намерений тут не менее важно, чем видеонаблюдение или физическая охрана. Обширно поле работы кадровых профайлеров. Эти специалисты выявляют склонность к играм и алкоголю, к растрате денег, связи с криминальным миром, сектами, экстремистскими организациями, наличие долгов и тому подобные неблагоприятные моменты. Даже излишняя болтливость, доверчивость, склонность к импульсивным поступкам или «скелеты в шкафу», становящиеся известными шантажистам, могут быть использованы против организации.
Профайлинг развивается. Совсем свежая часть его — работа с семьями и личной сферой. Профессионалы разоблачают брачных аферистов, изменников, лжецов и манипуляторов, определяют причины, из-за которых возникают сложности. Активно ведутся научно-практические разработки, поиск новых методов и критериев оценки личностной информации.
Даже беглое ознакомление с работой профайлеров показывает, что эти специалисты обязаны иметь психологическое образование. Понадобится и знание истории и культурологии, социологии и физиологии, базовые сведения в области психиатрии и некоторых других медико-биологических наук.
- собственная четкая дикция;
- личная честность;
- аналитический склад ума;
- устойчивость к стрессам;
- грамотная речь;
- умение сдерживать эмоции;
- хладнокровие в любой ситуации;
- отличная память.
Есть и обязательные личностные качества. Это не только наблюдательность, но и:
Получить базовые необходимые знания (сверх высшего психологического образования, которое подразумевается по умолчанию), можно на платных курсах. Но совершенствовать свое профессиональное мастерство, знакомиться с новой литературой и источниками, с последними исследованиями, в том числе и в смежных дисциплинах, придется постоянно. Хороший Профайлер — верификатор строго соблюдает нормы закона, касающиеся распространения полученной им информации. Потому гарантируется, конечно, и строгая конфиденциальность предоставляемых услуг. Она распространяется как на заказчиков, так и на обследуемых или проверяемых лиц.
верификатор — это… Что такое верификатор?
верификатор — а, м. vérificateur m. 1. Поверщик, контролер. Мак. 1908. В 1937 г. Линда работала оператором верификатором Лен<инградской> станции механизированного учета ЦУНХУ. Нева 1998 5 170. 2. мед. Верификатор для поверки циркулей в наборе Бертильона … Исторический словарь галлицизмов русского языка
верификатор — устройство верификации Устройство верификации является объектом, требующим аутентифицированной идентификации, или представляет его. Верификатор включает в себя функции, необходимые для осуществления обменов в целях аутентификации. Рекомендация… … Справочник технического переводчика
ВЕРИФИКАТОР — (лат. от verifico проверяю). Лицо, следящее за проверкой чего либо. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910 … Словарь иностранных слов русского языка
верификатор — сущ., кол во синонимов: 2 • проверщик (13) • сличатель (2) Словарь синонимов ASIS. В.Н. Тришин. 2013 … Словарь синонимов
верификатор — 02.02.04 верификатор (символ) [verifier]: Устройство, используемое для верификации символа. Примечание Верификатор используют для измерения и анализа атрибутов качества печати символа, таких как ширина элементов символа и размеры свободных зон,… … Словарь-справочник терминов нормативно-технической документации
верификатор — верифик атор, а … Русский орфографический словарь
верификатор — (лат. verificator) 1. утврдувач на вистината, заверувач 2. справа за испитување на јачината на металите … Macedonian dictionary
верификатор (штрихового кода) — Устройство, применяемое для измерения и анализа показателей качества печати символа штрихового кода и их сравнения с установленными в нормативном документе. Примечание Измерению, анализу и сравнению с установленными подлежат ширина штриха,… … Справочник технического переводчика
верификатор условий — Программа, анализирующая текст другой программы, снабженной условиями и операторами контроля, которые должны выполняться в определенных ее точках, и доказывающая их истинность или ложность при заданных предусловиях. [Домарев В.В. Безопасность… … Справочник технического переводчика
верификатор (штрихового кода) — Устройство, применяемое для измерения и анализа показателей качества печати символа штрихового кода и их сравнения с установленными в нормативном документе. Примечание Измерению, анализу и сравнению с установленными подлежат ширина штриха, разме … Словарь-справочник терминов нормативно-технической документации
ГОСТ Р ИСО/МЭК 15426-1-2002: Автоматическая идентификация. Кодирование штриховое. Верификатор линейных символов штрихового кода. Требования соответствия — Терминология ГОСТ Р ИСО/МЭК 15426 1 2002: Автоматическая идентификация. Кодирование штриховое. Верификатор линейных символов штрихового кода. Требования соответствия оригинал документа: 4.1 первичный эталонный тестовый символ ( primary reference… … Словарь-справочник терминов нормативно-технической документации
Как распознать ложь? Методическое пособие верификатора. |
Американцы алгоритмизировали процесс диагностики лжи. Пошаговая прикладная инструкция по теории лжи была найдена мной на одном из любопытных сайтов пару дней назад. Ею и хочу с вами поделиться. Надеюсь, она вам поможет в распознавании лжецов.
- Наблюдайте за лицом и глазами
1.1. Отслеживайте микровыражения. Это эмоции, которые появляются на лице лишь на доли секунды. Они, в отличии от «выражения лица» действительно говорят правду.
1.2. Следите за нижней частью лица и руками. Часто во время лжи человек неосознанно прикасается к носу или рту. Когда человек сообщает ложную информацию, он может прикрывать рот рукой. Сжатые, напряженные губы свидетельствуют о стрессе.
1.3. Следите за движением глаз. Если люди обычно вспоминают, они смотрят влево вверх, если придумывают и собираются солгать – чаще в право. (Прим. для левшей наоборот). Отмечается, что когда люди лгут – они моргают чаще. Обращайте внимание на веки, они обычно чуть дольше закрыты, чем во время обычного моргания, если человек не согласен с тем, что он слышит или видит.
1.4. Обычно, когда человек лжет, он старается не смотреть в глаза. Однако, в некоторых случаях ложь может выдавать и, наоборот, слишком пристальный непрерывный взгляд в глаза собеседнику.
1.5. В стандартном американском алгоритме распознавания лжи этого не было, но добавлю от себя. Часто, когда человек говорит неправду, его брови на мгновение приподнимаются вверх. Это микромимическое выражение часто сопровождает спонтанную ложь.
2. Чтобы распознать ложь, старайтесь читать язык тела
2.1. Смотрите, как человек кивает. Если человек говорит утвердительно, кивок должен быть соответствующий. Если же он, например, говорит, что чего-то не делал – это будет отрицательный поворот головы. Обратите также внимание, что при сообщении правдивой информации, в отличии от лжи, кивок/поворот должен происходить синхронно с высказывание. Запаздывание или же наоборот фальстарт, как правило, свидетельствует о лжи.
2.2. Смотрите на расположение собеседника. Если человек собирается лгать, он, как правило, предпочитает держаться на отдаленном расстоянии от собеседника и может быть повернутым несколько боком, носки его обуви часто смотрят не прямо в сторону собеседника, а повернуты вбок. Когда человеку нечего скрывать, в основном, он сидит прямо. От себя добавлю, что дистанция между собеседниками также говорит о том, насколько они приятны друг другу. Чем ближе их отношения, тем ближе они располагаются друг к другу.
2.3. Наблюдайте за шеей. Когда человек лжет, его шея потеет, появляется ощущение сдавленности, он оттягивает воротничок. Такое часто бывает на собеседованиях.
2.4. Смотрите на дыхание. Во время лжи дыхание становиться более частым и поверхностным. Человек делает несколько коротких мелких вдохов/выдохов. Часто, когда человек лжет, губы пересыхают.
2.5. Принимайте во внимание общую позу. Если руки и ноги скрещены, голова неподвижна, общее количество жестов уменьшилось – скорее всего человек лжет.
2.6. Во время лжи, человек старается избегать таких жестов, как: указывание пальцем, открытые ладони, «пирамидка» из пальцев. Однако, это можно натренировать.
2.7. Демонстративное поведение, такое, как нарочитая скука, зевание – могут являться попытками скрыть обман.
2.8. Смотрите на суставы. Лжецы часто стараются крепко вцепиться в какой-либо предмет, например, ручку стула так, что костяшки на руках побелеют.
2.9. Обратите внимание на потливость. Как правило, люди больше потеют, когда говорят неправду. Только не спешите изобличать лжеца в том, кому просто жарко или душно в помещении, хотя это тоже стоит учитывать.
3. Наблюдайте за вербальными ответами
3.1. Обращайте внимание на голос. Человек может начать говорить быстрее или медленнее, когда он лжет. Обычно во время лжи тон голоса повышается
3.2. Отлавливайте слишком много деталей. Если человек говорил в общем, и вдруг, в какой то момент в его речи появилось слишком много мелочей – он может специально запутывать вас, чтобы заставить поверить в ложь.
3.3. Наблюдайте импульсивные реакции. Если человек отвечает сразу на вопрос, который предполагает раздумья, возможно, он лжет. Так или иначе, но он продумал ответ заранее, зачем ему это, если он не пытается вас обмануть?
3.4. Обращайте особое внимание на ответы человека на ваши вопросы. Ложь обычно заставляет людей сильно нервничать. Защищаясь, человек может стараться расположить какой-то объект между вами, например сумку или папку. Виновный человек обычно отвечает со злобой. Однако, на его лице в момент обвинения, можно уловить эмоцию страха, и лишь потом последует агрессивная реакция. Однако, агрессия также может служить и индикатором обычного защитного поведения человека, которого несправедливо обвинили во лжи.
3.5. Если человек не лжет, а лишь пытается оправдаться, отвечая на вопрос, он будет предоставлять максимальное количество дополнительных фактов и деталей, в то время, как виновный человек не устанет повторять то, что он уже сказал, только более настойчиво и перефразируя.
3.6. Лжец избегает прямых ответов на вопросы, он всегда стремиться выиграть время. Лжец может запутывать вас общими фразами, ссылаться на авторитеты.
3.7. Обращайте внимание на использование слов, это может дать много подсказок. Например, лжец может повторять ваш вопрос, перед тем, как начать на него отвечать.
3.8. Лжец избегает различных сокращений в речи, стараясь максимально четко по буквам проговаривать слова.
3.9. Лжец может намеренно упускать местоимения. Например, вместе «Она сделала это» говорить просто «Сделала это».
3.10. Лжецы обычно используют запутанные предложения и начиная сложный оборот, часто не заканчивают его.
3.11. Лжец часто использует преувеличение, юмор или сарказм, чтобы уйти от прямого ответа.
3.12. Использование таких оборотом, как «честно», «в действительности», «откровенно говоря», «мое воспитание не позволит мне солгать», часто означает обман.
3.13. Если отвечая на сложный вопрос односложно, человек смотрит на вас, а дальше, поясняя, смотрит в сторону – это как правило, правда. Ему просто необходимо время, чтобы сосредоточиться.
3.14. В речи лжеца часто вовсе отсутствуют негативные выражения и эмоции. Обычно, говоря правду люди ссылаются и на положительные и на отрицательные обстоятельства.
3.15. Лжец отвечает слишком быстро, используя негативные ответы в позитивной конструкции. Например, «Вам было неприятно делать это?» «Нет, мне не было неприятно делать это»
3.16. Человек склонен повторять ложь теми же cловами несколько раз, так как, ему кажется, будто это более убедительно. Обычно для лжеца составляет проблему быстро перефразировать одно и то же «убедительное» предложение и он как заведенный твердить одно и то же.
4. Раскрытие лжи через ваши собственные ответы
4.1. Будьте очень осторожны и избегайте ошибок. Помните, что одного и даже двух признаков, часто не достаточно, чтобы обвинить человека во лжи. Не мните себя Доктором Лайтманом из сериала «Теория лжи» Необходим целый ряд факторов и точный, многократный их анализ для того, чтобы сделать вывод, что человек лжет. Многие эмоциональные реакции, такие как стыд, беспокойство, волнение неопытный верификатор может принять за ложь. Кроме того, помните о субъективизме. Иногда нам очень хочется быть обманутыми, настолько, что мы охотно игнорируем очевидные признаки, и, наоборот, часто мы стремимся уличить во лжи человека, который нам не симпатичен или же похож на того, кто когда-то нас обманул. Для того, чтобы избежать ошибок, постарайтесь ответить самому себе на следующие вопросы:
- — Насколько впечатлительный человек? Часто ли он так нервничает или же это касается только отдельной темы в вашей беседе?
- — Имеют ли место какие-либо культурологические различия? Возможно его поведение совершенно нормально в рамках одной культуры, но кажется странным в другой?
- — Есть ли у вас лично предубеждения против этого человека? Хотели бы лично Вы уличить его во лжи?
- — Насколько велик опыт этого человека во лжи?
- — Какой мотив для лжи у этого человека? Зачем ему может быть нужно вас обманывать?
- — Насколько вы хороший верификатор? Действительно ли вы принимаете во внимание все факторы и контекст, а не зацикливаетесь на одном?
4.2. Уделите некоторое время тому, чтобы расположить к себе лжеца. Не старайтесь сразу предвзято оценивать или давить на него с позиции силы. Создайте атмосферу доверия и понимания, это поможет вам легче считывать язык тела.
4.3. Определите образец правды для сравнения. Как говорилось ранее, диагностируемый должен быть расслаблен и чувствовать себя непринужденно. Поговорите с ним о вещах, которые ему интересны или о фактах, которые вам точно известны о нем. Спросите, что он думает по тому или иному поводу. Это поможет вам определить естественное поведение для того, чтобы в дальнейшем сравнивать его с теми фрагментами, где вы подозреваете ложь.
4.4. Обращайте внимание на отклонения и уходы от ответов. Например, на вопрос «Вы когда-нибудь били свою жену?» человек может ответить вопросом «Я люблю свою жену, зачем бы я это делал?». В данному случае мы можем заподозрить наличие скрываемой информации и расспрашивать подробнее.
4.5. Задавайте открытые вопросы. Избегайте вопросов, на которые человек может ответить однозначно и коротко, а также не повторяйте то, что он уже сообщил.
4.6. Попросите лжеца рассказать историю в обратном хронологическом порядке, задом наперед. Если человек лжет, это будет очень сложно сделать.
4.7. Смотрите на предполагаемого лжеца с выражением недоверия. Если человек лжет, очень скоро он начнет сильно нервничать. Если же он говорит правду на его лице будет грусть, разочарование, возможно оттенок злости.
4.8. Используйте молчание. Лжец будет чувствовать себя некомфортно, не получая обратной связи. У него возникнет необходимость заполнить пустоту, создаваемую вами. Таким образом он может нервничать и сам себя выдать, стараясь придумывать все новые детали и обстоятельства.
4.9. Идите до конца. Лжец будет стараться привести максимальное количество доводов против того, что бы вы поговорили еще с кем-то, кто был участником рассказанной истории или может знать детали. Он будет статься убедить вас, что этого делать не следует и что это лишь трата вашего времени. Но не верьте, проверяйте все, что можно проверить.
Статья подготовлена по материалам wikihow.com
Похожие записи
coded by nessus Tags: бизнес, диагностика, ложь, ложь в отношениях, манипуляция, мотивация, мотивация лжи, обучение по психологии, психодиагностика, психолог, психология лжи, психология личности, психология персонала, психородиагностика, следственная работа, собеседование, стресс, теория лжи, тренинг, тренинги по психологии, упражнения, ХарьковГлава 19. Основные ошибки верификатора
Глава 19. Основные ошибки верификатора
Как показывает опыт, на первом этапе, когда верификатор выходит на проверки самостоятельно, без опытного наставника, возможно совершение ряда ошибок. Ошибки верификатора сродни ошибкам хирурга, поскольку цена ошибки – это судьба человека. Особенно это опасно в ситуации уголовного преследования. Как показывает опыт американского судопроизводства и нашего российского, ложное обвинение заканчивается не только судебным сроком, но иногда и смертной казнью. Мы можем найти массу примеров судебных ошибок в истории судопроизводства. Какие же ошибки могут совершать верификаторы и полиграфологи? Давайте их рассмотрим.
Ошибка первого порядка, или ложное обвинение, – одна из главных ошибок.
Зачастую неуверенное поведение человека и совокупность доказательств, свидетельствующие не в пользу опрашиваемого, приводят к так называемой ошибке первого порядка, ошибке ложного обвинения, или, как называет ее П. Экман, ошибке Отелло.
«Нам нужно избегать ошибки Отелло. Вспомните, как в пьесе Шекспира Отелло обвиняет свою жену Дездемону в любви к Кассио. Он велит ей признаться во всем, так как собирается убить ее за измену. Дездемона просит Отелло позвать Кассио, чтобы тот подтвердил ее невиновность. Но Отелло заявляет, что он уже убил Кассио. Тогда Дездемона понимает, что не сможет доказать свою невиновность и что Отелло ее убьет.
“Дездемона: Беда! Он ложно оклеветан, я погибла.
Отелло: Распутница, как смеешь ты при мне рыдать о нем?
Дездемона: Сошли меня в изгнанье, но жить оставь!
Отелло: Обманщица, умри!”
(перевод Б. Пастернака)
Ошибка Отелло состояла в том, что он не смог понять, что чувствовала Дездемона; он знал лишь, что она испытывала мучения и страх. Он необоснованно уверовал в то, что ее эмоции имели единственный источник: в то, что причиной горя была новость о смерти ее возлюбленного, а причиной страха – угроза разоблачения ее неверности. Он убивает Дездемону, не подумав о том, что источники ее страдания и страха были совсем другие: что ее эмоции были реакцией верной жены на известие о том, что чрезмерно ревнивый муж собирается ее убить и что у нее нет никакого способа доказать свою невиновность.
Если мы хотим избежать ошибки Отелло, мы должны противиться искушению делать быстрые выводы и стремиться рассматривать другие причины, помимо той, которая кажется нам наиболее очевидной причиной появления эмоции. Существует много источников страха. Страх преступника, опасающегося поимки, выглядит точно так же, как страх невиновного человека перед невозможностью доказать свое алиби. Сигналы об эмоциях предоставляют важную информацию о том, что чувствует человек и что он может сделать в следующий момент, но здесь почти всегда имеется более одной возможности. Человек, испытывающий страх, может предпочесть сражаться, а не прятаться или спасаться бегством»[38].
Отелло задушил Дездемону, увидев на ее лице эмоцию страха и приняв ее за страх причастного человека. Для того чтобы не допускать ошибок первого порядка, необходимо в рамках опросной беседы уделить особое внимание исследовательской части. Дабы точно определить базовую линию поведения человека, достаточно точно определить контрольную тему, правильно подобрать контрольные вопросы. Нужно помнить, что все люди разные и подходить шаблонно к личности неправильно. Обязательно нужно учитывать и контекст ситуации, а также возможный психотравмирующий опыт в жизни человека. В ситуации проверки ошибка Отелло может возникнуть тогда, когда верификатор или полиграфолог начинает оценивать поведение человека, исходя из своих поведенческих шаблонов и стереотипов. Нужно помнить, что «судить по себе» не совсем верно, поскольку наше представление о мире реальным миром не является и мир гораздо разнообразнее, нежели мы можем себе представить.
Ошибка второго порядка – пропуск цели, или капкан Брокау (англ. Brokaw hazard), – игнорирование индивидуальных речевых и поведенческих особенностей человека при определении степени его правдивости.
Это понятие П. Экман ввел в 1985 г., отталкиваясь от рассуждений известного американского журналиста, мастера телеинтервью Тома Брокау о том, как тот определяет неискренность собеседника: «Любые проявления, в большинстве случаев явно указывающие на обман, для некоторых людей могут оказаться лишь частью их обычного поведения. Возможность неправильной оценки таких людей я буду называть капканом Брокау. Верификатор всегда может попасть в этот капкан, особенно если незнаком с подозреваемым и не знает его типичного поведения»[39].
Говоря иными словами, недоучет поведенческих особенностей разных людей, незнание их базовой линии поведения, их личностных особенностей могут увести полиграфолога или верификатора от истинного лжеца или преступника.
Обычно эти ошибки совершаются вместе. Если верификатор пропустил цель (капкан Брокау), то можно кого-то ложно обвинить (ошибка Отелло), если под подозрение попадает круг лиц.
Ошибкой третьего прядка мы называем отсутствие безопасности во время проведения исследования – если верификатор ведет себя агрессивно и вместо того, чтобы изучать модель мира человека, исследовать его базовую линию поведения, использует силовые методы давления на опрашиваемого (например, оскорбления и угрозы). В этом случае верификация невозможна, поскольку не очень понятно, что исследовать. Страх разоблачения в виде угрозы наказания за совершенные действия и страх наказания, вызванный угрозой, со стороны личности в невербальном проявлении выглядят одинаково. В этом случае ошибка Отелло неизбежна. Необходимо помнить, что верификатор всегда должен излучать безопасность. Именно поэтому мы стараемся проводить исследования, даже (или особенно) по линии правоохранительных органов, на нейтральной территории, чтобы максимально успокоить человека, показать, что он в безопасности. Еще одним обязательным требованием при проведении проверки является замена негативно окрашенных слов на позитивно окрашенные. Например, не «трудность», а «задача, которую нам с вами следует решить» и т. д.
Ошибка четвертого порядка – помощь опрашиваемому, выдача версий. Как показывает практика наставнического опыта, это первая ошибка, которую совершают начинающие верификаторы. Первая проверка связана с огромным желанием продемонстрировать опрашиваемым лицам весь тот объем знаний, который получил начинающий специалист, и неважно, причастным или непричастным. И вместо того, чтобы наблюдать за человеком, верификатор начинает не просто говорить, а достраивать за опрашиваемым лицом версии события из своей картины мира. Увидев человека, субъективно оценив его, исходя из этой оценочной позиции, он высказывает предположения о ситуации. Иногда вместо того, чтобы слушать и анализировать, начинающий верификатор наслаждается своей сверхролью. В этом случае высок уровень совершения ошибки второго порядка, а именно пропуска цели, поэтому на первом этапе, перед выходом на исследование, мы задаем начинающим верификаторам установку на необходимость максимального слушания и наблюдения.
Однако этой ошибке подвержены не только начинающие, но и опытные верификаторы. Получив многократный опыт, некоторые верификаторы начинают мыслить шаблонно, особенно если преступления, которые они расследуют, носят стабильно повторяющийся характер: только кражи или только скрининг. В таком случае стандартизация действий может приводить к такому стереотипу. Возникает внутреннее ощущение, что и так все ясно и незачем слушать исследуемого.
Мне пришлось принимать участие в ситуации, когда кадровая служба крупного предприятия никак не могла принять на работу практически ни одного сотрудника, поскольку после прохождения тестирования на полиграфе все кандидаты на работу в данной компании оказывались либо наркоманами, либо ворами, либо мошенниками. Специалист-полиграфолог, исходя из своей прошлой работы в оперативном подразделении милиции, во всех видел преступников, и тесты, которые он предъявлял опрашиваемым, носили, как правило, обвинительный характер.
Профессиональный верификатор наблюдает и слушает. Не случайно главным вопросом, который надо задавать, мы считаем «Ой как интересно! А расскажите подробнее». Верификация лжи – это искусство слушать, искусство пауз.
Ошибка пятого порядка – отсутствие утилизации негативных последствий своих действий. Несмотря на то что детекция лжи стоит на страже закона и по большому счету защищает человечество от негатива, эта сфера находится на стыке психофизиологии и психотерапии. И психотерапии в ней больше. Установить факт причастия возможно, иногда это совсем не трудно, сложнее получить признание. Это тоже возможно. Однако сложнее всего расстаться с опрашиваемым человеком позитивно.
Ошибка шестого порядка – субъективизация опыта. Верификатор рассматривает поведение человека из своей поведенческой модели мира, плюс к этому оценивая человека как хорошего или плохого. Люди могут быть по-разному одеты, некоторые могут быть не только другой народности, но и еще другого вероисповедания, некоторые из опрашиваемых крайне редко принимают ванну и совсем не знают о правилах гигиены, однако это не значит, что они преступники и лжецы. Нарушение личностных критериев верификатора не является основанием для вынесения обвинительного приговора. В ситуации субъективизации опыта одинаково вероятностно совершить ошибку как первого порядка (обвинение непричастного), так и второго (пропуск цели). В ситуации субъективизации опыта при наличии круга подозреваемых одна ошибка влечет за собой другую.
Ошибка седьмого порядка – принятие решения по единственному признаку или минимальному их набору. Верификатор должен помнить, что нет ни одного верного признака лжи. Если бы такие были, то распознавать ложь было бы очень просто. Однако таких признаков нет, их не выявили ни американские полиграфологи, основатели и законодатели инструментальной детекции лжи в мире, ни П. Экман, ни мы, советские и российские верификаторы. Детекция лжи – это наблюдение за человеком и набор статистик на контрольные и проверочные вопросы.
Ошибка восьмого порядка – невозможность принятия и совместимости противоречий. Эта ошибка близка к ошибке субъективизации опыта, однако немного отличается от нее. Прежде чем мы рассмотрим эту ошибку верификатора, хочу привести пример. На стройке произошло убийство, обычное бытовое. Есть труп, есть орудие убийства и подозреваемый в нем. И более того, этот подозреваемый согласен с тем, что он и убил своего напарника. Для пущей важности следователь решил закрепить доказательства путем проведения следственного эксперимента с приглашением на место преступления профайлера-верификатора. Однако на следственном эксперименте подозреваемый не смог ответить на вопрос, откуда взялась маленькая, но важная деталь. Версия оперативников стала рассыпаться под вопросами верификатора прямо на следственном эксперименте. Подозреваемый упорно твердил, что это он убил своего подельника и твердо стоял на своем, стремясь получить максимальный срок, полностью отказываясь от помощи верификатора и адвоката. Ситуация выглядела максимально абсурдной! Человек стремился в тюрьму, да еще и на максимальный срок. Однако ее абсурдность закончилась тогда, когда выяснилось, что данный гражданин ранее совершил убийство, но у себя, в своей азиатской стране, где его за это убийство разыскивают. Оказалось, что в российских тюрьмах отбывать срок и находиться более комфортно, нежели у него на родине.
Верификатор всегда должен понимать, что в жизни возможны различные варианты развития событий. Как показывает многолетний личный опыт участия в расследовании многочисленных преступлений, кажется, ты уже все повидал на своем пути, однако очередное событие показывает, что в жизни возможно все.
Ошибка девятого порядка – это скатывание из наблюдательной позиции в любые эмоции или эмоциональные проявления. Верификатор всегда должен находиться в наблюдательной позиции и ставить во главу угла структуру опыта человека, а не его содержание. Говоря иными словами, наблюдать за тем, как это делает человек, а не думать над тем, что он сейчас делает, и давать его словам и поведению оценочное суждение. Особенно на эту ошибку важно обращать внимание начинающим верификаторам. При проведении исследований они могут испытывать симпатию по отношению к опрашиваемому лицу (например, молодому верификатору понравилась девушка модельной внешности, значит, она… в принципе не могла это украсть!). Эмоциональное вовлечение часто не позволяет объективно оценивать поведение человека, поскольку включается субъективизм. Или иное проявление – когда по каким-то причинам человек вызывает у верификатора негативное отношение, например, он грязный, от него плохо пахнет и пр. Отсюда может возникнуть и обвинительный эмоциональный субъективизм. Раз пьяница или бомж, значит, преступник.
Сюда же можно отнести субъективизм, связанный с национальными предрассудками. Такая позиция находит свое отражение в модели этнического профайлинга. Этот подход очень популярен в Израиле, когда каждый представитель арабского этноса у сотрудников полиции или сотрудников служб безопасности рассматривается как террорист.
Для профессионального верификатора такой подход является неприемлемым, поскольку возможно эмоциональное вовлечение в ситуацию, которая вызывает оценочное суждение. И если в обычной жизни эмоциональная вовлеченность создает оценочное суждение на уровне «плохой – хороший», «нравится – не нравится», то в ситуации детекции лжи подобного рода субъективизм всегда будет находиться в парадигме мышления «виновный – невиновный». А значит, ошибка ложного обвинения высоко вероятностна.
Ошибка десятого порядка – отсутствие навыка удержания состояния или отсутствие самоконтроля.
Ошибка десятого порядка свойственна только профессиональным верификаторам, поскольку у непрофессионалов всегда все легко и хорошо.
Верификатор – человек, работающий в высоком уровне неопределенности и достаточном уровне недоверия. В такой ситуации важен высокий уровень адаптивности и самоконтроля, поскольку на специалиста при проведении исследования сразу сваливаются основные трудности. Это трудности организационного порядка. Зачастую работать приходиться «с колес», и иногда просто нет хорошо проветриваемого помещения для проведения исследования. Мне приходилось проводить исследования в мокром полуподвальном помещении, одному из моих наставников, В.В. Коровину, пришлось делать это под минометным обстрелом в Афганистане.
Имеют место трудности недоверия к специалисту и методу со стороны как инициатора проверки, так и испытуемого или испытуемых. Часто заказчик исследования на этапе заказа провоцирует верификатора и требует, чтобы ему продемонстрировали «чудеса» от детекции лжи. В таких ситуациях нужно обладать высоким уровнем удержания состояния, находиться в наблюдательной позиции и не скатываться в эмоциональные всплески. При работе с опрашиваемым лицом важно также не попадаться на провокации, спокойно реагировать на негативную обратную связь, трактуя все поведение опрашиваемого лица как сотрудничество и помощь в расследовании.
На начальном этапе начинающие верификаторы не понимают, что они всегда работают в правовом поле, вне зависимости от инициатора расследования, будь это заказ из бизнес-среды или правоохранительных органов. Фактически отчет верификатора – это всегда психолого-эмоциональная или психолого-лингвистическая экспертиза, даже если это отчет для заказчика из сферы бизнеса. И если в обычной жизни между формой и содержанием, как правило, превалирует содержание, то в правоприменительной практике, в детекции лжи форма первична. Нужно помнить, что подпись, поставленная под неправильно составленным заключением, может обернуться большой проблемой для верификатора или полиграфолога.
К нам часто за помощью обращаются коллеги, специалисты– верификаторы, полиграфологи, которые, например, не используют при проведении проверок видеофиксацию своих действий и которых обвиняют в оскорблениях, незаконных действиях и даже в сексуальных домогательствах. А таких проблем можно легко избежать, представив в качестве правоты своей позиции видеофиксацию исследования.
Все эти трудности способны создать внутри негативные ощущения и состояния. И это, в свою очередь, может привести к эмоциональным всплескам. Поэтому так необходима способность оставаться собранным, спокойным и хладнокровным в самый сложный момент, когда внутри тебя буря.
Пилот Чесли Салленбергер, ставший национальным героем США после посадки неисправного пассажирского авиалайнера на реку Гудзон, рассказал в одном из ток-шоу о своих ощущениях и переживаниях во время авиационной катастрофы.
По словам Чесли, он сразу понял, что с самолетом что-то не так. Он признался, что те минуты, когда отказали оба двигателя лайнера, были самыми худшими в его жизни. «Я испытал тошнотворное ощущение внутри, будто провалился сквозь пол», – сказал он.
По его признанию, в первый момент он испытал чувство обреченности и не знал, как выбраться из сложившейся ужасной ситуации и спасти людей. Однако капитан воздушного судна оставался максимально спокойным. Это состояние передалось и членам экипажа, которые видели, что капитан спокоен, и помогали ему в преодолении сложной ситуации. Это хладнокровие передалось и пассажирам воздушного судна, которые не паниковали, а выполняли указания членов экипажа.
Согласно обнародованной записи переговоров экипажа с диспетчерами, капитан Салленбергер спокойным голосом сообщил, что произошло столкновение с птицами. На вопрос, может ли он вернуть самолет в аэропорт, командир экипажа ответил: «Не могу». Последней фразой, зафиксированной перед посадкой на реку, была сказанная спокойным голосом: «Мы падаем в Гудзон».
Самолет совершил вынужденную посадку на воду на реке Гудзон в Центральном районе Нью-Йорка. Капитан Салленбергер принял такое решение, чтобы избежать падения лайнера на жилые дома и попытаться спасти пассажиров. В результате все 155 человек, находившиеся на борту самолета, остались живы.
«Гудзонское чудо» – это один из примеров того, что даже в сложной ситуации удержание состояния и самоконтроль и при этом выполнение своих профессиональных обязанностей и максимальная реализация профессиональных навыков приводят к успешному результату.
Конечно, можно сказать, что детекция лжи – это не авиакатастрофа и тут нет угрозы жизни и здоровью. Можно с этим как согласиться, так и не согласиться. Навык удержания состояния необходим особенно тогда, когда ты имеешь дело со сложными случаями, например при расследовании педофилии или убийств маленьких детей. Именно этот навык позволил профессору А.О. Бухановскому получить признание от самого страшного маньяка прошлого века Андрея Чикатило тогда, когда сотрудники следственных органов совершили ошибки верификаторов, изложенные выше.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРесРазница между Верификатором и Профайлером — Китайская Метафизика
МетафизикаКто такой
Верификатор — Профайлер?
Чем мы занимаемся? В чем отличие Верификатора от Профайлера? Отвечу на эти вопросы.
Базовые пресуппозиции в профайлинге:
Внутренний мир человека всегда отражается во внешних проявлениях.
Важны не факты, а цепочки фактов. Только по паттерну можно делать вывод.
Инструментарий и его количество имеет значение. Чем больше инструментов, тем лучше.
В профайлинге мало фактов. Есть тенденции и вектора развития.
Человек — динамичная, но устойчивая система, стремящаяся к организации и паттернизации.
Контекст и социум всегда имеют значение.
Здесь можно обратить внимание на то, что человек устойчивая система, при этом динамично развивающаяся. Это то, о чем я все время пишу — человек не меняется никогда, он только развивает заложенное в него природой.
Также в пресуппозиции профайлинга можно выделить пункт о том, что чем больше инструментов, тем лучше. Поэтому я и делаю микс из Ба Дзы, Ци Мень Мин Сян и психодиагноситки.
И то, что важны не факты, а цепочки фактов, также полностью согласуется с тем, что делаю я. Анализ человека по Ба Дзы (расшифровке заложенного от природы), дает основания для создания еще одного звена — физиогномики (чтения человека по лицу), которая приводит к следующему звену — психодиагностике и т.д. звено за звеном, рождается цепочка полного анализа личности, построенная на понимании его природы и применения сразу нескольких инструментов знаний.
Чем занимается Профайлер? Он составляет портрет неизвестного преступника по следам на месте преступлений, дает подробный психологический портрет, оценивает невербальное и вербальное поведение человека и оценивает особенности контекста факторов, влияющих на преступника.
Основное отличие Профайлера от Верификатора — это то, что Верификатор определяет где ложь, а где правда в сообщаемой информации, а Профайлер составляет психологический портрет человека.
Верификатор работает с фактами, прошлым и настоящим опытом человека, Профайлер с тенденциями и характеристиками, а также с настоящим и будущим.
Область применения верификации (опросные беседы) меньше, чем у профайлинга, который захватывает любую коммуникацию и контекст.
Так что, лучше всего работает связка Профайлер — Верификатор, плюс оперативный психодиагност, плюс специалист по древнекитайским техникам чтения людей.
Что такое верификатор прогнозов на спорт и зачем он нужен?
Чтобы ставить на спорт всегда в профит необходимо ежедневно анализировать огромный массив информации, тщательно проверяя данные и находя закономерности. Это сложная работа, которая к тому же отнимает массу времени, особенно на начальном этапе. Как же начать зарабатывать уже сейчас? Один из вариантов ответа – использовать прогнозы на спортивные события. Выбрать надежный источник таких советов – очень сложная задача. Облегчить ее обещают так называемые верификаторы прогнозов на спорт. Что это за сервисы и как они работают? Узнайте прямо сейчас.
Что такое верификатор прогнозов на спорт?
Верификатором спортивной аналитики называют специальный сервис в интернете, который проверяет качество результатов труда каперов. Он сравнивает результат спортивного события с предположениями по нему, которые ранее были получены от аналитиков или сервисов с прогнозами. Они бывают двух типов:
- просто анализируют данные прогнозов и реальные исходы, составляют независимую статистику по каждому прогнозисту и формируют рейтинги;
- представляют собой своего рода биржу, через которую аналитики продают советы, а игроки покупают, все расчеты осуществляются в системе.
Во втором случае прежде чем прогноз будет выставлен на продажу, его создатель должен пройти многоуровневую проверку, которая подтвердит точность его аналитики. Главное преимущество таких бирж – гарантия возврата оплаты в случае обмана или мошенничества. В первом случае качество аналитики будет видно по статистике и о том, связываться с прогнозистом или нет вывод будет делать сам игрок.
Такие сайты заинтересованы в привлечении, как аналитиков, так и покупателей прогнозов. Свою деятельность они монетизируют за счет комиссии, рекламы и дополнительных услуг.
Зачем нужны верификаторы и что они дают?
Прогнозирование исходов спортивных событий – благодатная почва для мошенничества. Сегодня в интернете очень много сервисов и отдельных людей, обещающих прогнозы с очень высокой проходимостью. Некоторые из них даже осмеливаются обещать 100% правильных предположений, хотя это просто физически невозможно. И всегда находятся люди, которые по каким-то причинам не увидели подвоха, купили прогноз или подписку, а затем лишились не только этих денег, но и игрового банка. Наученные горьким опытом такие игроки начинают искать способы проверки надежности прогнозистов.
Исходя из спроса, возникло и предложение в виде верификаторов прогнозов. Они выступают своего рода независимыми арбитрами, проверяющими достоверность обещаний аналитиков. Они собирают статистику по прогнозам, сверяя их с реальными данными. Некоторые такие сервисы даже предоставляют некоторое количество бесплатных предположений для новичков, а также дают массу полезных советов. в том числе и о том, как выбрать букмекера. Теоретически, это очень хорошо и правильно. Идея благая, но как всегда, находятся люди, которые любое положительное начинание оборачивают в свою пользу.
Почему не всегда можно верить данным верификатора
Идея проста – независимость верификатора проверить крайне сложно. Это просто сервис в интернете, и никто не знает, кто и зачем его создал. Может быть, он и вправду был запущен для того, чтобы стать независимым проверяющим прогнозистов. Но, не исключена и такая ситуация, когда верификатор создает сам аналитик или владелец сервиса с прогнозами и себя он, естественно, ставит во главу рейтинга. Об объективности в таком случае говорить не приходится. Оценить качество верификатора можно так:
- длительность работы – если сайт был запущен недавно, то он мог быть создан специально под какой-то проект;
- количество сервисов с прогнозами, которые проверяются – чем больше проверяющихся, тем надежнее ресурс, хотя это и не аксиома;
- проверьте статистику верификатора вручную, особенно по лицам из топа рейтинга.
В целом же к любому ресурсу стоит подходить с позиции здравого смысла и оценивать логичность всей информации, которая на нем содержится.
А ресурсы с прогнозами можно проверить и самостоятельно. Достаточно брать бесплатные прогнозы (а у большинства таких сервисов обязательно есть бесплатная часть) и сравнивать их какое-то время с реальными исходами матчей. Таким образом, вы получите самую объективную статистику.
Как проверить работу сотрудника на удаленке
Сегодня, когда производственные и даже личные отношения многих из нас строятся на удаленке, умение разбираться в людях — это бесценный навык, который жизненно необходим. Как научиться распознавать лжецов и не быть обманутым? Такой интересной теме был посвящен вебинар «Теория лжи», организованный столичным инновационно-образовательным комплексом «Техноград».
К сожалению, ложь сопровождает нас на протяжении всей жизни. При этом кто-то намеренно искажает действительность, чтобы предстать в лучшем свете. Кто-то искренне считает, что красивая ложь лучше горькой правды. Каждый день нас не раз обманывают в разных ситуациях и по разным причинам. Каждый день мы сами обманываем других. И понять, когда собеседник сообщает достоверную, а когда ложную информацию, получается не всегда.
Любой работодатель мечтает создать коллектив из порядочных людей. Босс несет ответственность за создание на предприятии доброжелательного рабочего климата. Ведь никакие деньги и карьерные перспективы не удержат подающего надежды сотрудника, если в офисе царят дрязги, сплетни, ложь, пропадают кошельки или конфиденциальная информация.
Поэтому так популярны стали в последнее время проверки на честность на собеседованиях. Продвинутые фирмы даже привлекают к этому процессу профессиональных профайлеров (они же верификаторы, то есть специалисты по бесконтактной детекции лжи) и даже полиграфологов.
В ходе онлайн-семинара тренер обучающих курсов Международной академии исследования лжи, профайлер-верификатор Дмитрий Ходанович ответил на вопросы «РГ».
Дмитрий, каковы основные признаки неправды?
Дмитрий Ходанович: Таких признаков много, ложь проявляется в мимике, жестах, эмоциях, речевых особенностях, непроизвольных реакциях организма: учащении пульса, дыхания, расширения или сужения зрачков и т.д. Но необходимо запомнить главное: универсальных признаков лжи не существует, все очень индивидуально. Чтобы почувствовать вероятность лжи, необходимо знать базовую линию поведения конкретного человека. Отклонения от нее могут свидетельствовать, в том числе, и о попытке обмана. Если это ваш сотрудник, коллега или давний знакомый, линию его поведения вы уже знаете. Если же требуется «расколоть» незнакомца, задайте ему несколько вопросов, на которые нет смысла врать: курица или рыба, чай или кофе, сливки или лимон, сколько сахара? А потом спросите то, что вас действительно интересует, и сравните эмоциональность ответа, жесты, мимику. Разница даст повод задуматься — но именно и только задуматься, поскольку делать конкретные выводы может только квалифицированный профайлер.
В последнее время многие работают на удаленке. Как начальнику проконтролировать, не валяет ли его сотрудник дурака? Можно ли определить ложь дистанционно?
Дмитрий Ходанович: Можно, но значительно труднее, чем при личном общении, особенно это касается переписки. Есть определенные признаки, но сказать стопроцентно, что это ложь, нельзя. Некоторые люди говорят обобщенным языком. И на вопрос «Ты был на объекте?» ответят примерно так: «Да, был. Работа идет. Стены ровняют, потолок красят. Стяжка сохнет. Обои будут желтые. Сантехнику завезли».
Другим свойственная излишняя детализация: «Да, был. Выехал на объект в 6.45, попал в грандиозную пробку на пересечении проспекта и кольца. Там сужение до двух полос, потому что рабочие в оранжевых жилетах меняют цементные бордюры на гранитные. Передо мной «лада» «баклажан» госномер такой-то, так сильно чадила, что голова болела 21 минуту. Пробка длилась 33 минуты, потом ехали три с половиной минуты, и снова стояли еще 17 минут. После МКАДа плелись 24 километра в час. В красном «Мазерати Леванте» блондинка губы красила, потом веки подводила. А на объекте все нормально, работа идет».
То есть восприятие ситуации и структура речи у всех разная. В письме будет то же самое. Если человек детальный, он будет все подробно расписывать. Но если вам пришли от сотрудника три детальных письма, а четвертое обобщенное, есть повод задуматься, не произошли ли какие-то изменения, которые заставили человека поменять модель поведения? И какую-то информацию, возможно, он скрывает.
Но для изменения поведения есть тысяча причин, и это не обязательно желание обмануть. Хочу предостеречь от скоропалительных выводов: определить ложь в письме может только эксперт-психолингвист. И то — есть вероятность ошибки. Возможно, стоит позвонить сотруднику и пообщаться с ним лично. Но ни в коем случае не додумывать, если вы видите какой-то факт, вызывающий вопросы.
В беседе по телефону лукавство заметить проще?
Дмитрий Ходанович: Да, потому что речь является одним из главных информативных признаков лжи. Все, о чем мы говорили сейчас, актуально и для разговора по телефону. Только для живой речи характерна еще такая особенность, как точка замирания или точка выбора. Допустим, вы задали коллеге вопрос, был ли он вчера на объекте. Если у него один вариант ответа, то есть он был на объекте, он ответит, не задумываясь. Если же есть выбор, что сказать: правду или ложь, он непременно возьмет время на размышление и ответит после паузы. Но опять-таки, молчание перед ответом напрямую не указывает на ложь. Это лишь свидетельствует о том, что у сотрудника было несколько вариантов ответа, и он задумался, какой сейчас выгоднее. Опытные лжецы знают о точке замирания и стараются замаскировать ее. В основном, якобы машинально повторяя заданный вами вопрос или два-три последних слова на него. Вчера на объекте? Этого репита достаточно, чтобы обдумать ответ. Повторюсь: отделить ложь от правды может только квалифицированный специалист. Изменение базовой линии поведения может служить лишь сигналом, что к сотруднику надо присмотреться повнимательнее.
Driver Verifier — драйверы для Windows
- 6 минут на чтение
В этой статье
Driver Verifier отслеживает драйверы режима ядра и графические драйверы Windows для обнаружения недопустимых вызовов функций или действий, которые могут повредить систему. Средство проверки драйверов может подвергать драйверы Windows различным нагрузкам и тестам, чтобы выявить ненадлежащее поведение.Вы можете настроить, какие тесты запускать, что позволит вам подвергнуть драйвер тяжелым стрессовым нагрузкам или провести более оптимизированное тестирование. Вы также можете запустить Driver Verifier на нескольких драйверах одновременно или на одном драйвере за раз.
Осторожно
- Запуск программы проверки драйверов может привести к сбою компьютера.
- Вы должны запускать Driver Verifier только на компьютерах, которые вы используете для тестирования и отладки.
- Чтобы использовать средство проверки драйверов, вы должны быть в группе администраторов на компьютере. Средство проверки драйверов
- не входит в состав Windows 10 S, поэтому мы рекомендуем вместо этого протестировать поведение драйвера в Windows 10.
Где я могу скачать Driver Verifier?
Вам не нужно загружать Driver Verifier, потому что он включен в большинство версий Windows в% WinDir% \ system32 \ as Verifier.exe. (Средство проверки драйверов не входит в состав Windows 10 S.) Средство проверки драйверов не распространяется отдельно в виде пакета для загрузки.
Для получения информации об изменениях в средстве проверки драйверов для Windows 10 и предыдущих версий Windows см. Средство проверки драйверов: что нового.
Когда использовать Driver Verifier
Запускать средство проверки драйверов на всех этапах разработки и тестирования драйвера. В частности, используйте Driver Verifier для следующих целей:
Для поиска проблем на ранних этапах цикла разработки, когда их легче и дешевле исправить.
Для поиска и устранения неисправностей и устранения сбоев тестов и сбоев компьютера.
Для отслеживания поведения при развертывании драйвера для тестирования с помощью WDK, Visual Studio и тестов из комплекта Windows Hardware Lab Kit (Windows HLK) или Windows Hardware Certification Kit (для Windows 8.1). Дополнительные сведения о тестировании драйверов см. В разделе Тестирование драйвера.
Как запустить средство проверки драйверов
Вы должны запускать Driver Verifier только на тестовых компьютерах или на компьютерах, которые вы тестируете и отлаживаете. Чтобы получить максимальную отдачу от Driver Verifier, вы должны использовать отладчик ядра и подключиться к тестируемому компьютеру. Дополнительные сведения об инструментах отладки см. В разделе Инструменты отладки для Windows (WinDbg, KD, CDB, NTSD).
Запустите окно командной строки , выбрав Запуск от имени администратора и введите verifier , чтобы открыть Driver Verifier Manager .
Выберите Создать стандартные параметры (задача по умолчанию) и выберите Далее .
Вы также можете выбрать Создать пользовательские настройки , чтобы выбрать из предопределенных настроек или выбрать отдельные параметры. Дополнительные сведения см. В разделах Параметры и классы правил средства проверки драйверов и Выбор параметров средства проверки драйверов.
Ниже Выберите драйверы для проверки. выберите одну из схем выбора, описанных в следующей таблице.
Опция Рекомендуемое использование Автоматический выбор неподписанных драйверов Полезно для тестирования на компьютерах под управлением версий Windows, не требующих подписанных драйверов.
Автоматический выбор драйверов, созданных для более старых версий Windows Полезно для проверки совместимости драйверов с более новыми версиями Windows.
Автоматически выбирать все драйверы, установленные на этом компьютере Обеспечивает максимальное покрытие с точки зрения количества драйверов, тестируемых в системе. Эта опция полезна для тестовых сценариев, когда драйвер может взаимодействовать с другими устройствами или драйверами в системе.
Этот параметр также может исчерпать ресурсы, доступные для специального пула и отслеживания некоторых ресурсов. Тестирование всех драйверов также может отрицательно сказаться на производительности системы.
Выбрать имена драйверов из списка В большинстве случаев вам нужно указать, какие драйверы тестировать.
Выбор всех драйверов в стеке устройств позволяет расширенной проверке ввода-вывода отслеживать объекты и проверять соответствие, поскольку пакет запроса ввода-вывода (IRP) передается между каждым из драйверов в стеке, что обеспечивает более высокий уровень подробности, которые необходимо предоставить при обнаружении ошибки.
Выберите один драйвер, если вы запускаете тестовый сценарий, который измеряет показатели производительности системы или драйвера, или если вы хотите выделить наибольшее количество доступных ресурсов для обнаружения повреждения памяти или проблем с отслеживанием ресурсов (например, взаимоблокировок или мьютексов).Параметры «Специальный пул» и «Проверка ввода-вывода» более эффективны при одновременном использовании с одним драйвером.
Если вы выбрали Выбрать имена драйверов из списка , выберите Далее , а затем выберите один или несколько конкретных драйверов.
Выберите Завершить и перезагрузите компьютер.
Примечание
Вы также можете запустить средство проверки драйверов в окне командной строки, не запуская диспетчер проверки драйверов.Например, чтобы запустить Driver Verifier со стандартными настройками для драйвера под названием myDriver.sys , вы должны использовать следующую команду:
верификатор / стандартный / драйвер myDriver.sys
Дополнительные сведения о параметрах командной строки см. В разделе Синтаксис команды средства проверки драйверов .
Как управлять верификатором драйверов
Вы можете использовать диспетчер проверки драйверов или командную строку для управления средством проверки драйверов. Чтобы запустить диспетчер проверки драйверов, см. Раздел Как запустить средство проверки драйверов ранее в этом разделе.
Для каждого из следующих действий вы можете использовать диспетчер проверки драйверов или ввести командную строку.
Для остановки или сброса Driver Verifier
В Driver Verifier Manager выберите Удалить существующие настройки , а затем выберите Завершить .
или
Введите в командной строке следующую команду:
верификатор / сброс
Перезагрузите компьютер.
Для просмотра статистики Driver Verifier
В Driver Verifier Manager выберите Показать информацию о текущих проверенных драйверах , а затем выберите Далее . Продолжая выбирать Далее отображает дополнительную информацию.
или
Введите в командной строке следующую команду:
верификатор / запрос
Для просмотра настроек средства проверки драйверов
В Driver Verifier Manager выберите Показать существующие настройки , а затем выберите Далее .
или
Введите в командной строке следующую команду:
верификатор / параметры запроса
Как отладить нарушения проверки драйверов
Чтобы получить максимальную отдачу от Driver Verifier, вы должны использовать отладчик ядра и подключить его к тестируемому компьютеру. Обзор инструментов отладки для Windows см. В разделе Инструменты отладки для Windows (WinDbg, KD, CDB, NTSD).
Если Driver Verifier обнаруживает нарушение, он генерирует проверку ошибок, чтобы остановить компьютер.Это сделано для того, чтобы предоставить вам как можно больше информации для устранения проблемы. Когда у вас есть отладчик ядра, подключенный к тестирующему компьютеру, на котором запущен Driver Verifier, и Driver Verifier обнаруживает нарушение, Windows запускает отладчик и отображает краткое описание ошибки.
Все нарушения, обнаруженные Driver Verifier, приводят к проверке ошибок. Общие коды проверки ошибок включают следующее:
Дополнительные сведения см. В разделе «Обработка проверки ошибок при включении средства проверки драйверов».Советы по отладке проверки ошибок 0xC4 см. В разделе Проверка ошибок отладки 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.
Когда вы запускаете новый сеанс отладки, используйте команду расширения отладчика: ! Анализируйте . В режиме ядра команда ! Analysis отображает информацию о последней проверке ошибок. Чтобы отобразить дополнительную информацию , чтобы помочь идентифицировать неисправный драйвер, добавьте опцию -v к команде в приглашении kd> :
kd>! Анализировать -v
В дополнение к ! Анализируйте , вы можете ввести следующие расширения отладчика в приглашении kd> , чтобы просмотреть информацию, относящуюся к Driver Verifier:
! Verifier дампов захваченной статистики Driver Verifier.Используйте верификатор ! -? , чтобы отобразить все доступные параметры.
kd>! Верификатор
! Deadlock отображает информацию, относящуюся к блокировкам или объектам, отслеживаемым функцией обнаружения взаимоблокировок Driver Verifier. Используйте ! Deadlock -? , чтобы отобразить все доступные параметры.
kd>! Тупик
! Iovirp [ адрес ] отображает информацию, относящуюся к пакету IRP, отслеживаемому программой I / O Verifier.Например:
kd>! Iovirp 947cef68
! Ruleinfo [ RuleID ] отображает информацию, относящуюся к правилу проверки соответствия DDI, которое было нарушено. ( RuleID всегда является первым аргументом при проверке ошибок.) Все идентификаторы правил из проверки соответствия DDI имеют форму 0x200 nn . Например:
kd>! Ruleinfo 0x20005
Driver Verifier: что нового
Параметры средства проверки драйверов
Синтаксис команды средства проверки драйвера
Использование средства проверки драйверов
Управляющий верификатор драйвера
Аудит результатов организации — первый […] проводится внутри компании, а затем оценивается b y a n независимый проверяющий b e для повторно утвержден соответствующим национальным […]компетентный орган. europa.eu | Результаты поиска […] l’organisa ti на so nt vrifis en inte rn e et valus ensuite par u n co ntr ind ntr td ‘ tre a pprouvs […]par l’organisme national comptent. europa.eu |
В частности, это указывает на то, что […]Организация предоставляет общедоступные, периодические экологические […] утвержденные утверждения b y a n независимый проверяющий .eur-lex.europa.eu | Il Indique en Partulier Que l’organisation met la disposition du […]Public des dclarations environmental priodiques qui ont […] t v al ide s pa r un vrificateur en vi ronnem ent al indpendant .eur-lex.europa.eu |
выберите и оплатите третий год rt y , независимый проверяющий . ec.gc.ca | de chois ir et p aye r un vrificateur ti er s независимый . ec.gc.ca |
Эта информация должна быть […] сопровождается отчетом o f a n независимый проверяющий w h ic h проверяет наличие […]ЕСВ или ССВ к выпуску […]не приводят к двойному учету, предоставляя при этом всю необходимую информацию, гарантирующую, что проектные мероприятия, представленные на утверждение, соответствуют статье 11b Директивы 2003/87 / ЕС. eur-lex.europa.eu | CES информация sont […] соответствует ra pport d ‘ un vrificateur indpendant qu i s ‘ as sure qu ‘aucune […]des URE или REC dlivrer […]не содержит двойной обработки и обеспечивает доступ к информации, гарантирующей, что деятельность по проектам соответствует требованиям, указанным в статье 11 директивы 2003/87 / CE. eur-lex.europa.eu |
Как и в случае с Хартией на […] Устойчивая очистка , a n независимый контролер m o ni нарушает соответствие […] Установленопроцедур […]в компании с использованием критериев, которым должна соответствовать компания для сертификации. essenscia.be | Comme dans le cas de la Charte pour le […] nettoyage d ur can , un vrificate ur indpendant co ntr le l’ad qu ation […]des procdures mises en place […]в предприятии с необходимыми критериями для лечения. essenscia.be |
Мы также можем помочь с […] выбор o f a n независимый проверяющий a n d облегчить […]фактический процесс проверки, экономия […]времени и усилий между поиском кредитов и их получением. firstenvironment.com | Nous pouvons galement aider avec […] le cho ix d’u n vrificat eu r независимый e t faci lite r le processus […] Относительная информация, кономизант […]du temps et des усилия entre la demande de crdits et la rception de ceux-ci. firstenvironment.com |
После проверки данного экологического заявления […] и подтверждено b y a n независимый e n vi ronme nt a l 3 он организация может […]подать заявку на регистрацию в компетентном органе. eur-lex.europa.eu | Une fois cette dclaration environmental e vrifie […] e t vali d e pa r un vrificateur envi ronne ment al независимо, l или […]faire une demande d’enregistrement […]auprs d’un organisme comptent. eur-lex.europa.eu |
Наконец, реализация программы будет […] быть проверенным b y a n независимым e x tern a l верификатор .oee.nrcan-rncan.gc.ca | Enfin, la ralisation du […] программа se ra vrifie par un vrificateur ext erne .oee.nrcan-rncan.gc.ca |
A n независимый , q ua li fi e d верификатор s обзор […] коммунальное предприятие реализует программу устойчивого развития электроэнергетики […]на ротационной основе с использованием трехлетнего географически распределенного цикла. ustainableelectricity.ca | L’AC a recours […] aux se rv ice d’u n vrificate ur indpendant qu ali fi pour e xaminer, […]Selon un Cycle Triennal rparti gographiquement, […]la mise en uvre du program par les entreprises d’lectricit. ustainableelectricity.ca |
4) Внешняя проверка — внедрение устойчивого электроснабжения будет […] проверено b y a n независимый e x tern a l верификатор .ustainableelectricity.ca | 4) Vrification externe — La mise en uvre d’lectricit strong sera […] vrifie pa r un vrificateur externe беспристрастный .устойчивое электричество.ок. |
( x ) ‘ верификатор ‘ м ea ns a конкурирующий en t , cc отредактированный проверяющий орган с ответственностью […] для выполнения и отчетности […]о процессе проверки в соответствии с подробными требованиями, установленными государством-членом в соответствии с Приложением V Директивы 2003/87 / EC eur-lex.europa.eu | x ) vrificateur, un or ganis me de vrificat io n com pt ent 3 а янт ля […] респонсабилит де менер бьен […]le processus de vrification et de rendre compte ce sujet, selon les exigences dtailles tablies в соответствии с приложением V к директиве 2003/87 / CE eur-lex.europa.eu |
( s ) ‘ верификатор ‘ m ea ns a конкурент en t , cc отредактированный проверяющий орган с ответственностью […] для выполнения и отчетности […]о процессе проверки в соответствии с подробными требованиями, установленными государством-членом в соответствии с Приложением V к Директиве. eur-lex.europa.eu | s ) vrificateur: o rgan e de v rificat io n com pt en t, indpendant d c harg […] deffectuer la vrification et d’en […]rendre compte, соответствие aux критериям dtaills dfinis par l’tat members en vertu de l’annexe V de la, директивы eur-lex.europa.eu |
Постановление направлено на содействие постоянному улучшению экологических показателей промышленной деятельности путем создания добровольной схемы экологического менеджмента и аудита, в рамках которой такая эффективность может систематически, объективно и периодически оцениваться. Участие в схеме включает в себя несколько шагов, которые должны быть реализованы участниками — принятие экологической политики компании, экологическая экспертиза, экологическая программа, система экологического менеджмента, проведение экологических аудитов и подготовка […]экологическое заявление для общественности — а затем […] оценено b y a n независимое a c cr отредактированное окружение nt a l 368europa.eu | Le rglement vise promouvoir des amliorations constantes en ce qui Concerne les incidences environmentalnementales des Activities Industrielles, en tablissant un systme de management environmental et d’audit qui permet, sur une base volontaire, d’valuer les performances en la matire de faon systmatique, Objective et priodique.записи об участии в системе, составившей плюс: принятие, в частности, участие в политических мероприятиях, программах и системах управления окружающей средой, рализация […]аудит и подготовка деклараций по охране окружающей среды до […] public, qui sont ensuite va lus par d es vrificateurs ag r s .europa.eu |
Участие в Схеме включает в себя несколько шагов, которые должны быть реализованы участниками — принятие экологической политики компании, экологическая экспертиза, экологическая программа, система экологического менеджмента, проведение экологических аудитов и подготовка […]экологическое заявление для общественности — а это […] затем оценивается b y a n независимый a c cr отредактированная среда nt a lifier верификаторeuropa.eu | Les members au systme doivent empir plusieurs ленты — принятие единой политики по охране окружающей среды, объединение единого анализа окружающей среды, разработка программы по охране окружающей среды и системы управления окружающей средой, канал аудита окружающей среды et tablissement d’une dclaration […]Environmental l’intention du Public — Qui sont […] Ensuite ex am ine s pa r un vrificateur en vi ronn emen tal ag r indpendant .europa.eu |
Самым инновационным является пост Gen er a l Verifier , a t ot al l y o f fi cial, который с разнородной командой проверяющих будет […] оценивать государственную политику и следить за ее эффективностью, […]качество, надежность и честность доходов государства. eudevdays.eu | Le poste le plus novateur […] est ce lu i de vrificateur gn ra l, un Response ab le to tal eme nt indpendant qu 367 d u ne qui pe de vrificateurs, v al uera les […]publiques политиков […]et l’efficacit, la qualit, la fiabilit et l’honntet des Recettes de l’tat. eudevdays.eu |
Эта проверка и подтверждение должны быть […] выполнено b y a n независимым , a pp правообладателем, окружающей средой nt a vereuropa.eu | Cette vrification et cette validation […] doivent tre effc tu es par un vrificateur env iro n neme nt и другие greuropa.eu |
работать с участвующими компаниями для инициирования и проведения программы проверки, описанной в […] секция 6, через h a n независимый t h ir dp ar t yc. | рабочих с участниками компании для […]инициатор и разработчик программы де врификации dcrit l’article6 par […] le tru ch emen t d ’ un vrificateur tie rs indpendantec.gc.ca |
участвовать в программе проверки, описанной в […] секция 6 через h a n независимый t h ir d p ar t y | участник программы de vrification dcrit l’article6 […] par l’en tr emise d ‘ un vrificateur tie rs indpendantec.gc.ca |
T h e независимый p a rt y, o r « совместно […] назначен Первой Нацией и Канадой. labrc.com | L e vrificateur есть нет мм c на стыке par la Premire […] нации и Канады. labrc.com |
Ни Intrum Justitia, ни […] издатель га v e независимо проверено i t em s новостей или фактов […]любым физическим или юридическим лицом или о нем. intrum.es | Ni Intrum Justitia ni l’diteur n’on t […] procd aucu ne vrificat io n indpendante d es l ment s d’informations […]Оу суду, четыреста […]par toute personne or goue relatifs ces derniers. intrum.fr |
Очень важно, чтобы у нас было […] an absolu te l y независимый b o dy экспертов f o r 3 er gy-using products и that i t b e независимый o f p частный экономический […]интересов. europarl.europa.eu | Il est essentiel que nous […] Disposions d’un groupe d’experts t otale men t indpendant c harg de vrifier le 90du368 ro d ‘ nergie et n’ayant […]Aucun Intrt Conomique Priv. europarl.europa.eu |
(12) T h e верификатор s h все b e независимый он оператор, нести […] четко и объективно профессионально излагает свою деятельность и понимает europarl.europa.eu | 1 2. Le vrificateur e st indpendant de l ‘ exp loita nt , exerce […] ses activits avec un professionalnalisme srieux et objectif, et a une bonne connaissance europarl.europa.eu |
Экологический проверяющий должен действовать в рамках своей области аккредитации на основании письменного соглашения с организацией […], который определяет объем […] работы, включает среду nt a l верификатор t o o perate i n a n p r essional способом и обязывает организацию […]для обеспечения необходимого сотрудничества. eur-lex.europa.eu | Le vrificateur intervient, dans le cadre des attributions qui lui ont t confres dans son agrment, sur la base d’un accord crit avec l’organisation, qui […]dfinit la porte du […] travai l, don ne a u vrificateur l a po ssib il it d’agir de manire profe ss ionn ss ionn t indpendante e t obli ge l ‘o rganisation […]cooprer de manire Approprie. eur-lex.europa.eu |
Кроме того, среда nt a l верификатор s h все b e независимый независимый n сведения об организации […] аудитор или консультант, […]беспристрастен и объективен в своей деятельности. eur-lex.europa.eu | L e vrificateur en vir onnem en tal doit par a ille urs t re indpendant — с — по […] de l’auditeur ou du consultant […]charg du site — беспристрастная и объективная деятельность. eur-lex.europa.eu |
(б) указать […] условия, нацеленные на включение среды nt a l верификатор t o o perate i n a n независимый p r из essional way иeur-lex.europa.eu | b) dfinit des […] Условия pe rm ettan ta u vrificateur e nvi ronne me ntal d ‘agir de manire prof e e sion67 e sion t indpendante, e teur-lex.europa.eu |
Кроме того, t h e верификатор s h все b e независимый mp искусственный и […] цель в выполнении своей деятельности. eur-lex.europa.eu | L e vrificateur doi t par ailleurs tr e независимый , беспристрастный […] et objectif dans l’exercice de ses activits. eur-lex.europa.eu |
Проверяющий будет работать на основании письменного соглашения с […] […] организация, определяющая объем работ, позволяет t h e проверяющий t o o perate i n a n p r из и обязывает организацию предоставлять […]необходимое сотрудничество. eur-lex.europa.eu | Le vrificateur intervient sur la base d’un accord crit avec l’organisation, qui dfinit la porte du travail, donne au vrificateur la возможность жизни человека eur-lex.europa.eu |
Орган по аккредитации также не должен использовать процедуру уведомления […] для задержки прибытия среды nt l верификатор .eur-lex.europa.eu | L’organisme d’agrment ne peut en outre utiliser la procdure de notification pour […] retarde r l’arr iv e d u vrificateur e nvi ron nemen ta l.eur-lex.europa.eu |
T h e верификатор w o ul d также необходимо обеспечить […] понимание сотрудника, ответственного за этот процесс. eur-lex.europa.eu | L e vrificateur aur a galem en t besoin […] de s’assurer de la comprhension de l’employued de ce processus. eur-lex.europa.eu |
Безопасность и верификатор класса
Статья этого месяца продолжает обсуждение модели безопасности Java, начатое в августовском выпуске «Под капотом».«В этой статье я дал общий обзор механизмов безопасности, встроенных в виртуальную машину Java (JVM). Я также внимательно рассмотрел один аспект этих механизмов безопасности: встроенные функции безопасности JVM. В сентябрьском выпуске« Under the Hood » , «Я изучил архитектуру загрузчика классов, еще один аспект встроенных механизмов безопасности JVM. В этом месяце я сосредоточусь на третьем компоненте стратегии безопасности JVM: верификаторе классов.
Верификатор файлов классов
Каждый Виртуальная машина Java имеет верификатор файлов классов, который гарантирует, что загруженные файлы классов имеют правильную внутреннюю структуру.Если верификатор файла класса обнаруживает проблему с файлом класса, он генерирует исключение. Поскольку файл класса — это просто последовательность двоичных данных, виртуальная машина не может знать, был ли конкретный файл класса сгенерирован благонамеренным компилятором Java или теневыми взломщиками, склонными к нарушению целостности виртуальной машины. Как следствие, все реализации JVM имеют верификатор файла классов, который можно вызывать в ненадежных классах, чтобы убедиться, что классы безопасны в использовании.
Одной из целей безопасности, которую помогает достичь верификатор файлов классов, является устойчивость программы.Если компилятор с ошибками или сообразительный взломщик сгенерировал файл класса, содержащий метод, байт-коды которого включали инструкцию перейти за пределы метода, этот метод, если бы он был вызван, мог вызвать сбой виртуальной машины. Таким образом, для надежности важно, чтобы виртуальная машина проверяла целостность импортируемых байт-кодов.
Хотя разработчикам виртуальных машин Java разрешено решать, когда их виртуальные машины будут выполнять эти проверки, многие реализации будут выполнять большую часть проверок сразу после загрузки класса.Такая виртуальная машина анализирует байт-коды (и проверяет их целостность) один раз, прежде чем они будут выполнены. В рамках проверки байт-кодов виртуальная машина Java проверяет, что все инструкции перехода — например, goto
(переход всегда), ifeq
(переход, если вершина стека равна нулю) и т. Д. — вызывают переход к другая действительная инструкция в потоке байт-кода метода. Как следствие, виртуальной машине не нужно проверять допустимую цель каждый раз, когда она встречает инструкцию перехода при выполнении байт-кодов.В большинстве случаев однократная проверка всех байт-кодов перед их выполнением является более эффективным способом гарантировать надежность, чем проверка каждой инструкции байт-кода при каждом ее выполнении.
Верификатор файла классов, который выполняет свою проверку как можно раньше, скорее всего, работает в двух различных фазах. На первом этапе, который происходит сразу после загрузки класса, верификатор файла класса проверяет внутреннюю структуру файла класса, включая проверку целостности содержащихся в нем байт-кодов.На втором этапе, который происходит при выполнении байт-кодов, верификатор файла классов подтверждает существование классов, полей и методов, на которые имеются символьные ссылки.
Этап первый: внутренние проверки
На первом этапе верификатор файла классов проверяет все, что можно проверить в файле класса, просматривая только сам файл класса (без проверки каких-либо других классов или интерфейсов). На первом этапе проверки файла классов проверяется, правильно ли сформирован импортированный файл класса, он внутренне непротиворечив, соответствует ограничениям языка программирования Java и содержит байт-коды, безопасные для выполнения виртуальной машиной Java.Если верификатор файла класса обнаруживает, что что-либо из этого не соответствует действительности, он выдает ошибку, и файл класса никогда не используется программой.
Проверка формата и внутренней согласованности
Помимо проверки целостности байт-кодов, верификатор выполняет множество проверок правильного формата файла класса и внутренней согласованности на первом этапе. Например, каждый файл класса должен начинаться с одних и тех же четырех байтов, магического числа: 0xCAFEBABE
. Назначение магических чисел — облегчить анализаторам файлов распознавание определенного типа файла.Таким образом, первое, что, вероятно, проверяет верификатор файла классов, это то, что импортированный файл действительно начинается с 0xCAFEBABE
.
Средство проверки файла классов также проверяет, не усечен ли файл класса и не расширен ли он дополнительными завершающими байтами. Хотя разные файлы классов могут иметь разную длину, каждый отдельный компонент, содержащийся внутри файла класса, указывает его длину, а также его тип. Верификатор может использовать типы и длину компонентов, чтобы определить правильную общую длину для каждого отдельного файла класса.Таким образом, он может проверить, что длина импортированного файла соответствует его внутреннему содержимому.
Верификатор также просматривает отдельные компоненты, чтобы убедиться, что они являются правильно сформированными экземплярами своего типа компонента. Например, дескриптор метода (тип, возвращаемый методом, а также количество и типы его параметров) хранится в файле класса в виде строки, которая должна соответствовать определенной контекстно-свободной грамматике. Одна из проверок, выполняемых верификатором над отдельными компонентами, — убедиться, что каждый дескриптор метода является правильно сформированной строкой соответствующей грамматики.
Кроме того, верификатор файла классов проверяет, соответствует ли сам класс определенным ограничениям, наложенным на него спецификацией языка программирования Java. Например, верификатор применяет правило, согласно которому все классы, кроме класса , объекта
, должны иметь суперкласс. Таким образом, верификатор файла классов проверяет во время выполнения некоторые правила языка Java, которые должны были быть применены во время компиляции. Поскольку верификатор не имеет возможности узнать, был ли файл класса сгенерирован доброжелательным компилятором без ошибок, он проверяет каждый файл класса, чтобы убедиться, что правила соблюдаются.
Инструмент проверки — Mapillary
Инструмент Verifier — это простой игровой инструмент для проверки обнаружения объектов, созданных системой Mapillary. Даже самые лучшие алгоритмы всегда допускают ошибки, поэтому обеспечение качества людьми является логической частью рабочего процесса при использовании данных, сгенерированных машиной. Инструмент Verifier является частью набора инструментов Verification Projects, который каждый может использовать для проверки обнаружений и проверки пропущенных обнаружений выбранных типов объектов в интересующей их области.
Задачи в инструменте Verifier сосредоточены на определенном классе объектов (например, знаках остановки или пожарных гидрантах) и касаются либо проверки обнаруженных объектов, либо проверки того, были ли какие-либо объекты пропущены на изображениях. Эта обратная связь будет использоваться Mapillary в будущем для улучшения алгоритмов обнаружения (подробнее здесь). Кроме того, будут удалены обнаружения, которые отвергаются людьми, что улучшает качество картографических данных, доступных на платформе.
Чтобы сделать процесс проверки более увлекательным, инструмент построен в виде игры, в которой вы получаете очки за проделанную работу и соревнуетесь с другими в таблице лидеров.
В этом руководстве вы можете получить обзор:
Как это работаетЧтобы начать проверку, вам необходимо войти в свою учетную запись Mapillary в сети Mapillary. Если у вас еще нет учетной записи, нажмите на ссылку на экране, чтобы создать ее. После входа в систему вам будет показан объект, с которым вы работаете. Что именно вам нужно делать, зависит от типа задачи: проверка обнаруженных объектов или обнаружение пропущенных объектов.
Проверка обнаруженных объектовВаша задача — проверить, правильно ли обнаружен объект на изображении.Вам будет показано изображение с ограничивающей рамкой вокруг объекта, который алгоритм попытался идентифицировать, вместе с миниатюрой или названием того, как этот объект был идентифицирован.
- Если объект был обнаружен правильно , нажмите зеленую кнопку с поднятием большого пальца для подтверждения (или нажмите «E» на клавиатуре).
- Если это не тот объект , нажмите красную кнопку с большим пальцем вниз , чтобы отклонить (или нажмите «W» на клавиатуре).
- Если вы не уверены в (иногда изображение нечеткое), нажмите кнопку «Не уверен» (или нажмите «R» на клавиатуре).
- Если вы хотите, чтобы увидел все изображение , из которого происходит это обнаружение, и получить больше контекста, щелкните обнаружение (или нажмите «F» на клавиатуре). Вы также можете увеличивать и уменьшать изображение.
Примечание. Не стесняйтесь использовать кнопку «Неуверенно», если у вас есть какие-либо сомнения.Поскольку целью является проверка данных, важно, чтобы вы были уверены в своих решениях по каждому обнаружению.
Вам будет показано одно обнаружение за раз. Когда вы одобряете, отклоняете или нажимаете «Не уверен», вам будет показано следующее обнаружение. Однако, если вы допустили ошибку или передумали, вы можете использовать кнопку «Назад» (или нажать «Q» на клавиатуре) в течение 5 секунд, чтобы вернуться к предыдущему обнаружению и изменить свое решение. Обратите внимание, что вы можете вернуться только на один шаг назад.Когда вы снова перейдете к следующему обнаружению, ваше решение по предыдущему будет заблокировано и отправлено.
Обнаружение пропущенных предметовВаша задача — проверить, все ли объекты того типа, с которым вы работаете, аннотированы на изображении. Вам будут показаны кадры изображений вместе с ограничивающими рамками уже идентифицированных объектов (если они есть) и счетчик, показывающий, сколько из этих объектов мы уже нашли на этом изображении. У вас есть возможность также просмотреть все изображение.
- Если все объекты этого типа были аннотированы , нажмите зеленую кнопку с поднятием большого пальца , чтобы утвердить (или нажмите «E» на клавиатуре).
- Если один или несколько объектов были пропущены , нажмите красную кнопку с большим пальцем вниз , чтобы отклонить (или нажмите «W» на клавиатуре).
- Если вы не уверены в (иногда изображение нечеткое), нажмите кнопку «Не уверен» (или нажмите «R» на клавиатуре).
- Если вы хотите, чтобы увидел все изображение , из которого взят этот кадрирование, и получить больше контекста, щелкните мышью на кадре (или нажмите «F» на клавиатуре). Вы также можете увеличивать и уменьшать изображение.
Примечание. Не стесняйтесь использовать кнопку «Неуверенно», если у вас есть какие-либо сомнения. Поскольку целью является проверка данных, важно, чтобы вы были уверены в своих решениях по каждому обнаружению.
Каждое изображение будет показано вам в шести последовательных кадрах, чтобы было легче увидеть его содержимое.Когда вы одобряете, отклоняете или нажимаете «Не уверен», вам будет подан следующий урожай. Однако, если вы ошиблись или передумали, вы можете использовать кнопку «Назад» (или нажать «Q» на клавиатуре), чтобы вернуться и изменить свое решение.
В наборе из шести обрезков, принадлежащих одному изображению, вы можете возвращаться назад столько раз, сколько захотите. Ваши голоса будут отправлены, когда вы сделаете последний урожай набора и получите новое изображение. В этот момент у вас будет всего 5 секунд, чтобы вернуться к предыдущему изображению (но у вас снова будет неограниченное время, чтобы вернуться к 6 кадрам этого изображения).Обратите внимание, что вы можете вернуться только на одно полное изображение.
Примеры хитрых делПомимо некоторых изображений низкого качества, не всегда может быть очевидно, одобрить или отклонить обнаружение. Вот несколько примеров сложных случаев, с которыми вы можете столкнуться. Если вы видите другие случаи, когда вы не знаете, что делать, выберите «Не уверен». Также может быть полезно проверить наш список дорожных знаков и список объектов, доступных как точечные объекты, чтобы вы знали, какие классы объектов наши алгоритмы обнаруживают в целом.Обратите внимание, что существуют различные сложные случаи и инструкции для проверки обнаруженных объектов и обнаружения пропущенных объектов.
Проверка обнаруженных объектов Обнаружение пропущенных предметов- Некоторые объекты снабжены аннотациями, но один или несколько пропущены одновременно — отклонить изображение
- Объект, который вы ищете, виден только частично в кадре изображения — отклонить изображение
- Существующая аннотация не выглядит идеально (например.грамм. ограничивающая рамка не соответствует объекту в точности) — утвердить изображение
Чтобы сделать этот инструмент интересным и полезным, он был создан как игра. Вы можете увидеть два числа, связанных с вашей учетной записью, а также таблицу лидеров (на мобильном устройстве вам может потребоваться прокрутить вниз, чтобы увидеть это).
Число в скобках означает количество обнаружений или изображений, за которые вы проголосовали.Вы увидите, что оно увеличивается каждый раз, когда вы голосуете за обнаружение, или в задаче о пропущенных объектах каждый раз, когда вы голосуете за все шесть обрезков изображения.
Другое, более важное число выделено жирным шрифтом и является вашим игровым счетом. Вы получите балл за каждое обнаружение или изображение, за которое кто-то проголосовал так же, как и вы, т.е. если вы одобряете то, что уже было одобрено другим человеком, или если кто-то другой отклоняет то, что вы также отклонили (порядок не имеет значения, вы оба получаете балл, когда за обнаружение или изображение аналогичным образом голосуют за второе время).
Этот балл является основой рейтинга в таблице лидеров. Вы увидите участников и их оценки, чтобы вы могли сравнить свои успехи. Если между голосами разных людей еще не было совпадений, таблица лидеров пуста. Продолжайте играть, чтобы получить хорошую фору, и по мере того, как другие будут отдавать голоса, на ваш счет начнут поступать очки.
Требования к органу по проверке — Резерв для климатических действий: Резерв для климатических действий
Процесс аккредитации
Climate Action Reserve вступил в партнерские отношения с Американским национальным институтом стандартов (ANSI) для аккредитации независимых сторонних органов по проверке в соответствии с ISO14065: 2007, ISO 14064-3: 2006 и International Accreditation Forum, Inc.(IAF) MD 6: 2009 для определенных групп секторов проектов в соответствии с Политикой определения объема работ ANSI GHG-PR-706. Эти скоординированные усилия упрощают процесс аккредитации проверяющих органов в Северной Америке и обеспечивают соответствие международной практике.
Только органы по проверке, аккредитованные в настоящее время или зарегистрированные в программе аккредитации ANSI, могут предоставлять услуги по проверке разработчикам резервных проектов. Резерв больше не аккредитует проверяющие органы. ANSI в настоящее время принимает заявки на участие в программе аккредитации по парниковым газам.Посетите веб-сайт ANSI для получения подробной информации о требованиях к заявке и аккредитации.
Для выполнения проверки в рамках Климатического заповедника
Для успешного получения одобрения на проведение деятельности по верификации для Климатического заповедника органы по верификации и ведущие верификаторы должны соответствовать следующим требованиям. Дополнительные сведения об этих требованиях см. В Руководстве по программе проверки резервов.
ТРЕБОВАНИЯ К ОРГАНУ ПРОВЕРКИ | ТРЕБОВАНИЯ К ИНДИВИДУАЛЬНОМУ ВЕРИФИКУ |
Аккредитован в соответствии с ISO 14065: 2007, IAF MD 6: 2009 и ISO 14064-3: 2006 для определенных групп секторов проектов в соответствии с Политикой определения объема работ ANSI GHG-PR-706. | Работать или работать по субподряду в одном из органов по верификации, аккредитованных в соответствии с ISO 14065: 2007 и ISO 14064-3: 2006, IAF MD 6: 2009. |
Продемонстрировать полное понимание проекта «Резерв для климатических действий» и протоколов проверки. | Посещал и успешно завершил ТРЕБУЕМУЮ подготовку по протоколам и руководствам по заказу климатических действий. Дополнительные сведения см. В разделе «Обучение верификации». |
Иметь как минимум двух сотрудников, назначенных ведущими верификаторами | Выполнять внутренние требования к обучению, следуя надлежащим процессам и процедурам в соответствии с его / ее ISO 14065: 2007, ISO 14064-3: 2006 и IAF MD 6: 2009 аккредитованным органом по верификации. |
Когда выпускается новая версия протокола (например, от v1.0 до v2.0), по крайней мере, один сотрудник любого органа по проверке, работающего по этому протоколу, должен присутствовать на соответствующем веб-семинаре по обновлению протокола. Желательно, чтобы сотрудник был ведущим верификатором для данного типа проекта. Веб-семинары по обновлению протоколов бесплатны, проводятся онлайн и обычно длятся ~ 1,5 часа. См. Страницу событий для получения информации о регистрации. | Идентифицироваться как «Ведущий проверяющий» в форме отчетности проверяющего персонала, представленной его / ее проверяющим органом в Резерв по адресу [электронная почта защищена]. |
Отвечает требованиям дополнительной аккредитации заповедника |
Обычно аккредитованные органы по проверке могут проводить одну дополнительную проверку в каждом секторе, для которого они квалифицированы. Для этого требования нет крайнего срока, и CRT не будут задерживаться для дополнительной проверки. Эта проверка должна использоваться с целью получения необходимой оценки свидетелей и завершения аккредитации групп для конкретных секторов.Если проверяющий орган не сможет получить свою отраслевую аккредитацию с помощью этой дополнительной проверки, CRT не будут выданы до тех пор, пока проверяющий орган не получит указанную аккредитацию.
Полный список обязательств проверяющего органа см. В разделе 2.2 Руководства по программе проверки.
yahoo / proxy-verifier: Proxy Verifier — это инструмент воспроизведения HTTP, предназначенный для проверки поведения HTTP-прокси. Он создает двоичный файл клиент-верификатор и двоичный файл-верификатор, каждый из которых считывает набор файлов YAML или JSON, которые определяют HTTP-трафик для обмена между ними.
Proxy Verifier — это инструмент воспроизведения HTTP, предназначенный для проверки поведения HTTP прокси. Он создает двоичный файл клиент-верификатор и двоичный файл-верификатор, которые каждый из них читает набор файлов YAML (или файлов JSON, поскольку JSON — это YAML), которые определяют HTTP-трафик для обмена.
Proxy Verifier поддерживает HTTP-воспроизведение следующих протоколов:
- HTTP / 1.x и HTTP / 2
- HTTP и HTTP через TLS
- IPv4 и IPv6
В общих чертах, Proxy Verifier предназначен для проверки двух прокси-серверов. потребности:
Тестирование корректности трафика : В этом контексте можно использовать Proxy Verifier в ручных или автоматических сквозных тестах для проверки правильного поведения детали, как правило, небольшого количества транзакций.Сделка Коробка — это пример инструмента, который полностью полагается на Proxy Verifier для автоматизированных сквозных тестов (см. самый авторитетный каталог).
Тестирование производственного моделирования : В этом контексте Proxy Verifier используется в изолированная лабораторная среда, настроенная так же, как производственная среда насколько возможно. Клиенту и серверу Verifier предоставляются файлы воспроизведения в виде входные данные, которые либо генерируются автоматически, либо собираются с помощью такого инструмента, как Traffic Свалка из реальной производственной среды.Затем прокси-верификатор воспроизводит это производственный трафик против тестируемого прокси. Proxy Verifier может воспроизводить такой трафик со скоростью более 10 тыс. запросов в секунду. Вот некоторые примеры, в которых использование Proxy Verifier может быть полезным:
- Безопасное тестирование экспериментальных версий патча.
- Запуск диагностических версий прокси, которые могут быть недостаточно производительными для производственной среды. Сборки Debug, Valgrind и ASan примеры конфигураций сборки, результирующая производительность прокси-сервера может быть невозможно запустить в производстве, но можно безопасно запустить в производстве симуляция через Proxy Verifier.
- Сравнение производительности разных версий прокси. Начиная с Proxy Verifier последовательно воспроизводит трафик для одного и того же набора файлов воспроизведения запусков, разные версии прокси можно сравнивать по их производительность по тому же набору данных воспроизведения. Это дает возможность сравнить обнаруживать улучшение или снижение производительности в разных версиях прокси.
Следует отметить, что при использовании Proxy Verifier в производственном моделировании среды, прокси будет получать трафик от клиента, который смотрит как производственный трафик.Таким образом, по замыслу цели HTTP-запроса и Host поля заголовка будут ссылаться на фактические производственные серверы. Будет важно настройте тестируемый прокси, чтобы эти запросы направлялись не на фактические производственные серверы, но на сервер или серверы Proxy Verifier. Как это будет достигнуто, будет зависеть от прокси. Один из способов добиться этого — настроить производственную среду с тестовым DNS-сервером, например MicroDNS настроен для разрешения всех имен хостов на сервер Proxy Verifier или серверы в Среда производственного моделирования.
Спецификация воспроизведения трафика
HTTP Спецификация
Поведение трафика Proxy Verifier задается через файлы YAML. Поведение для
каждое соединение указывается под самым верхним узлом сеансов
, значение
что представляет собой последовательность, в которой каждый элемент в последовательности описывает
характеристики каждого подключения. Для каждой сессии стек протоколов может быть
указывается через узел протокола
. Этот узел описывает протокол
характеристики соединения, например, какую версию HTTP использовать,
использовать TLS и какими должны быть характеристики рукопожатия TLS.в
отсутствие протокола узел
протокол по умолчанию — HTTP / 1 поверх TCP. Видеть
Спецификация протокола ниже для получения подробной информации о протокол
узел. Каждая сессия выполняется клиентом-верификатором параллельно.
(хотя см. —thread-limit
В дополнение к спецификации протокола, каждый сеанс из сеансов
Последовательность транзакций содержит узел
. Сама по себе последовательность
транзакции, которые должны быть воспроизведены для соответствующего сеанса.Внутри каждого
транзакции, поведение прокси-верификатора при воспроизведении трафика указано в клиент-запрос
и сервер-ответ
узлов. клиент-запрос
узла используются
клиентом Proxy Verifier и сообщите ему, какие HTTP-запросы он должен
генерировать. сервер-ответ
узла используются сервером Proxy Verifier для
укажите, какие HTTP-ответы он должен генерировать. Проверка прокси-трафика
поведение описано в узлах proxy-request
и proxy-response
, которые
будет рассмотрено в Проверке трафика
Спецификация.Для HTTP / 1 эти
транзакции выполняются последовательно для каждой сессии; для HTTP / 2 транзакции
работают параллельно.
Для запросов HTTP / 1, клиент-запрос
имеет карту в качестве значения, которое содержит каждый из
следующие узлы типа «ключ-значение» YAML:
-
метод
: в качестве значения принимает метод HTTP, напримерGET
илиPOST
. -
url
: в качестве значения принимает цель запроса, например/a/path.asp
илиhttps: // www.example.com/a/path.asp
. -
версия
: принимает версию HTTP, например1.1
или2
. -
заголовки
: Это принимает узелполей
, который имеет в качестве значения последовательность Поля HTTP. Каждое поле само по себе представляет собой последовательность из двух значений: имя поле и значение поля. -
содержимое
: указывает тело для отправки. В качестве значения он принимает карту. В пользователь может указать целое число размеромdata
может быть предоставлено в который будет отправлен указанным телом икодировкой
, принимающейпростой
илиuri
, чтобы указать, что строка является необработанной или закодирована в URI.
Вот пример узла клиентского запроса
, описывающего HTTP / 1.1 POST
запрос с целью запроса /pictures/flower.jpeg
и содержащий четыре поля заголовка с размером тела 399 байт:
клиент-запрос: метод: POST URL: / картинки / цветок.jpeg версия: '1.1' заголовки: поля: - [Хост, www.example.com] - [Content-Type, image / jpeg] - [Content-Length, '399'] - [uuid, 1234] содержание: размер: 399
Для удобства, если Proxy Verifier обнаруживает заголовок Content-Length, то содержимое узла
, указывающее размер тела, не требуется. Таким образом, это может быть
упрощено до:
клиент-запрос: метод: POST URL: /pictures/flower.jpeg версия: '1.1 ' заголовки: поля: - [Хост, www.example.com] - [Content-Type, image / jpeg] - [Content-Length, '399'] - [uuid, 1234]
Для HTTP / 2 протокол описывает начальные значения строки запроса с помощью псевдо
поля заголовка. Следовательно, для этого протокола пользователю не нужно указывать метод
, url
и версия
узлов и вместо этого будут указывать эти значения
более естественно в виде псевдозаголовков в последовательности полей
.Вот пример
запрос клиента HTTP / 2
, аналогичный запросу HTTP / 1 выше (обратите внимание, что Content-Length Поле заголовка
является необязательным в HTTP / 2 и поэтому здесь опущено):
клиент-запрос: заголовки: поля: - [: метод, POST] - [: схема, https] - [: авторитет, www.example.com] - [: путь, /pictures/flower.jpeg] - [Content-Type, image / jpeg] - [uuid, 1234] содержание: размер: 399
сервер-ответ
узлы указывают, как должен отвечать сервер Proxy Verifier
к HTTP-запросам.Вместо метода
, url
и версии
, ответы HTTP / 1
возьмем следующие узлы:
-
статус
: принимает целое число, соответствующее статусу ответа HTTP, например200
или404
. -
причина
: Здесь требуется строка, описывающая статус, например«ОК»
или«Не найдено»
.
Вот пример ответа сервера HTTP / 1
со статусом 200, четыре
поля и тело размером 3432 байта:
сервер-ответ: статус: 200 причина: ОК заголовки: поля: - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, image / jpeg] - [Кодирование передачи, по частям] - [Подключение, проверка активности] содержание: размер: 3432
В этом случае обратите внимание, что ответ содержит поле заголовка Transfer-Encoding: chunked
, указывающее, что тело должно быть закодировано по фрагментам.Прокси
Верификатор поддерживает кодировку фрагментов как для запросов, так и для ответов и будет использовать
это когда он обнаруживает поле заголовка Transfer-Encoding: chunked
. В этом
В этом случае 3432 байта будут размером полезной нагрузки фрагментированного тела без
байты для протокола фрагментов (заголовки фрагментов и т. д.).
Для HTTP / 2 код состояния описан в поле псевдозаголовка : status
.
Кроме того, HTTP / 2 не позволяет кодировать фрагменты и не использует соединение
поле заголовка, используя вместо этого механизм кадрирования для описания тела и
время жизни сеанса.Аналогичный ответ HTTP / 2 на запрос HTTP / 1 выше,
следовательно, будет выглядеть так:
сервер-ответ: заголовки: поля: - [: status, 200] - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, image / jpeg] содержание: размер: 3432
Наконец, вот пример ответа с отправленным конкретным содержимым (YAML
в этом случае) в отличие от сгенерированного контента, указанного в содержимое: размер
узлов выше:
сервер-ответ: статус: 200 причина: ОК заголовки: поля: - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, text / yaml] - [Кодирование передачи, по частям] - [Подключение, проверка активности] содержание: кодировка: обычная данные: | ### Заголовок * Пуля * Очки
Поиск ответа сервера
Узлы клиент-запрос
и сервер-ответ
— это все, что требуется для
прямое воспроизведение транзакции Proxy Verifier.В следующем разделе будет описано
как указать поведение проверки транзакции прокси через прокси-запрос
и прокси-ответ
узла. Однако прежде чем приступить к этому, полезно
понять, как сервер Verifier решает, какой ответ отправить для любого заданного
запрос он получает. Рассмотрим снова узел клиент-запрос
из предыдущего
пример:
клиент-запрос: заголовки: поля: - [: метод, POST] - [: схема, https] - [: авторитет, www.example.com] - [: путь, /pictures/flower.jpeg] - [Content-Type, image / jpeg] - [Content-Length, '399'] - [uuid, 1234] содержание: размер: 399
Обратите внимание на наличие поля uuid
. Такое поле отправляется
клиент и используется сервером. Когда сервер получает запрос, имейте в виду
что все, что ему нужно для управления своим поведением, — это то, что он извлек из воспроизведения
файл или файлы и что он видит в запросе. Может быть сотни
тысячи проанализированных серверных ответов
узлов, каждый из которых описывает уникальный ответ
с помощью которого сервер может ответить на любой входящий запрос.Сервер делает
не разговаривать напрямую с клиентом, поэтому он не может связаться с ним и сказать: «Привет
Клиент-верификатор, я только что прочитал такой-то запрос по сети. Какой ответ
вы хотите, чтобы я послал это? »Когда он получает HTTP-запрос,
следовательно, у него есть только содержимое этого запроса, из которого можно выбрать его
отклик. Чтобы облегчить поведение сервера, связан уникальный ключ с каждым запросом. На этапе синтаксического анализа YAML сервер Verifier
связывает каждый проанализированный ответ сервера
с ключом, полученным из
связанный клиент-запрос
для транзакции.Во время повтора трафика
фазе, когда он считывает запрос по сети, он получает ключ из HTTP
запрос с использованием того же процесса для генерации ключей из клиентских запросов
узлов
используется на этапе синтаксического анализа. Затем он ищет правильный ответ, указанный в YAML.
используя этот ключ. По умолчанию Proxy Verifier использует поле заголовка HTTP uuid
значения в качестве ключа, как используется в примерах в этом документе, но это
настраивается с помощью аргумента командной строки --format
.Подробнее см.
раздел, описывающий этот аргумент ниже.
И клиент, и сервер не пройдут фазу синтаксического анализа YAML и выйдут с ошибкой. ненулевой возврат, если любой из них анализирует транзакцию, для которой они не могут получить ключ. Если на этапе обработки трафика сервер Verifier каким-то образом получает запрос, для которого не может получить ключ, он вернет 404 Not Найден ответ и закрыл соединение, по которому был получен запрос.
Спецификация протокола
Выше обсуждались узлы воспроизведения YAML, которые описывают, как Proxy Verifier будет создать трафик уровня HTTP.В этом разделе обсуждается, как пользователь указывает протоколы нижнего уровня, используемые для передачи этого HTTP-трафика.
Как указано выше, каждый HTTP-сеанс описывается как элемент в сеансах
последовательность узлов. Каждая сессия требует карты. HTTP-транзакции описаны в
ключ транзакции
, описанный выше. Помимо транзакции
, a
сеанс также принимает дополнительный узел протокола
. Этот узел занимает упорядоченный
последовательность карт, где каждый элемент в последовательности описывает характеристики
уровня протокола.Ожидается, что последовательность будет заказана с более высокого уровня
протоколы (такие как HTTP и TLS) к протоколам нижнего уровня (например, IP).
Вот пример узла протокола вместе с сеансами
и транзакциями
узлы предоставлены, чтобы дать некоторый контекст:
сеансов: - протокол: - имя: http версия: 2 - имя: tls sni: test_sni - имя: tcp - имя: ip транзакции: # ...
Еще раз обратите внимание на то, что узел протокола
находится под узлом сеансов
, который принимает
последовательность сеансов.В этом примере показано начало одного сеанса, который в
В этом случае предоставляет описание протокола с помощью ключа протокола
. Это то же самое
сеанс также имеет усеченный набор транзакций, который будет указан в
ключ транзакции
. Рассматривая далее узел протокола
, заметим, что
в этом сеансе описаны четыре уровня: http, tls, tcp и ip. В
Узел http
указывает, что сеанс должен использовать протокол HTTP / 2. В
Узел tls
указывает, что клиент должен использовать SNI «test_sni» в
Привет, рукопожатие клиента TLS.Кроме того, это должно передаваться через TCP на IP.
Следующие узлы поддерживаются для протокола
:
Имя | Узел | Поддерживаемые значения | Описание |
---|---|---|---|
http | |||
версия | {1, 2} | Использовать ли HTTP / 1 или HTTP / 2. | |
TLS | |||
sni | строка | SNI для отправки в подтверждении TLS. | |
запрос-сертификат | логический | Должен ли клиент или сервер запрашивать сертификат у прокси. | |
сертификат, предоставленный прокси | логический | Это управляет тем же поведением, что и директива запроса-сертификата. Этот псевдоним полезен, когда узел описывает, что произошло в прошлом, например, в контексте файла воспроизведения, указанного в Traffic Dump. | |
режим проверки | {0-15} | Значение, передаваемое непосредственно в OpenSSL SSL_set_verify для управления проверкой однорангового узла в подтверждении связи TLS.Это позволяет точно контролировать поведение проверки TLS. 0 соответствует SSL_VERIFY_NONE, 1 соответствует SSL_VERIFY_PEER, 2 соответствует SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 4 соответствует SSL_VERIFY_CLIENT_ONCE и 8 соответствует SSL_POST_HOST_ Может быть предоставлено любое побитовое ИЛИ для этих значений. Подробнее об их поведении см. Документацию OpenSSL SSL_verify_cb. | |
протоколы alpn | последовательность строк | Определяет список протоколов сервера, используемый при выборе ALPN.Подробнее см. Документацию OpenSSL SSL_select_next_proto. | |
TCP | |||
ip |
Следующие функции спецификации протокола в настоящее время не реализованы:
- HTTP / 2 поддерживается только через TLS. Proxy Verifier использует ALPN в TLS рукопожатие для согласования HTTP / 2 с прокси. Обновление HTTP / 2 с HTTP / 1 без TLS не поддерживается.
- Пользователь не может указать версию TLS для согласования рукопожатия.В настоящее время, если присутствует узел TLS, Proxy Verifier будет использовать наивысший Версия TLS, которую он может согласовывать с одноранговым узлом. Это OpenSSL по умолчанию поведение. Запрос на расширение для поддержки спецификации версии TLS запрос функции записан в выпуске 101.
- Аналогично, пользователь не может указать, использовать ли IPv4 или IPv6 через
ip: версия
node. Proxy Verifier может тестировать IPv6, но делает это через пользователя. передача IPv6-адресов в командной строке. Запрос функции версии IP записано в выпуске 100. - Поддерживается только TCP. Недавно были дискуссии о добавлении Поддержка HTTP / 3, которая осуществляется через UDP, но работа над ней еще не началась.
Если не указан узел протокола
, то Proxy Verifier по умолчанию будет
установление соединения HTTP / 1 через TCP (без TLS).
Спецификация задержки сеанса и транзакции
Пользователь также может указать задержки для каждого сеанса и / или транзакции.
вставляется клиентом и сервером Verifier во время воспроизведения трафика.Этот
выполняется через узел задержки
, который занимает определенную единицу времени для
связанная задержка. Во время воспроизведения трафика задержка вставляется перед
связанный сеанс установлен или до запроса клиента или сервера
ответ отправлен. Proxy Verifier распознает следующие единицы продолжительности времени
для узла задержки
:
Суффикс единицы | Значение |
---|---|
с | секунды |
мс | миллисекунды |
нас | микросекунды |
Вот пример фрагмента файла воспроизведения, который демонстрирует спецификацию набор задержек:
сеансов: - задержка: 2 с транзакции: клиент-запрос: задержка: 15 мс метод: POST url: / a / path.jpeg версия: '1.1' заголовки: поля: - [Content-Length, '399'] - [Content-Type, image / jpeg] - [Хост, example.com] - [uuid, 1] ответ сервера: задержка: 17000 мкс статус: 200 причина: ОК заголовки: поля: - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, image / jpeg] - [Кодирование передачи, по частям] - [Подключение, проверка активности] содержание: размер: 3432
Обратите внимание, что в этом примере указаны следующие задержки:
- Клиент задерживается на 2 секунды перед установлением сеанса.
- Клиент также задерживает 15 миллисекунд перед отправкой клиента запрос.
- Сервер задерживает 17 миллисекунд (17000 микросекунд) перед отправкой соответствующий ответ после получения запроса.
Обратите внимание на следующие характеристики узла delay
:
- Клиент Verifier интерпретирует и реализует задержку
сеансов узел
и для транзакций в узлеклиент-запрос
.В Сервер верификатора интерпретирует задержку только для транзакций всервер-ответ
узла и игнорируетсеанс
задержки. Поскольку сервер пассивен при получении соединений, не очевидно, что за сеанс на стороне сервера задержка будет означать в этом контексте. - Обратите внимание, что Proxy Verifier поддерживает детализацию задержки на уровне микросекунд, и действительно точно вставляет задержки в подходящее время во время воспроизведения с такой точностью времени. Однако имейте в виду, что для подавляющего большинства сети с точностью до миллисекунды, как правило, бесполезны.
См. Также —rate
Спецификация проверки трафика
В дополнение к воспроизведению HTTP-трафика, как описано выше, Proxy Verifier также
реализует проверку прокси-трафика. Для любой транзакции прокси
Верификатор может дополнительно проверить характеристики строки HTTP-запроса (для
Запросы HTTP / 1 — запросы HTTP / 2 не имеют строки запроса), ответ
статус и содержимое полей HTTP для запросов и ответов.Прокси
Verifier также поддерживает проверку полей псевдозаголовка HTTP / 2.
В то время как клиент-запрос
и сервер-ответ
узлы направляют клиента Verifier
и сервер (соответственно) о том, как отправлять трафик, прокси-запрос
и proxy-response Узлы
указывают серверу и клиенту (соответственно), как
проверить трафик, который он получает от прокси. Таким образом:
-
запрос клиента
узла используются клиентом Verifier, чтобы указать, как он будет генерировать запросы, которые он будет отправлять на прокси. -
сервер-ответ
узла используются сервером Verifier, чтобы указать, как он будет генерировать ответы для отправки на прокси. -
прокси-запрос
узлов используются сервером Verifier, чтобы указать, как он будет проверять запросы, полученные от прокси. -
прокси-ответ
узлов используются клиентом Verifier, чтобы указать, как он будет проверить ответы, полученные от прокси.
В случае, если прокси не производит оговоренный трафик в соответствии с к директиве проверки, клиент или сервер Proxy Verifier, который обнаруживает нарушение создаст журнал с указанием нарушения и после обработки exit, вернуть оболочке ненулевой статус.
Проверка трафика — дополнительная функция. Таким образом, если Proxy Verifier
используется просто для воспроизведения трафика, а функции проверки бесполезны,
тогда пользователь может просто опустить узлы proxy-request
и proxy-response
и никакая проверка выполняться не будет.
В следующих разделах описывается, как указать проверку трафика в YAML. воспроизвести файл.
Полевая проверка
Напомним, что в узлах клиент-запрос
и сервер-ответ
поля
указывается через последовательность из двух элементов: имя поля, за которым следует поле
ценить.Например, следующий неполный узел клиент-запрос
содержит
спецификация одного поля Content-Length
(это неполное, потому что
он не указывает метод, цель запроса и т. д., но этот фрагмент
достаточно демонстрирует типичное описание поля HTTP):
клиент-запрос: заголовки: поля: - [Content-Length, 399]
Для этого клиентского запроса Proxy Verifier направлен на создание Content-Length
Поле HTTP со значением 399
.
Проверка полей указывается аналогичным образом, но второй пункт в
Последовательность — это карта, описывающая, как следует проверять поле. Карта занимает значение
элемент, описывающий характеристики значения для проверки, если
применимо, и элемент как элемент
, содержащий директиву, описывающую, как поле
следует проверить. Вот пример узла прокси-запроса , направляющего
Сервер-верификатор для проверки характеристик поля Content-Length
получено от прокси:
прокси-запрос: заголовки: поля: - [Content-Length, {value: 399, as: equal}]
Обратите внимание на следующее в этом контрольном примере:
- Как описано выше, обратите внимание, что вторая запись в спецификации поля — это карта вместо значения скалярного поля.Парсер Proxy Verifier распознает этот тип карты как обеспечивающий спецификацию проверки.
- Как и в спецификациях полей
client-request
иserver-response
, первый элемент в списке описывает имя поля, в данном случае «Длина содержимого». Это означает, что это правило проверки применяется к HTTP-поле Content-Length из прокси. - Директива указывается через
как ключ
. В этом примереравно
. директива для проверки этого конкретного поля, указывающая, что Сервер-верификатор должен проверить, что запрос прокси для этой транзакции содержит полеContent-Length
с точным значением399
.
Proxy Verifier поддерживает шесть директив проверки полей:
Директива | Описание |
---|---|
отсутствует | Отсутствие поля с указанным именем поля. |
настоящее время | Наличие поля с указанным именем поля и любого значения или без значения. |
равно | Наличие поля с указанным именем поля и значением , равным указанному значению. |
содержит | Наличие поля с указанным именем со значением , содержащим указанное значение. |
префикс | Наличие поля с указанным именем со значением с префиксом с указанным значением. |
суффикс | Наличие поля с указанным именем со значением с суффиксом с указанным значением. |
Для всех этих поведений проверки полей имена полей совпадают с регистром нечувствительно, в то время как значения полей сопоставляются с учетом регистра.
Таким образом, следующая спецификация поля не требует проверки поля, потому что она не включает директиву, а вторым элементом в последовательности является выделение:
- [X-Forwarded-For, 10.10.10.2]
Такие нерабочие поля также могут быть указаны с использованием синтаксиса карты без как
товар:
- [X-Forwarded-For, {значение: 10.10.10.2}]
Подобные поля в proxy-request
и proxy-response
узлов допустимы
парсером Proxy Verifier, даже если они не имеют функционального воздействия (т.е.,
они не управляют поведением трафика Proxy Verifier, потому что не находятся в клиент-запрос
или сервер-ответ
узлов, и они не описывают никаких
поведение проверки). Разрешение таких полей дает пользователю возможность
записывать поведение трафика прокси в ситуациях, когда проверка поля
не требуется или желательно. Например, трафик
Свалка
Плагин Traffic Server записывает HTTP-трафик и использует эти HTTP-поля прокси для
указать, какие поля были отправлены прокси-сервером Traffic Server клиенту и
сервер.Это может быть полезно для анализа поведения прокси с помощью этих
воспроизвести файлы. Таким образом, эта функция записи прокси-трафика может быть полезна для
пользователь, даже если Proxy Verifier рассматривает поля как неработающие.
Ниже показана директива absent
, которая указывает, что поле HTTP X-Forwarded-For
с любым значением не должно быть отправлено прокси:
- [X-Forwarded-For, {as: absent}]
Ниже показана директива present
, которая указывает, что поле HTTP X-Forwarded-For
с любым значением должно быть отправлено прокси:
- [X-Forwarded-For, {as: present}]
Обратите внимание, что для директив отсутствует
и присутствует
, элемент карты значение
не имеет отношения и не должен предоставляться и, фактически, будет проигнорирован Proxy Verifier, если он предоставляется.
Ниже показана директива equal
, которая указывает, что X-Forwarded-For
должен быть получен от прокси с точным значением «10.10.10.2»:
- [X-Forwarded-For, {value: 10.10.10.2, as: equal}]
Ниже показано, что директива содержит
, которая указывает, что X-Forwarded-For
должен быть получен от прокси, содержащего значение «10» в любой позиции в значении поля:
- [X-Forwarded-For, {значение: 10, as: contains}]
Ниже показана директива префикса
, которая указывает, что X-Forwarded-For
должен быть получен от прокси со значением поля, начинающимся с «1»:
- [X-Forwarded-For, {значение: 1, как: префикс}]
Ниже показана директива суффикса
, которая указывает, что X-Forwarded-For
должен быть получен от прокси со значением поля, заканчивающимся на «2»:
- [X-Forwarded-For, {значение: 2, как: суффикс}]
Проверка URL
Аналогично проверке на местах, описанной выше, существует механизм
для проверки частей URL-адресов в строке запроса, получаемых от прокси
сервером.Этот механизм полезен для проверки целей запроса
HTTP / 1 запросы. Для запросов HTTP / 2 аналогичная проверка выполняется через
проверка поля псевдозаголовка схемы :
, : авторитет
и : путь
полей с использованием описанной выше проверки поля.
Правила проверки цели запроса устанавливаются через значение последовательности для URL-адрес узла
, а не скалярное значение, используемое в узлах клиентских запросов
. В
Проверяемые части цели запроса следуют спецификации URI (см.
RFC 3986 раздел 3 для формального
определение этих различных терминов):
-
схема
-
хост
-
порт
-
авторитет
(также известный какnet-loc
, комбинация хостапорта
), -
путь
-
запрос
-
фрагмент
Например, рассмотрим следующую строку запроса:
ПОЛУЧИТЬ http: // example.one: 8080 / path? query = q # Frag HTTP / 1.1
URL-адрес запроса в данном случае http://example.one:8080/path?query=q#Frag
. Сервер верификатора может быть
настроен для проверки различных частей таких URL-адресов с использованием одного и того же синтаксиса карты
объяснено выше для проверки поля с использованием любой из тех же директив
( равно
, содержит
и т. Д.). Продолжая этот пример URL, следующий
использует директиву , равную
для каждой части URL-адреса, тем самым проверяя, что
URL-адрес запроса точно совпадает с URL-адресом, приведенным в этом примере, и генерирует
сообщение об ошибке проверки, если какие-либо части URL-адреса не совпадают:
прокси-запрос: URL: - [схема, {значение: http, как: равно}] - [хост, {значение: пример.one, as: equal}] - [порт, {значение: 8080, как: равно}] - [путь, {значение: / путь, как: равно}] - [запрос, {значение: запрос = q, как: равно}] - [фрагмент, {значение: Frag, as: equal}]
В качестве альтернативы хосту
и порт
, авторитет
с псевдонимом net-loc
поддерживается, что является комбинацией двух:
- [полномочия, {значение: example.one:8080, as: equal}]
В качестве другого примера использования других директив рассмотрим URL-адрес запроса / путь / x / y? Query = q # Frag
.Подтверждение этого можно указать с помощью
следующее:
прокси-запрос: URL: - [схема, {значение: http, как: отсутствует}] - [полномочия, {значение: foo, as: absent}] - [путь, {значение: / путь / x / y, как: равно}] - [запрос, {значение: запрос = q, как: равно}] - [фрагмент, {значение: foo, as: present}]
Обратите внимание, что схема
и часть полномочий
используют отсутствующие директивы
, потому что
этот конкретный URL-адрес содержит только компоненты пути, запроса и фрагмента.Таким образом, с
эта спецификация проверки, если прокси включает схему или полномочия в
цель запроса, это приведет к сбою проверки. Путь
и query
компоненты должны соответствовать / path / x / y
и query = q
именно потому, что они
используйте директиву equal
. Фрагмент
URL-адреса проверяется с помощью в данном случае представляет директиву
, указывая на то, что полученный URL-адрес от
прокси должен иметь только некоторый фрагмент любого значения, чтобы передать это указанное
проверка.
Проверка статуса
Проверка статуса HTTP-ответа прокси указывается в proxy-response
узлы. В этом случае статус ответа, который должен ожидать клиент Verifier
от прокси указывается так же, как и сервер Verifier
в каком статусе ответа следует отправить данный запрос.
Например, следующий полный узел proxy-response
направляет прокси-сервер
Клиент верификатора, чтобы убедиться, что прокси-сервер отвечает на связанный HTTP-запрос.
со статусом 404
:
прокси-ответ: статус: 404
Эта директива проверки применяется к транзакциям HTTP / 1.Для HTTP / 2 статус
проверка указывается через : status
проверка поля псевдозаголовка с использованием
механизм проверки поля, описанный выше.
Проверка строк причины ответа HTTP, например «Не найдено», не выполняется. в настоящее время поддерживается.
Пример файла воспроизведения
Разделы, ведущие к этому, описали каждый из основных компонентов файла воспроизведения YAML Proxy Verifier. Собирая эти компоненты вместе, следующий полный образец файла воспроизведения демонстрирует описание воспроизведение двух сессий: один HTTP / 1.1 сессия, вторая сессия HTTP / 2. Каждая сессия содержит одну транзакцию с проверкой определенных частей. сообщений HTTP.
мета: версия: '1.0' сеансы: # # Первый сеанс: поскольку для этого сеанса нет узла "протокола", # Предполагается, что HTTP / 1.1 поверх TCP (без TLS). # - транзакции: # # Поручить клиенту Proxy Verifier отправить запрос POST с телом # 399 байт. # - клиент-запрос: метод: POST URL: /pictures/flower.jpeg версия: '1.1 ' заголовки: поля: - [Хост, www.example.com] - [Content-Type, image / jpeg] - [Content-Length, '399'] - [uuid, первый запрос] # Узел «содержимого» не нужен, если указано поле Content-Length. # # Поручить серверу Proxy Verifier проверить, что запрос, полученный от # прокси имеет путь в цели запроса, который содержит "flower.jpeg" # и имеет любое значение в поле Content-Length. # прокси-запрос: URL: - [путь, {значение: цветок.jpeg, as: contains}] заголовки: поля: - [Content-Length, {значение: '399', as: present}] # # Направляем сервер Proxy Verifier на ответ 200 OK с телом # 3432 байта. # ответ сервера: статус: 200 причина: ОК заголовки: поля: - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, image / jpeg] - [Кодирование передачи, по частям] - [Подключение, проверка активности] # В отличие от запроса, который содержит Content-Length, этот ответ # потребует узел "содержимого", чтобы указать размер тела.# В противном случае Proxy Verifier не сможет узнать размер ответа # должно быть. содержание: размер: 3432 # # Поручить клиенту Proxy Verifier убедиться, что он получил 200 OK от # прокси с полем заголовка Transfer-Encoding: chunked. # прокси-ответ: статус: 200 заголовки: поля: - [Transfer-Encoding, {value: chunked, as: equal}] # # Для второго сеанса мы используем узел протокола для настройки HTTP / 2 с помощью # SNI # test_sni в подтверждении TLS.# - протокол: - имя: http версия: 2 - имя: tls sni: test_sni - имя: tcp - имя: ip транзакции: # # Поручить клиенту Proxy Verifier отправить запрос POST с телом # 399 байт. # - клиент-запрос: заголовки: поля: - [: метод, POST] - [: схема, https] - [: авторитет, www.example.com] - [: путь, /pictures/flower.jpeg] - [Content-Type, image / jpeg] - [uuid, второй запрос] содержание: размер: 399 # # Поручить серверу Proxy Verifier проверить, что запрос, полученный от # прокси-сервер имеет поле псевдо-заголовка пути, содержащее "flower.jpeg " # и имеет поле «Content-Type: image / jpeg». # прокси-запрос: URL: - [путь, {значение: flower.jpeg, as: contains}] заголовки: поля: - [: метод, POST] - [: схема, https] - [: авторитет, www.example.com] - [: путь, {значение: flower.jpeg, as: contains}] - [Content-Type, {value: image / jpeg, as: equal}] # # Направляем сервер Proxy Verifier на ответ 200 OK с телом # 3432 байта.# ответ сервера: заголовки: поля: - [: status, 200] - [Дата, "Сб, 16 марта 2019 г., 03:11:36 GMT"] - [Content-Type, image / jpeg] содержание: размер: 3432 # # Поручить клиенту Proxy Verifier убедиться, что он получил 200 OK от # прокси. # прокси-ответ: статус: 200
Установить
Эти инструкции описывают, как создать копию проекта Proxy Verifier. на вашем локальном компьютере для разработки и тестирования.
Предварительные требования
Для сборки и запуска Proxy Verifier в системе должно быть установлено следующее:
- SCons. Proxy Verifier построен с использованием SCons Python. инструмент сборки.
- OpenSSL. Версия OpenSSL, с которой скомпилирована, будет определять версию TLS. встроенный Proxy Verifier будет поддерживать. Используйте как минимум версию 1.1.1 для TLS 1.3 служба поддержки.
- Nghttp2 Это структура, используемая для синтаксического анализа HTTP / 2. трафик. Основное развитие Proxy Verifier было выполнено с версией 1.39, но могут работать и более ранние версии.
Дом
OpenSSL и Nghttp2 связаны динамически и имеют свои собственные SCons
аргументы, указывающие на их местонахождение. SCons — это модуль Python. Для
удобство, Pipfile существует в корне репозитория Proxy Verifier, который
определяет модули Python SCons, необходимые для создания Proxy Verifier. Предполагая, что вы
в вашей среде установлен pipenv,
вы можете просто использовать pipenv install
для настройки виртуального Python
среды для SCons, а затем создайте с помощью команды scons
в этом
среда.
установка pipenv
pipenv запустить scons \
-j8 \
--with-ssl = / путь / к / openssl \
--with-nghttp2 = / путь / к / nghttp2 \
--cfg = выпуск \
доверенное лицо
Это создаст клиент-верификатор
сервер-верификатор
в каталоге bin /
в
корень репозитория. Примечание:
-
-j8
указывает scons на сборку с 8 потоками. Отрегулируйте в соответствии с возможности вашей системы сборки. -
--with-ssl
и--with-nghttp2
оба выбирают путь к opennsl системы и места установки nghttp2 devel соответственно.Proxy Verifier будет динамически связаны с этими библиотеками. - По умолчанию scons выполняет отладочную сборку без оптимизации.
--cfg = выпуск
предписывает ему выполнить сборку без отладки для различных компонентов с включена оптимизация (например, с-O2
для сборок g ++). Это очень важно, если воспроизведение больших объемов трафика.
Создание на Ubuntu
Следующие команды установят необходимые пакеты и построят прокси. Верификатор на Ubuntu.Эти команды были проверены для Ubuntu 20.04 LTS.
sudo apt update
sudo apt-get install -y git libssl-dev libnghttp2-dev pipenv
git clone https://github.com/yahoo/proxy-verifier.git
cd прокси-верификатор
pipenv установить
pipenv запустить scons \
-j8 \
--cfg = выпуск \
--with-ssl = $ (имя каталога $ (dpkg -L libssl-dev | grep ssl.so)) \
--with-nghttp2 = $ (dirname $ (dpkg -L libnghttp2-dev | grep libnghttp2.so)) \
доверенное лицо
На основе macOS
Следующие команды установят необходимые пакеты и построят прокси. Верификатор на Mac.Эти команды предполагают, что у вас есть Homebrew установлен в вашей системе. Эти команды были проверено для macOS Big Sur.
brew install pipenv openssl nghttp2
git clone https://github.com/yahoo/proxy-verifier.git
cd прокси-верификатор
pipenv установить
pipenv запустить scons \
-j8 \
--cfg = выпуск \
--with-ssl = `brew --prefix openssl` \
--with-nghttp2 = `brew --prefix nghttp2` \
доверенное лицо
На базе CentOS
На основе CentOS 8
Следующие команды установят необходимые пакеты и построят прокси.
Верификатор на CentOS.Эти команды были проверены для CentOS Linux, выпуск 8.3.2011
:
sudo yum install -y openssl-devel python38-pip git
sudo dnf -y group install "Средства разработки"
sudo dnf -y --enablerepo = powertools установить libnghttp2-devel
sudo pip3 установить pipenv
git clone https://github.com/yahoo/proxy-verifier.git
cd прокси-верификатор
pipenv установить
pipenv запустить scons \
-j8 \
--cfg = выпуск \
--with-ssl = / usr / lib64 \
--with-nghttp2 = / usr / include \
доверенное лицо
На основе CentOS 7
Для сборки на CentOS 7 требуется сборка обновленной версии nghttp2, потому что
официальные репозитории пакетов CentOS не содержат достаточно свежих
версия для сборки с помощью Proxy Verifier.Следующее было проверено на CentOS Linux, выпуск 7.9.2009
:
sudo yum install -y centos-release-scl epel-release git wget autoconf automake libtool
sudo yum install -y devtoolset-9 rh-python38-python-devel rh-python38 rh-python38-python-pip openssl11-devel
# "sudo su" для удобства, поскольку мы будем искать переменные среды.
sudo su
источник / opt / rh / rh-python38 / включить
pip3 установить pipenv
источник / opt / rh / devtoolset-9 / включить
cd / var / tmp
wget https: // github.com / nghttp2 / nghttp2 / архив / v1.43.0.tar.gz
tar xf v1.43.0.tar.gz
cd nghttp2-1.43.0
autoreconf -fi
./configure --prefix = / opt / scons-build / nghttp2 / 1.43.0 LIBS = "- L / opt / rh / rh-python38 / root / lib"
make -j8
сделать -j8 установить
mkdir -p /opt/scons-build/openssl/1.1.1
ln -s / usr / include / openssl11 / /opt/scons-build/openssl/1.1.1/include
ln -s / usr / lib64 / openssl11 / /opt/scons-build/openssl/1.1.1/lib
exit # Для выхода из оболочки из "sudo su"
git clone https://github.com/yahoo/proxy-verifier.git
cd прокси-верификатор
источник / opt / rh / rh-python38 / включить
pipenv установить
pipenv запустить scons \
-j8 \
--cfg = выпуск \
--with-ssl = / opt / scons-build / openssl / 1.1.1 \
--with-nghttp2 = / opt / scons-build / nghttp2 / 1.43.0 \
доверенное лицо
ASan Instrumentation
Локальный файл Sconstruct настроен так, чтобы принимать необязательный параметр --enable-asan
параметр. Если это передается в строку сборки scons, тогда Proxy Verifier
объекты и двоичные файлы будут скомпилированы и связаны с флагами, которые
их для AddressSanatizer.
Это предполагает, что в системе установлена библиотека AddressSanatizer на
система. Таким образом, приведенный выше вызов для его компиляции будет выглядеть следующим образом:
с инструментарием AddressSanitizer:
установка pipenv
pipenv запустить scons \
-j8 \
--with-ssl = / путь / к / openssl \
--with-nghttp2 = / путь / к / nghttp2 \
--cfg = выпуск \
--enable-asan \
доверенное лицо
Выполнение тестов
Модульные тесты
Для создания и запуска модульных тестов используйте цель run_utest
Scons (предполагается, что
ранее вы запускали pipenv install
, см. выше):
pipenv run scons \
-j8 \
--with-ssl = / путь / к / openssl \
--with-nghttp2 = / путь / к / nghttp2 \
--cfg = выпуск \
run_utest ::
Золото Тесты
Proxy Verifier поставляется с набором автоматизированных сквозных тестов, написанных с использованием
AuTest
рамки.Чтобы запустить их, просто запустите сценарий autest.sh
:
cd test / autests
./autest.sh
При разработке, для которой актуален конкретный AuTest, -f
опция может использоваться для запуска только определенного теста (или набора тестов, указанных
в списке, разделенном пробелами). Например, следующий вызов запускается
только тесты http и https:
./autest.sh -f http https
AuTest поддерживает множество других опций.Запустите ./autest.sh --help
, чтобы получить
краткое описание различных параметров командной строки. Посмотреть AuTest
Документация для получения дополнительных сведений о
рамки.
Примечание для macOS : виртуальная среда Python для этих золотых тестов
требуется пакет криптографии как
зависимость пакета pyOpenSSL.
Pipenv установит это автоматически, но установка
Криптография Пакет
потребует компиляции определенных файлов c для OpenSSL.В macOS есть собственные библиотеки SSL, которых нет в версии OpenSSL.
заменить по понятным причинам. Здание криптографии
будет
не справиться с системными библиотеками SSL. Чтобы указать сборку для пивоварения OpenSSL
библиотеки, сценарий autest.sh
экспортирует следующие переменные перед
работает pipenv install
:
экспорт LDFLAGS = "- L / usr / local / opt / openssl / lib"
export CPPFLAGS = "- I / usr / local / opt / openssl / include"
экспорт PKG_CONFIG_PATH = "/ usr / local / opt / openssl / lib / pkgconfig"
Таким образом, если вы будете использовать autest.sh
скрипт вам не о чем беспокоиться
об этом. Но если вы установите pipenv вручную, а не через autest.sh
скрипт в macOS, помните об этом и экспортируйте эти переменные
перед запуском pipenv install
.
Использование
В этом разделе описывается, как запустить клиент и сервер Proxy Verifier на командная строка.
Обязательные аргументы
На высоком уровне Proxy Verifier запускается следующим образом:
- Запустить сервер-верификатор с набором портов HTTP и HTTPS для прослушивания настраивал через командную строку.Каталог, содержащий файл воспроизведения также настраивается с помощью аргумента командной строки.
- Настройте и запустите прокси для прослушивания набора портов HTTP и HTTPS и для проксирования этих подключений к портам слушающего сервера-верификатора.
- Запустите верификатор-клиент с наборами портов HTTP и HTTPS, на которых нужно подключение настроено через командную строку. Каталог, содержащий файл воспроизведения также настраивается с помощью аргумента командной строки.
Вот пример вызова сервера-верификатора, настраивающего его для прослушивания порт localhost 8080 для HTTP-соединений и порт localhost 4443 для HTTPS соединений:
верификатор-сервер \
бег \
- слушать-http 127.0.0.1: 8080 \
--listen-https 127.0.0.1:4443 \
--server-cert \
--ca-certs \
Вот пример вызова верификатора-клиента, настраивающего его для подключения к прокси, который был настроен для прослушивания порта 8081 localhost для HTTP соединения и порт localhost 4444 для соединений HTTPS:
верификатор-клиент \
бег \
--client-cert \
--ca-certs \
--connect-http 127.0.0.1: 8081 \
--connect-https 127.0.0.1:4444 \
С этими двумя вызовами клиент-верификатор и сервер-верификатор будут воспроизводить
сеансы и транзакции в
и выполнить любое поле
проверка описана в нем.
На сервере либо --listen-http
, либо --listen-https
, либо оба должны быть
при условии. То есть, например, если вы тестируете только HTTPS-трафик, вы можете
укажите только --listen-https
.То же самое и с клиентом: либо --connect-http
или --connect-https
или оба должны быть предоставлены. Этот адрес
аргументы принимают разделенный запятыми список пар адрес / порт, чтобы указать несколько
прослушивающие или соединительные розетки. Обработка этих аргументов
автоматически обнаруживает любые IPv6-адреса, если они указаны. Обработка клиента
из аргументов --connect-http
и --connect-https
будут разрешены полностью
квалифицированные доменные имена.
Обратите внимание, что --client-cert
и --server-cert
оба принимают либо
файл сертификата, содержащий открытый и закрытый ключ или каталог
содержащие pem и ключевые файлы.Точно так же --ca-certs
принимает либо файл
содержащий один или несколько сертификатов или каталог с отдельным сертификатом
файлы. Для удобства
тест / ключи
Каталог содержит ключевые файлы, которые можно использовать для тестирования. Эти свидетельства
аргументы требуются только в том случае, если будет воспроизводиться HTTPS-трафик.
Необязательные аргументы
—format
<спецификация-формат>Каждая транзакция должна быть однозначно идентифицируемой клиентом и сервером в способ, который согласован как при анализе файла воспроизведения, так и при воспроизведении трафика обработка.Какие бы атрибуты мы ни использовали в сообщениях, чтобы однозначно идентифицировать транзакции называются «ключевыми» для набора данных. Возможность однозначно Определить эти сообщения важно как минимум по следующим причинам:
- Когда сервер Verifier получает запрос, он должен знать, от какого из набор проанализированных транзакций, он должен генерировать ответ. На время обработка входящего сообщения, все, что нужно сделать, это заголовок запроса строка и поля заголовка запроса. По ним он должен уметь идентифицировать какая из потенциально тысяч проанализированных транзакций из ввода воспроизведения файлы он должен вызвать ответ.
- Когда клиент и сервер выполняют полевую проверку, им нужно знать, что должны применяться определенные правила проверки, указанные в файлах воспроизведения. к данному входящему сообщению.
- Если клиент и сервер обрабатывают много транзакций, общий журнал сообщения могли быть почти бесполезными, если бы журналы не могли как-то идентифицировать отдельные транзакции для пользователя.
По умолчанию клиент и сервер Verifier ожидают поля заголовка uuid
значение для функции ключа.
Если пользователь хочет использовать другие атрибуты в качестве ключа, он может указать
что-то еще через аргумент --format
. Аргумент формата в настоящее время
поддерживает создание ключа для произвольных значений поля и URL
запрос. Некоторые примеры выражений --format
включают:
-
--format "{field.uuid}"
: это формат ключа по умолчанию. Лечит UUID значение поля заголовка в качестве ключа транзакции. -
--format "{url}"
: обрабатывать запросURL
как ключ. -
--format "{field.host}"
: обрабатывать значение поля заголовкаHost
как ключ. -
--format "{field.host} / {url}"
: обрабатывать комбинацию заголовкаHost
поле и запросURL
в качестве ключа.
— клавиши
<ключ1 ключ2 ... ключ> - ключи
могут быть переданы клиенту-верификатору, чтобы указать подмножество ключей из
файл воспроизведения для запуска. Только транзакции из разделенного пробелами списка
ключи будут воспроизведены.Например, следующий вызов запустит только
транзакции с ключами со значениями 3 и 5:
верификатор-клиент \
бег \
\
127.0.0.1:8082 \
127.0.0.1:4443 \
- клавиши 3 5
Это вариант только на стороне клиента.
— словесный
Proxy Verifier имеет четыре уровня детализации, с которыми он может работать:
Детализация | Описание |
---|---|
ошибка | Транзакции либо не были выполнены, либо не прошли проверку. |
предупреждение | Произошла исправная проблема, но, вероятно, что-то пойдет не так в будущем. |
информация | Информация о выполнении теста высокого уровня. |
диаг. | Низкоуровневая отладочная информация. |
Каждый уровень подразумевает вышестоящие. Таким образом, если пользователь указывает многословие
уровень предупреждение
, то выводятся как предупреждения, так и сообщения об ошибках.
По умолчанию Proxy Verifier работает со степенью детализации , выводит только сводку.
вывод как клиентом, так и сервером вместе с любыми предупреждениями и ошибками, которые он
нашел.Это можно настроить с помощью флага
--verbose
. Вот пример запроса
самый подробный уровень ведения журнала ( diag
):
верификатор-клиент \
бег \
\
127.0.0.1:8082 \
127.0.0.1:4443 \
--verbose diag
- без прокси
Как объяснено выше, файлы воспроизведения содержат информацию о трафике для обоих клиентов. прокси-трафик и прокси-сервер для трафика. При определенных обстоятельствах это может будет полезно запустить клиент Verifier непосредственно на сервере Verifier.Это может быть полезно при разработке самого Proxy Verifier, например, позволяя разработчику проводить ограниченное тестирование, не требуя настройки тестового прокси.
Для поддержки этого у клиента Verifier есть опция --no-proxy
. Если это
используется опция, тогда ожидания клиента настроены таким образом, что он
предполагает, что он запускается на сервере Verifier, а не на прокси. Эффективно
это означает, что вместо того, чтобы пытаться запустить клиент для прокси-трафика, он будет
вместо этого действовать как прокси-хост для сервера Verifier и запускать прокси для
трафик сервера.Конкретно это означает, что клиент Verifier будет воспроизводить прокси-запрос
и прокси-ответ
узлов, а не клиентский запрос
и клиент-ответ
узла.
Это вариант только на стороне клиента.
- стр.
Как правило, проверяется очень мало информации о воспроизводимом трафике, за исключением того, что
явно указывается при проверке поля (см. выше). Это по замыслу,
позволяя пользователю воспроизводить трафик, сохраняя только запрошенный контент.
проверено.В случаях большого объема, например в ситуациях, когда прокси-верификатор
используется для масштабного тестирования прокси, проверка трафика может быть рассмотрена
неважно или даже излишне шумно. Если, однако, пользователь хочет, чтобы
поле, которое необходимо проверить независимо от спецификации, то параметр --strict
могут быть переданы как клиенту, так и серверу Proxy Verifier для отчета
любые проблемы проверки для каждого поля, указанного в файле воспроизведения.
- скорость
<запросов в секунду> По умолчанию клиент будет воспроизводить сеанс и транзакции в воспроизведении.
файлы как можно быстрее.Если пользователь желает настроить клиента на
воспроизвести транзакции с определенной скоростью, они могут предоставить - скорость
аргумент. Этот аргумент принимает количество запросов в секунду, которые клиент будет
попытаться отправить запросы на.
Данные о сеансе записи и времени транзакции могут быть указаны в файлах воспроизведения.
Они предоставляются через время начала
узлов для каждого сеанса
и транзакции
. start-time
принимает в качестве значения количество наносекунд с эпохи Unix (или
любое другое время отсчета, наблюдаемое всеми узлами времени начала
в наборе
запущенных файлов воспроизведения), связанных с этим сеансом или транзакцией.С
эта информация о времени, если предоставляется --rate
, Proxy Verifier просто масштабирует
относительные разницы во времени между сеансами и транзакциями, которые соответствующим образом
достигает желаемой скорости транзакции. Трафик
Свалка
записывает такую информацию о времени при записи файлов воспроизведения. В отсутствие время начала
узлов, Proxy Verifier попытается применить соответствующую униформу
задержка между сеансами и транзакциями для достижения указанного - ставка
ценить.
Это вариант только на стороне клиента.
--повторить
<число> По умолчанию клиент воспроизводит все транзакции один раз в наборе
входные файлы воспроизведения. Если пользователь хочет, чтобы клиент автоматически повторял
этот набор несколько раз, они могут предоставить опцию --repeat
. В
Аргумент принимает количество раз, которое клиент должен воспроизвести весь набор данных.
Это вариант только на стороне клиента.
--thread-limit
<число> Каждое соединение, соответствующее сеансу
в файле воспроизведения, отправляется
на клиенте параллельно.Точно так же каждое принятое соединение на сервере
обрабатываются параллельно. Каждый из этих сеансов обрабатывается одним потоком
исполнение. По умолчанию Proxy Verifier ограничивает количество потоков для обработки.
этих подключений до 2000. Этот предел можно изменить с помощью параметра --thread-limit
.
вариант. Установка значения 1 на клиенте фактически вызовет сеансы
будет воспроизведен в сериале.
Внести вклад
Пожалуйста, обратитесь к СОДЕРЖАНИЕ для получения информации о том, как принять участие.Мы приветствуем проблемы, вопросы и запросы на вытягивание.
Лицензия
Этот проект находится под лицензией Apache 2.0 с открытым исходным кодом. Пожалуйста, обратитесь к ЛИЦЕНЗИИ, чтобы узнать о полных условиях.
Что такое верификатор штрих-кода?
Все верификаторы штрих-кода измеряют одни и те же параметры каждого штрих-кода, и они должны соответствовать стандартам ISO / IEC для верификаторов, если результаты оборудования одного производителя должны сравниваться с результатами другого производителя.Это означает, что каждый верификатор должен последовательно измерять отражательную способность каждого штрих-кода и использовать точные измерения.
Эти стандартные измерения выполняются с помощью калибровочных карт, которые сами измеряются в соответствии со стандартами отражательной способности, выпущенными Национальным институтом стандартов и технологий США. Калибровочные карты, поставляемые Axicon, производятся в США компанией Applied Image, которая с 1989 года работала с Американским национальным институтом стандартов (ANSI) и Советом унифицированных кодов (теперь GS1) над разработкой этих стандартов отражательной способности.
Материалы, используемые для создания калибровочных карт, выбраны так, чтобы они были максимально стабильными по цвету и по разумной цене, но со временем белый фон изменит цвет. Мы ожидаем, что точность этих карт будет оставаться стабильной в течение ограниченного времени, при условии, что они хранятся вдали от прямых солнечных лучей, тепла и сырости, и мы рекомендуем пользователям получать новую калибровочную карту каждый год, чтобы быть уверенным в правильности значений.
Карты необходимо хранить при нормальной комнатной температуре и в темноте, когда они не используются.Было бы хорошо хранить их в оригинальном бумажнике или конверте, в футляре проверяющего или в ящике стола.
Вы всегда должны использовать оригинальную карту в том виде, в котором она была поставлена, для регулярной калибровки верификатора. Не используйте его ксерокопию и не накрывайте какой-либо защитной пленкой или крышкой, так как это повлияет на его работу.
Если у вас есть старые неиспользованные калибровочные карты, вы можете сравнить их с результатами новой карты, чтобы убедиться, что они по-прежнему дают достаточно точные показания для ваших калибровок, но мы не можем гарантировать какой-либо аспект их работы.
Зачем калибровать поверочные
Верификатор использует питание, подаваемое через USB-соединение, для включения светодиодов, которые освещают штрих-код, и на их яркость влияет небольшое различие в питании USB между компьютерами и их температурой. Более яркие светодиоды будут означать более высокое значение максимальной отражательной способности - белизны калибровочной карты - и верификатор должен быть откалиброван с учетом этого.
Верификатор необходимо откалибровать для каждого компьютера, к которому он подключен, и запись калибровки будет храниться на каждом компьютере. Температура, при которой используется верификатор, также будет влиять на считываемые им показания, поэтому, если он перемещается из теплого офиса в прохладный склад, его следует откалибровать снова, когда он стабилизируется до новой температуры окружающей среды.
Другое изменение, которое происходит со временем, - это уменьшение яркости светодиодов.Это почти незаметно, но более тусклые светодиоды будут означать более низкую отражательную способность. Калибровка верификатора также исправляет это. Помимо калибровки, которую необходимо проводить на регулярной основе, верификаторам необходимо ежегодно иметь VCAS, службу согласования и юстировки, чтобы гарантировать, что они по-прежнему работают правильно.
Почему верификаторам нужно обслуживание
Когда мы проектируем и производим верификаторы, мы стремимся создавать их с использованием лучших доступных компонентов, и мы уверены, что они являются одними из самых надежных и надежных доступных верификаторов.Они по-прежнему являются портативными оптическими устройствами, компоненты которых могут зависеть от среды, в которой они используются, и от того, как с ними обращаться. Со временем светодиоды могут не освещать поле зрения так равномерно, как когда они были новыми, а на оптические компоненты (линзы, зеркало, фильтр) могут влиять мельчайшие частицы пыли.
Чтобы иметь возможность гарантировать, что верификатор работает так, как мы предполагали, и по-прежнему соответствует стандартам ISO / IEC, мы рекомендуем отправлять его нам каждый год для службы согласования и согласования верификатора или VCAS.Верификатор по-прежнему будет работать в допустимых пределах, но мы проверим, что он не пылен, оптически чист, правильно сфокусирован и может быть откалиброван пользователем. Мы также заменим все компоненты, которые проявляют признаки износа или ведут себя непоследовательно, и обеспечим, чтобы верификатор работал так же хорошо, как когда он был новым.
Как VCAS соотносится с гарантийным сроком
Мы уверены в разработке и производстве наших верификаторов, поэтому мы предоставляем двухлетнюю гарантию от выхода верификатора из строя во время нормальной эксплуатации.Если что-то пойдет не так с верификатором в течение первых двух лет его работы, любой ремонт будет произведен бесплатно.
VCAS не ремонтирует верификатор, а обеспечивает его правильную работу и возможность точной оценки различных штрих-кодов. Мы не ожидаем, что какой-либо из наших верификаторов перестанет работать, но слегка изменяющаяся производительность его компонентов по мере старения требует проверки и компенсации там, где это необходимо. Если верификатор никогда не выходит из строя и никогда не возвращается для VCAS, мы не можем быть уверены, что он правильно оценивает пограничные штрих-коды и что его показания для всех различных параметров, определенных ISO / IEC, точны.
.