IO Ninja позволяет подготавливать пакеты к передаче несколькими способами.
Прежде всего, вы можете просто ввести текст в текстовый редактор IO Ninja. В этом режиме IO Ninja поддерживает вставку специальных символов с помощью escape-последовательностей (например, \r, \t \xff и т.д.).
Иногда вам может потребоваться подготовить текст с большим количеством обратных косых черт (например, путь к файлу Windows); использование escape-последовательностей в этом случае было бы контрпродуктивным. Не беспокойтесь — вы можете включить или отключить поддержку escape-последовательностей в зависимости от ситуации.
Передача двоичных пакетов - это то, где IO Ninja действительно сияет.
IO Ninja имеет встроенный современный шестнадцатеричный редактор. Этот редактор поддерживает Unicode, поддерживает режимы вставки / перезаписи, позволяет редактировать фрагменты, выделяет выбранный октет (чтобы вы могли четко видеть соответствие между символом и его кодом), показывает текущее смещение и выбранный диапазон.
Что еще более важно, IO Ninja поставляется с так называемым редактором шаблонов пакетов. Что эта штука делает, так это позволяет описывать структуру пакета на языке Jancy — так что вы можете удобно редактировать отдельные поля позже с помощью сетки свойств!
Jancy ABI-совместим с C, он поддерживает упаковку структуры, битовые поля и даже целые числа с обратным порядком байтов, он же bigendians! Таким образом, с помощью Jancy вы можете описать любой заголовок пакета, точно так же, как вы это сделали бы в C / C++ — и даже лучше!
Еще одна важная особенность редактора шаблонов пакетов заключается в том, что он позволяет вам описывать такие действия, как update-length, calculate-checksum, encode-name, а затем вызывать эти действия с помощью гиперссылок в таблице свойств!
Иногда вам может потребоваться передать содержимое файла. С IO Ninja вы тоже можете легко это сделать. 3-я вкладка панели Передачи предназначена для передачи файлов. Просто найдите файл и нажмите Отправить. Вы даже можете контролировать размер отдельных блоков!
Наконец, еще одним уникальным средством передачи в IO Ninja является панель передачи скриптов. Здесь вы можете написать небольшую программу на языке Jancy для подготовки и передачи пакетов программно.
Чтобы дать вам представление о том, на что способно это средство, вот простой сценарий:
Приведенный выше пример определяет бесконечный цикл, который отправляет пакеты с постоянно увеличивающимися индексами и с короткими односекундными паузами между пакетами.
Не позволяйте "бесконечной" части пугать вас — вы всегда можете прервать выполнение скрипта с помощью кнопки "Stop"!