Делаем usb принтер сетевым и смотрим что под капотом

USB-принтером одного хоста относительно легко поделиться с другими хостами. Хосты должны находиться в одной локальной сети.

Обмен при этом реализуется на базе гремучей смеси новых (ipv6, llmnr) и старых (netbios, ntlm, dce/rpc) протоколов, что можно увидеть в wireshark/tcpdump.

Это, безусловно, не продакшн решение (хотя по факту у многих используется так):

  1. нужно чтобы хост, к которому подключен принтер, был включен, хотя и нет необходимости, чтобы кто-то на нем был авторизован (используется guest учетка, см.


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

Эволюция производительности сетевых устройств

Еще 10 лет назад коммутаторы 10G 32-48х10G были топовым.

Сейчас уже норма устройства с 100g портами (модули QSFP28 и крупнее, например CFP; причем модули стоят уже от 10к рублей):

The FortiGate 3980E enterprise firewall is the world’s first terabit per second network security appliance – delivering 1.12 Tbps firewall performance in addition to 470 Gbps secured VPN throughput

The FortiGate 3980E performance is validated by Ixia’s BreakingPoint and latest CloudStorm 100GE Application and Security Test Load Module.


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

Отрисовка сетевых топологий

Ручная 

  • draw.io поддерживает импорт из visio (.vdx). Dia поддерживает экспорт в .vdx. Поэтому все утилиты ниже могут работать со всеми через .vdx. Правда само конвертирование в .vdx может не очень корректно отрабатывать из dia – например, в контексте масштабирования.
  • https://www.draw.io – супер крутая WEB (на JavaScript) альтернативая visio/dia.


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

iperf

Official page

Безусловно средство не идеально и местами глючит (особенно мобильная версия), но есть мифы о совсем “дикой плохости” iperf от разных вендоров (привет, Ixia и прочие), немного развенчаю:

  • тест можно запустить более чем на 20 минут (проверял два часа с нагрузкой 700мбит – полет успешный)
  • и на клиенте и на сервере (без разницы будет reverse тест или прямой) требуются относительно небольшие ресурсы CPU ~ 10-30% CPU (intel i3/7) на гигабит однопоточного TCP трафика (проверял)
  • у iperf безусловно есть погрешность т.к.


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

Заметки о DNS

Разное:

  • DNS запросы/ответы обычно передаются в виде UDP, но если ответ слишком большой, то TCP сервер может отправить ошибку клиенту, после которой клиент подключится к серверу по TCP.
  • Никогда не забываем что host файл смотрится перед запросом к DNS, причем даже на телефонах
  • DNSSEC – безопасный DNS.


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

Security

Взлом matrix.org – пример очень показательного взлома с точки зрения базовой безопасности. Нарушено куча важнейших принципов, описанных ниже. Сам хакер очень подробно все описал.

https://archive.md/MfrjB
в матриксе крутили на х.ю самые обычные бестпрактисы. Молодцы, че

I noticed in your blog post that you were talking about doing a postmortem and steps you need to take.


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

Python заметки

  • Python.org – основной сайт. Тут можно скачать актуальный python на windows/linux/mac os, посмотреть документацию
  • Гвидо ван Россум – творец языка. По сути аналог Линус Торвальдса для Linux.
  • Python – the second best language for everything. И это действительно так, включая новые-модные devops, AI, BigData, autotests.


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

Поднимаем FTP сервер на CentOS 7

Пошаговый гайд, аналог статьи про TFTP

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должны помочь строки “setsebool -P ftp_home_dir on” и “setsebool -P allow_ftpd_full_access on”

sudo vi /etc/selinux/config
SELINUX=disabled
1) Устанавливаем сервер, кладем в папку по умолчанию /var/ftp необходимые файлы
sudo yum -y install vsftpd
cp test_file /var/ftp/
2) Добавляем сервис FTP как разрешенный в файрволл и перезагружаем его (мягко для применения правил без разрыва существующих коннектов)
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
3) Запускаем FTP сервис, смотрим его состояние, добавляем сервис в автозагрузку
sudo systemctl start vsftpd
sudo systemctl status vsftpd
sudo systemctl enable vsftpd
4) Проверяем работу сервиса через обычный браузер
ftp://192.168.1.22/

Удаление

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo yum -y remove vsftpd

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

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

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