Он мог разглядеть каждую каплю.
Несясь по проезжей части, он лавировал средь еле ползущих машин и всматривался в застывший в воздухе дождь.
Каждая капля была уникальна.
Скорость и направление ветра, шум городской дороги, давление от проезжающих автомобилей… Всё это и многое другое оставляло на частичках воды свой след и изменяло их форму. Одни были чуть вытянуты. Иные, напротив, приплюснуты. Третьи сталкивались с чем-нибудь твёрдым и разлетались на десятки более мелких переливающихся осколков.
Артём обогнул подъезжающий к перекрёстку грузовик и заметил, как свет его фар разбился в нескольких каплях на подобие радуги. Совсем маленькой и неразличимой ни для одного обычного человека. Но всё же радуги. И Артём её видел.
Светофор переключался на красный свет.
По взгляду водителя было понятно, что он собирался проскочить в последний момент. Рискованно. Особенно вечером и по мокрой дороге.
Артём видел, как на пешеходную зебру уже порывались выбежать трое мальчишек. Школьники. Начинающие спортсмены, судя по большим сумкам и выглядывающему из них характерному инвентарю.
Сместившись ближе к тротуару, Артём щёлкнул каждого из мальчишек по носу. Прямо сейчас они не могли этого почувствовать. Нервам требовалось время, чтобы передать сигнал в мозг, а последний ещё и должен был его обработать. Только затем ощущение могло проникнуть в их сознание и вызвать у мальчишек соответствующую реакцию.
Они бы никогда не узнали, кто и зачем их коснулся. Но вызванная этим касанием заминка могла спасти им жизнь.
А Артём продолжил бежать дальше.
Если машины на его фоне казались заторможенными улитками, то все пешеходы не шевелились вовсе. И, перебежав на тротуар, Артём будто начал двигаться по музею восковых фигур. Он видел живые лица и сосредоточенные глаза людей, однако полное отсутствие движения с их стороны порождало эффект зловещей долины. Всё было слишком реальным и нереальным одновременно.
Девушка не отрывала глаз от телефона.
Артём пробегал чуть сбоку от неё и прекрасно видел, что по щекам девушки, помимо дождя, стекали и слёзы. Правой рукой она прикрывала рот. Возможно, в телефоне было что-то, что очень сильно её расстроило. Артём не стал заглядывать внутрь и ограничился лишь тем, что смахнул рукой поток грязной воды, несущейся к девушке из-за разбрызгавшего лужу минивэна.
Поздний час и ливень сделали улицы полупустыми.
Только благодаря этому Артём мог так свободно бежать по тротуару без риска в любой момент с кем-нибудь столкнуться. Ясным днём такое было попросту невозможно. Тогда Артёму всегда приходилось держаться настороже и учитывать огромное множество факторов. Малейшая ошибка с его стороны могла привести к десяткам совершенно ненужных смертей.
Но сейчас всё было иначе.
И смерти Артём собирался нести лишь те, за которые ему платили.
Свернув с основных улиц, он очень скоро добрался до рядов одинаковых с виду гаражей. Рядом высились многоэтажки одного из вечно строящихся жилых комплексов. Именно его жителям принадлежали данные гаражи.
Здесь был не очень удобный выезд. Артём заметил это, даже передвигаясь только на своих двоих. Неудачный угол поворота и пышные кусты у самой дороги сильно ограничивали видимость слева. При выезде с улочки меж гаражей просто нельзя было адекватно оценить, едет там кто-то сбоку или нет. Водителям оставалось рассчитывать только на остроту слуха.
И кусок чьей-то разбитой фары на обочине подтверждал то, что как минимум одна авария здесь уже имела место.
Артём продолжал бежать вперёд, пока не достиг гаража с приоткрытыми воротами. Изнутри лился мягкий оранжевый свет, а чёрный номер на стене гласил: «42».
Артём был на месте.
Проникнув внутрь, он первым делом убедился, что все его цели были здесь, и только после этого захлопнул ворота.
Пятеро мужчин средних лет.
У тех, чьи плечи из-за безрукавных маек были оголены, Артём видел татуировки в виде кусающего солнце волка.
Лица всех соответствовали фотографиям, что показали Артёму этим утром.
Всё сходилось.
Схватив лежащий на полке разводной ключ, Артём раскроил череп ближайшему мужчине. Лобная кость продавилась, не оказав ощутимого сопротивления, и изогнутый металл вошёл прямо в мозг теперь уже мёртвому нечеловеку.
Левой рукой Артём вырвал из его пальцев только начатую бутылку с пивом, разбил её о ящик с инструментами и одним движением перерезал горло второй своей цели. Мужчина как раз делал глубокий затяг сигаретой, отчего в ране на горле замелькали клубы белесого дыма. Для полной уверенности Артём засадил горлышко бутылки ему прямо в глаз.
Следующий без доли мига труп стоял, наклонившись к пластиковому столику, на котором были разложены закуски. Сухарики, копчёная рыба, докторская колбаса… Возле последней на разделочной доске лежал кухонный нож.
Обхватив чёрную ручку, Артём поднял нож и вогнал его лысому в затылок. Мгновенная и гарантированная смерть.
Оставались ещё двое.
Они расположились в углу гаража, и с самого начала взгляды обоих были направлены к воротам. Все три убийства, что только что совершил Артём, происходили прямо на их глазах.
И звериная кровь этих нелюдей сделала своё дело.
Вряд ли они в самом деле могли полноценно Артёма видеть. Всё же и для их рода его движения должны были быть слишком быстры. Однако угрозу маскирующиеся под людей звери однозначно почувствовали.
Их трансформация не занимала и секунды.
Ногти на руках темнели и вытягивались, обращаясь в десяток смертоносных хищных когтей. Одновременно с этим лицо каждого из мужчин сменялось мордой, а из-под приподнятых губ проступали ряды острейших волчьих клыков.
Для кого-то другого всё произошло бы мгновенно.
Человек просто заменился бы полузверем.
Но Артём не был кем-то другим. Он был умертвием. И потому он мог детально рассмотреть каждую отвратительную подробность.
Как мог и вмешаться.
Выбрав ответ, Артём перешёл к следующему вопросу.
«Какой порт доступен на сервере с IP-адресом 188.93.108.241?»[1]
Артём открыл в операционной системе интерпретатор командной строки и ввёл короткую команду: «nmap 188.93.108.241»[2].
«80/tcp open http», — вывело ему в ответ, и Артём указал соответствующий вариант в тесте.
Затем от него потребовали указать, в пакеты какого протокола инкапсулировались пакеты протокола «Telnet»[3]. На выбор дали четыре варианта: «TCP»[4], «FTP»[5], «HTTP»[6] и «DNS»[7].
Ответ был очевиден.
Выбрав первый вариант, Артём пошёл дальше.
«Сколько TCP-соединений использует служба FTP?»
Возможные ответы указывались цифрами от одного до четырёх, и Артём уже почти выбрал «2», как вдруг его отвлекли.
— Слушай, Тёма, помоги, а? — с просьбой в голосе обратился к нему Женька. — Я сколько ни пытаюсь, эта штука никак не хочет работать.
— Я занят, — спокойно ответил Артём и, указав-таки нужную двойку, начал читать очередной вопрос.
— Да ладно тебе, — взмолился Женька. — Я же вижу, что у тебя всего десять вопросов осталось. А таймер только через час истечёт.
— Я, вообще-то, экзамен пишу, если ты вдруг забыл, — напомнил Артём своему приятелю.
— Ага, за полтора месяца до сессии, — выдал в ответ Женька. — Давай ты быстро посмотришь, пока Сергеева нет, и я отстану, — предложил он, упомянув фамилию преподавателя.
Артём окинул взглядом кабинет и, убедившись, что Анатолия Владимировича действительно не было, всё же дал своё согласие.
Переключив внимание со своего ноутбука на ноутбук Женьки, он коротко поинтересовался, в чём была проблема.
— Трассировка[8] не проходит, — сообщил тот ему. — С ping-ом[9] всё нормально, а вот трассировка X-ы с восклицательными выдаёт. Сергеев сказал, что это ошибка и X-ов быть не должно.
У Женьки была собрана сеть из шести виртуальных машин. Половина — с операционной системой «Ubuntu», а другая — с «Fedora». Артём хорошо помнил эту лабораторную работу и потому сразу же понял, в чём именно заключалась проблема.
— Межсетевой экран на Fedora-х ругается, — сказал он. — Либо отключи его, либо пусти трассировку по ICMP-протоколу[10], как и ping. Тогда всё нормально будет.
По умолчанию трассировка осуществлялась по протоколу «UDP»[11], пакеты которого блокировались встроенным в операционную систему «Fedora» межсетевым экраном. Но при помощи дополнительного параметра в команде трассировки можно было сменить используемый протокол на «ICMP», с которым таких проблем не было.
В доказательство своих слов Артём ввёл в одной из виртуальных машин нужную команду и продемонстрировал Женьке именно тот результат, который от него хотел увидеть Анатолий Владимирович.
— Всё, понял, спасибо, — поблагодарил его Женька и принялся делать снимки экрана, чтобы вставить результаты трассировки в отчёт. — Больше не отвлекаю.
Разобравшись с его проблемой, Артём вернулся к тесту и быстро оный завершил. По окончании тестирования ему выдало, что из шестидесяти вопросов верно он ответил на пятьдесят семь. Артём пробежался глазами по ошибкам и полностью согласен был только с одной. Вопрос касался расчёта количества допустимых адресов в локальной сети, исходя из её маски. Артём опечатался и в самом деле ввёл неверное значение. Остальные же две ошибки ему засчитали в вопросах, которые требовали проверить на доступность сервера по их IP-адресам. Артём ещё раз перепроверил свой ответ соответствующими командами и убедился, что был прав. Из предлагаемых тестом вариантов ни один сервер не являлся доступным. Видимо, с ними опять возникли какие-то проблемы, а вопросы в тесте, само собой, переписывать никто не стал.
Впрочем, пятьдесят семь правильных ответов всё равно давали Артёму девятнадцать из двадцати возможных баллов за теоретическую часть экзамена. Оттого и возмущаться смысла не имело. Этого Артёму всё равно хватало, чтобы получить заветную пятёрку по предмету. Оставалась лишь практическая часть экзамена, в успешном выполнении которой Артём не сомневался ни секунды. Всё же она заключалась в банальном выполнении одной из лабораторных работ, которые он уже сдавал в ходе семестра. Отличие было лишь в том, что раньше IP-адреса и маски сетей для лабораторных определялись номером зачётки, а теперь генерировались случайным образом.
Получив необходимые данные от университетской системы электронного обучения, Артём сразу же приступил к выполнению практической части. Выпала ему лабораторная работа с названием «Статическая маршрутизация на CISCO». По сути, это была ровно та же лабораторная работа, с которой Артём недавно помог Женьке. Разница заключалась только в используемых маршрутизаторах. У Женьки в качестве таковых выступали всё те же виртуальные машины с операционными системами «Ubuntu» и «Fedora», а Артём должен был использовать виртуальные образы маршрутизаторов фирмы «Cisco Systems».
К моменту, как Артём развернул на ноутбуке сеть с заданной топологией и начал её настраивать, в кабинет вернулся Анатолий Владимирович.
— Анатолий Владимирович, разрешите показать лабораторную, — с ходу обратился к нему Женька, подняв руку.
— Хорошо, сейчас подойду, — ответил ему Анатолий Владимирович и неспешным шагом направился к своему рабочему столу.
Там он взял журнал, в котором отмечал посещаемость и учитывал сданные лабораторные работы, и уже вместе с ним подошёл к Женьке.
— Показывайте.
Женька быстро продемонстрировал ему успешное прохождение всех требуемых по заданию трассировок, а также вывел таблицы маршрутизации.
— Хорошо, — с кивком сказал Анатолий Владимирович и ручкой поставил галочку в журнале. — Загружайте отчёт. Как посмотрю, поставлю баллы.
— Спасибо большое, — поблагодарил его Женька.
— А у вас как успехи, Константинов? — поинтересовался Анатолий Владимирович у Артёма.
— Тест закончил, делаю лабу, — ответил Артём и в подтверждение своих слов продемонстрировал результаты теста.