Ruby HTTP get/post

Simple get

Простая функция для отправки http get.

def get(request)
request = CGI::escape(request)
uri = URI("http://#{$server}/#{request}")
Net::HTTP.get(uri)
end

Get with header

Пример запроса с header. Обращаю внимание, что в старой версии ruby 1.9.3 обязательно нужно к uri применить метод .request_uri, в новых не обязательно.

Читать дальше

Linux: использование yum в CentOS (обновление, установка, удаление приложений)

Аналог статьи про Ubuntu, Gentoo.

CentOS работает с .rpm пакетами (так же как и RHEL, Fedora, Suse, Mandriva).

Вот тут есть очень хорошая шапаргалка. Ниже только самое используемое, остальное проще взять оттуда.

Обновление всех приложений (сразу и обновляем данные из репозиториев о пакетах и ставим эти пакеты)

sudo yum update

Если в списке обновлений было ядро – без перезагрузки не обойтись (если нужно проверить что код нового ядра запустится корректно прямо сейчас).

Читать дальше

Заметки по MacBook и MacOS

  • Заклеил логотип Apple на ноуте крутым стикером Omne tulit punctum, qui miscuit utile dulci. Ноут прекрасный и я его всем рекомендую, но конкретно эта реклама Apple из моего кармана мне не нравится.
  • Если залипают клавиши на клавиатуре butterfly – возьмите трубку пылесоса и под полным напором прочистите клавиши.


Читать дальше

Ruby: генератор списка выходных на год

Простейший генератор списка выходных на год.

Что можно кастомизировать (жирным в коде):

  • В переменной cur_date указываем дату отчета
  • В счетчике можно подкрутить количество дней с 365 до любого количества
  • Строку вывода можно заменить генерацией INSERT в какую то SQL таблицу (закоменчено)
#bin/generate_vacation_list.rb

require 'time'

cur_date = Date.new(2019,1,1)
counter = 0
while counter < 365
 puts "#{cur_date}" if cur_date.saturday?


Читать дальше

Отзыв HP spectre x360 16гб RAM 512гб SSD

Брал топовый Spectre x360 13-ae003ur с 16гб RAM, 1024гб SSD и разрешением UHD 3840×2160. Очень хотел convertible и выбирал его довольно тщательно, полагался во многом на оценку топовых блогеров – Spectre x360 признавался во многих обзорах уже два года лучшим с точки зрения цены-качества convertible.


Читать дальше

Wireshark

https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/ – идентификация данных о хосте на основе pcap (из dhcp, nbns, http, kerberos)

https://www.malware-traffic-analysis.net/index.html – упражнения по анализу трафика с атаками

Wireshark не только с точки зрения удобства использования лучше tcpdump, он считается и намного более мощным инструментом в сравнении с ним, особенно когда идет вопрос в анализе уровня приложений (поддержка более 2к протоколов, даже таких как USB/Bluetooth/Zigbee).

Читать дальше

Directory Services, Active Directory

Directory services (на основе курса Google IT Support Professional)
Directory services – сервисы по управлению политиками, примеры – Active Directory (proprietary, not free), OpenLDAP (open, free), Astra Linux Directory, FreeIPA. Оба они и ряд других сервисов полагаются (в основном) на открытые стандарты – в основном x.500 с протоколами Directory Access Protocol (DAP, в последующем Lightweight DAP – LDAP), Directory System Protocol (DSP) и другими.


Читать дальше

Ruby: работа с текстом

 String Class

Индексы

Строка в ruby является объектом класса String.  По индексу строки, по аналогии с индексом массива, можно извлекать, изменять и удалять данные из строки. Причем обращения по индексу идет через те же квадратные скобки, что и для массива.

Обращаясь к строке можно извлечь например первые 6 элементов или последний символ на основе индекса строки, по типу того, как мы извлекаем элементы array:

str[start, lenght]
str[0,6] - извлекаем первые 6 элементов, где 0 - первый символ, 6 - сколько символов от первого
str[7..10] - извлекаем с 7го по 10ый символы используя range
str[-1] - извлекаем последний символ из строки
str[-6,6] - извлекаем с конца строки шесть последний символов
str[-6..-1] - извлекаем с конца строки шесть последний символов используя range

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

str[0,6] = "new_first_6_char" - заменяем первые 6 элементов на новые
str[0,6] = "" - удаляем
str[16,0] = "the end" - добавляем в конец строки данные (16 символ последний)
str[-1,0] = "the end" - добавляем в конец строки данные (более корректный способ)
Методы

Почти все в ruby является объектом.

Читать дальше

Установка и использование Dante в качестве сервера Socks5 на Ubuntu 16

В свете огромной вероятности блокировки telegram в ближайшее время возник вопрос в установке и использовании Dante в качестве сервера Socks5 на Ubuntu 16.

Большая часть инфы нагло взята из офф. доки и отсюда.

Не забываем про теорию

Proxy – может использоваться по разному, например для логгирования клиентских запросов в компании, ограничения доступа (хех) или наоборот, обхода ограничения, блокировки определенного контента.

Читать дальше

Основы тестирования (Quality Assurance)

Tests can make good code great!
  • Статья о IXIA
  • Бажат все, даже такие ведущие вендоры как Cisco (особенно Firepower :D). Важно насколько сырой продукт в текущем состоянии и как быстро исправляют проблемы.
из чатика:
на 65 залипает или вообще не работает вплс, на а1к перестают анонситься маршруты, нцс просто тупо сырые.


Читать дальше