- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как установить и использовать Ruby в Windows
- Для чего устанавливать Ruby
- Как установить Ruby на Windows
- Как обновить Ruby на Windows
- Как установить и использовать gem в Windows
- Как установить bundler
- Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows
- Восстановление сайтов из Интернет Архива в Windows
- Как установить WhatWeb в Windows
- Установка WPScan в Windows
- Что такое MSYS2. Как пользоваться MSYS2
- Редакторы для рубистов
- Emacs
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как установить и использовать Ruby в Windows
Для чего устанавливать Ruby
Ruby — это скриптовый язык, то есть для запуска программ не требуется предварительная компиляция. В этом смысле Ruby является аналогом PHP, Python, PERL и других.
Ruby достаточно популярный язык и на нём написано много интересных программ; если говорить применительно к InfoSec, то в качестве примеров можно привести знаменитые WPScan, WhatWeb, Wayback Machine Downloader и другие.
Установив Ruby на Windows вы сможете запускать программы, написанные на этом языке, а также изучать это язык программирования и писать свои собственные скрипты.
Кстати, Ruby, наравне как и PHP, Python и PERL, может быть модулем веб-сервера и скрипты, написанные на этом языке, можно использовать в качестве программной основы веб-сайта или сервиса.
Как установить Ruby на Windows
Там вы увидите много вариантов установщика, которые различаются не только версиями, но и составом скаченных файлов. Исполнимые файлы являются самодостаточными установщиками для Windows, которые включают язык Ruby, окружение выполнения, важную документацию и прочее. Если вы не знаете, какую версию установить, чтобы начать знакомство с Ruby, то рекомендуется установщик Ruby+Devkit * (x64). Он предоставляет самое большое число совместимых gem (пакеты Ruby) и устанавливает MSYS2-Devkit вместе с Ruby, благодаря чему gem с C-расширениями могут быть скомпилированы сразу после завершения установки.
Запустите скаченный файл. В этом окне мы можем выбрать настройки:
Папку установки можно оставить без изменения.
Add Ruby executables to your PATH – означает добавить каталог с исполнимыми файлами Ruby в системную переменную. Это рекомендуется сделать, чтобы не указывать при каждом запуске скрипта Ruby полный путь до интерпретатора скриптов.
Associate .rb and .rbw files with Ruby installation — означает связать файлы с расширениями .rb и .rbw с установленным Ruby. Благодаря этому файлы Ruby можно будет запускать двойным кликом или набрав имя скрипта в командной строке.
Use UTF-8 as default external encoding – означает использовать кодировку UTF-8 в качестве внешней кодировки по умолчанию.
Я выбрал все три галочки и в качестве папку установки ввёл C:\Ruby26:
Как видно на следующей странице, сам пакет Ruby занимает немного места, но много места занимается предлагаемая к установке набор инструментов разработчика MSYS2. Я настоятельно рекомендую установить MSYS2, поскольку кроме упомянутой выше возможности компилировать пакеты для Ruby, MSYS2 обеспечивает консольное окружение с функциями Linux (примерно как это делает Cygwin, но с дополнительными возможностями).
Оставьте галочку на последнем окне для настройки инструментов разработчика MSYS2 и нажмите Finish.
Далее нам предлагается:
Просто нажимаем ENTER для выполнения всех трёх действий:
Всё завершено, для выхода нажмите ENTER:
Кстати, если вы внимательно смотрели за происходящем на экране, то могли заметить pacman. В этом консольном окружении действительно есть менеджер пакетов pacman. К другим функциями MSYS2 вернёмся чуть позже.
Подробнее о Pacman смотрите в статьях:
Как обновить Ruby на Windows
Для обновления до последнего патча (то есть минорной версии, к примеру с 2.5.1 до 2.5.4), достаточно запустить новую версию установщика. Установленные gem (пакеты из репозитория Ruby), не перезаписываются и будут работать с новой версией без переустановки. Для обновления установки достаточно использовать RubyInstaller без Devkit. Обновить Devkit можно отдельно запустив в командной строке Windows следующую команду:
При выходе новой мажорной версии её нельзя обновить установкой в ту же директорию, что и предыдущая. К примеру, если предыдущая версия установки RubyInstaller-2.5.x, а новая версия RubyInstaller-2.6.x, то её нужно установить либо в новую директорию, либо удалить старую версию и вместо неё установить новую, поскольку gem (программы) с C расширениями не совместимы между ruby-2.5 и 2.6.
Как установить и использовать gem в Windows
RubyGems — это менеджер пакетов для Ruby. С помощью него можно установить различные программы и их зависимости, установку можно делать как из исходного кода на локальной системе, так и с удалённых источников приложений.
Показанная выше установка Ruby также устанавливает и gem, чтобы в этом убедиться выполните команду:
Вы должны увидеть справку по использованию gem.
Чтобы вывести все доступные команды gem, выполните:
Чтобы установить пакет запустите команду вида:
Больше примеров по установке пакетов будет далее.
Чтобы показать справку о команде установки:
К примеру, для установки программы ‘rake’ из локальной директории или удалённого сервера:
Установка пакета ‘rake’ только с удалённого сервера:
Установка ‘rake’, но только версии 0.3.1, даже если имеются неудовлетворённые зависимости, установку сделать в пользовательскую директорию:
Вывести список gem (пакетов), чьё имя начинается на ‘D’:
Вывести список локальный и удалённых gem, чьё имя содержит ‘log’:
gem search log —both
Предыдущая команда используется для поиска пакетов по имени.
Вывести список только удалённых (не локальных) gem, чьё имя содержит ‘log’:
Просмотреть информацию о RubyGems:
Обновить все программы gem в системе:
Обновить локальную версию RubyGems:
Как установить bundler
bundler — это менеджер зависимостей Ruby. Данный менеджер пригодится при установке других программ, написанных на Ruby.
Для установки bundler в Windows выполните:
Для обновления bundle выполните команду:
Если вы устанавливаете программу из исходного кода и там присутствует файл Gemfile, то перейдите в папку с этой программой и выполните в ней команду:
Эта команда установит все перечисленные в файле Gemfile зависимости.
Чтобы увидеть, где установленные с помощью bundle пакеты gem, используйте команду:
Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows
Далее рассмотрим несколько примеров установки и использования программ на Ruby в Windows.
Восстановление сайтов из Интернет Архива в Windows
Начнём с программы Wayback Machine Downloader, которая полностью восстанавливает сайты из веб архива.
Для установки Wayback Machine Downloader достаточно выполнить:
Запустим для проверки работоспособности программы восстановление сайта из Архива Интернета:
Программа успешно завершила работу:
Как установить WhatWeb в Windows
WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.
Начнём с поиска WhatWeb в репозитории пакетов Ruby:
Найдено только simple_whatweb (0.4.1).
Даже если это WhatWeb, то версия очень старая. Поэтому на Windows установим WhatWeb из исходного кода.
Распакуйте эту папку. Откройте командную строку и перейдите в эту папку:
Следующая команда покажет справку по программе:
Запустим проверку сайтов:
Установка WPScan в Windows
Что такое MSYS2. Как пользоваться MSYS2
Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.
MSYS2 предоставляет оболочку bash, Autotools, make, gcc, pacman, sh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.
Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:
В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.
Редакторы для рубистов
Для любого растущего языка всегда есть тонна инструментов, которые вы можете использовать, а также очень сильные мнения о них. Рубин не является исключением.
Есть несколько редакторов, IDE и т. Д., Которые все имеют отличную поддержку Ruby, направленную на то, чтобы вы работали на максимальной «производительности» (я не из тех сумасшедших менеджеров, которые измеряют этот вывод с помощью строк кода, так что вы можете выбрать, как определить это). В этой статье я расскажу о преимуществах, недостатках и странных моментах каждого из них, с моей точки зрения (читай: статья необъективна, но мои мнения верны, поэтому это не имеет значения: P).
Давайте начнем с классики.
Ви появился в те дни, когда пропускная способность была небольшой, и люди терпеливо пользовались своими компьютерами. Он работал внутри вашего терминала / консоли, просто покусывая вашу память и процессор. Набор функций должен был быть ограничен — он выполнил несколько задач, но выполнил их чертовски хорошо. Однако ограниченный набор функций не означал, что он вас сдерживал. С его простыми и составляемыми командами vi стал фаворитом для тех, кто ценил простоту, но нуждался в гибкости и мощности.
Развитие Vi постепенно развалилось, так как в проекте стали перемещаться разные люди. Но не бойтесь, потому что Vim был изобретен! Vim — это модифицированная версия vi, которая призвана предложить больший набор функций, при этом оставаясь верной видению vi простоты и уважения опытного пользователя.
Итак, какое отношение Vim имеет к Ruby? Ну, вот где это становится немного сложнее.
Сам Vim на самом деле не имеет каких-либо особенностей, специфичных для Ruby (кроме подсветки синтаксиса), но хакеры Rails / Ruby всегда помещают консоль над графическим интерфейсом почти во всех своих решениях как сообщество. Vim полностью удовлетворяет этим требованиям. Кроме того, vim имеет ряд расширений (NerdTree, ctrl + p, vim-rails и т. Д.), Которые делают работу с приложениями Rails / Ruby приятной.
Также нет ничего лучше, чем наблюдать, как кто-то испытывает опыт работы с vi (m) — пальцы, летящие по клавиатуре, где, казалось бы, половина напечатанных символов вставлена самой vim. Для тех, кто предпочитает обычный графический интерфейс для редактора, vim также включает GVim, который является версией vim, использующей GTK (инструментарий интерфейса).
Но Вим не все веселье и игры. Vim — модальный редактор, а это означает, что вы не можете просто начать печатать и ожидать, что вам будет удобно — есть довольно крутая кривая обучения. Есть три разных режима: вставка, визуальный и обычный. Вставка — это та, где вы можете печатать, визуальная — это то, где вы делаете такие вещи, как выделение фрагментов текста, а в «нормальном» режиме нажатия клавиш включают команды vim. Привыкание к такого рода соглашениям может быть очень раздражающим, особенно если вы работаете с IDE и ожидаете, что Ctrl + C скопирует, а Ctrl + V вставит (подробнее об этом позже). Одна из самых раздражающих вещей во всей модальной компоновке (для меня) — это переключение между режимами. Для этого нужно нажать клавишу выхода. Когда вы впервые слышите о концепции, режимы кажутся чем-то редко используемым. Реальность такова, что вы постоянно переключаетесь между режимами, когда используете vim, и вам приходится перемещаться по клавише выхода каждый раз. Это особенно проблема для меня, так как у меня невероятно маленькие руки; не может быть проблемой для некоторых из вас.
Затем есть синтаксис команды. Вы довольно быстро привыкаете к этому, но в большинстве случаев он лишен клавиш «Ctrl» и «Alt», в основном используется алфавит (поэтому есть обычный режим). Копирование и вставка кажутся невероятно сложными, когда вы только начинаете. Есть такие термины, как «буферы» и «регистры», с которыми, как вы думали, вы никогда не столкнетесь, пытаясь понять, как использовать текстовый редактор (всех вещей).
В общем, vi (m) — это круто, если вы можете приспособиться к нему. Для этого потребуются, по крайней мере, некоторые усилия, а также определенная решимость заставить себя продолжать использовать его (немного похоже на изучение сенсорного набора текста — нет особого смысла, если вы не делаете это все время). Кроме того, если вы пришли из IDE, не ожидайте, что некоторые IDE-подобные функции, такие как подчеркивание всех ошибок для вас — vim не предназначен для этого (помните, простота — это ключ!), Так что не надо Не ожидайте особенностей, характерных, например, для Rails.
Emacs
Конечно, теперь, когда мы поговорили о vim, нам совершенно необходимо поговорить об Emacs.