Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, TOML, YANG, TOML, protocol buffers/Apache Thrift, graphQL; SWAGGER, WSDL, WADL; restconf, netconf; Cisco PXGRID)

  • В общем про api и методы взаимодействия с ними (rest, yang, soap, xml, json, restconf/netconf, etc) в отдельной статье
  • CLI зачастую >>> всех других методов, пример яндекс со своей «Аннушкой» работает именно поверх CLI
    • Мы про это расскажем в докладах, но нет, cli – как общий знаменатель для всего.



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

Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • Для отладки кода C, в том числе даже таких крупных проектов (напр. пропусков атак в них) как snort/suricata можно и нужно использовать отладчик GDB.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust and partially others.


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

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • подмена всех символов на lower
echo <WoRd> | tr '[:upper:]' '[:lower:]'
  • подмена всех пробелов на \n (все слова с новой строки)
echo <file> | tr ' ' '\n'
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


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

Network: Packet Broker, Balancer (пакетные брокеры и L3-L7 балансировщики: nginx, haproxy, f5, radware, citrix, nfware, etc)

  • (Ngfw с выдержками, proxy/balancer только header) Выдержка из статьи цифровых решений (dsol) о плюсах intel qat на базе cpu (тк у них нет продукта балансера с реализованным decrypt они это пиарят)
  • Пакетные брокеры с функционалом балансировки. Часто встречаемое решение в последнее время, особенно в фин.


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

Основы VCS на примере Git, patch/diff

  • https://git-scm.com/ – тут крутые entry видео, документация и прочее
  • с помощью ChatGPT Deep Research можно изучить любой GitHub проект

 

patch/diff
  • Утилита patch позволяет создать код на основе diff одной версии кода от другой
  • До сих пор на kernel.org есть возможность обновить одну версию ядра на другую используя diff между последовательными версиями через утилиту patch, это позволяет не выкачивать весь код, а скачать diff и применить его через patch
  • В целом patch/diff старый допотопный способ vcs (один разраб отправлял diff другому и тот через patch мог получить версию кода разраба), сейчас при разработке ядра linux не используется в пользу git, но при этом патчи до сих пор используются, например
    • для поддержки драйвера RAID в каком то ядре поставщик может предоставлять софт в виде патча для определенной версии ядра
    • для задач безопасности, например, grsecurity, выпускающий ранее бесплатно (теперь платно) патчи безопасности для ядра и доп.


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

Network/Linux: Shaping, Policing, Impairment, Traffic Control. Ограничение полосы пропускания (Linux: tc, wondershaper; Network: Cisco, Mellanox), внесение задержек и потерь в сетевой трафик

Влияние потери и задержек на Throughput подробно описано в отдельной статье.

Пример кейсов использования impairment:

    • эмуляция гео-распределенной сети
    • эмуляция wireless/satellite/mobile
    • приближение к real world
    • тестирование edge case сценариев

При этом в сетевом тестировании с impairment нужно обращаться “аккуратно”.

EANTC Carsten Rossenhoevel
The benchmarking methodology could be complemented with synthetic loss/delay, but this is out of scope of this draft ((netsecopen)). 


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

VRF: базовая настройка в Linux и на сетевых устройствах Cisco, Huawei

Linux
  • База на xgu
  • При настройке VRF в linux свой интерфейс в vrf не пингуется – это ок. Интерфейс в другом vrf при этом будет отвечать нашему. Можно интерфейсы соединить кабелем напрямую (в одной подсети, но разных vrf) или через промежуточный роутер (в разных подсетях) – без разницы.


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

Windows: полезные вещи и команды (cmd, powershell)

MISC
  • Для просмотра девайсов в системе на Windows/инфы с датчиков/стресс тестирования хороша утилита Everest (aida64). aida64 – everest тот же, часть вещей лучше.
  • Замена telnet
Test-NetConnection 192.168.1.90 -port 3389
  • Развитие IT в странах СНГ в среднем значительно хуже РФ/Москвы, не говоря о USA/Китае – в Азербайджане в основном все on-prem и напр.


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

IoT, протоколы, умный дом и умные девайсы

Про безопасность IoT устройств читаем тут. Короткий ролик про IoT протоколы от Droider.

 

 SMART CITY

IoT вплотную внедряется – в Минске уличное освещение управляется и мониторится через 3G/LTE ОПСОСа. Такое освещение более экономно. В довольно древнем ролике по ссылке столбы от IntelliStreets освещения супер-digital, причем с аплинком по radio (видимо 3G/LTE) и функционалом: возможность записи/мониторинга ситуации на дорогах (камеры/микрофоны), громкоговорители, небольшие встроенные digital рекламные банеры, небольшие digital указатели.

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

Резервное копирование

Конспект вебинара HonorCup E=DC2 для сдачи HCNA Storage.

Связанные по вебинару посты:

Разное:

  • (Резервное копирование, LVM) Если говорить в целом про snapshot:
    • snapshot =! Backup как минимум потому, что
      • он обычно хранит только diff от данных от текущего состояния системы и того состояния, которое было при снятии snapshot
      • snapshot хранятся на тех же носителях, что и основная система
    • snapshot на storage/СХД (EMC/IBM) устройствах
      • snapshot используются на всю катушку – есть банки которые все бекапы делают только на них -> напр, каждые 15мин делается snapshot всей базы и их хранятся сотни штук
      • разработчики таких устройств поддерживают использование snapshot, но полноценные backup это не snapshot, рекомендуется использовать snapshot + backup
    • удобно и правильно комбинировать snapshot и backup – snapshot получаешь консисентное состояние в один момент времени всех элементов системы (к примеру файлов сайта и файлов БД), а backup-ом это состояние уже сохраняешь, при этом нужно учитывать, что иногда при снятии snapshot есть некоторое «подмораживание системы на запись» на некоторое время
  • (Обучение Lpic-2) Делать бекапы очень важно (в том числе на ленте/ленточном хранилище – подробнее про ленты ниже), сценариев потери данных без бекапов миллион и тележка
    • почистили память RAID контроллера и весь RAID потерял данные (восстановление с ленты)
    • обновили записи в БД и вместо того, чтоб обновление получил один оно привело к апдейту у 700к  (спас лог транзакций Oracle)
  • (Обучение Lpic-2) Ленты вообще используется очень часто в крупных компаниях, особенно банках (включая зеленый – за разными RAID/СХД “обязана” быть лента, с которой если что можно восстановится ; «3 года должно быть хранение в банках, как без ленты») – ленты позволяют хранить огромные объемы данных дешевле (1 картридж до 50ТБ) и дольше/надежнее, чем на других носителях

  • Backup желательно делать с отключенным сервисом, backup которого делается.


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