Я рассказывал про удобные и простые в использовании утилиты профилирования производительности Linux - perf-tools. Расскажу вам про похожий набор утилит, только заточенные на анализ сетевой активности. Речь пойдёт про netsniff-ng. Это довольно старый и известный пакет, который можно установить через пакетный менеджер популярных дистрибутивов.
В состав netsniff-ng входит несколько утилит, реализующих различный функционал. Их 8, я перечислю только то, что сам иногда использую:
▪ Непосредственно netsniff-ng, который является аналогом tcpdump, сниффер сетевого трафика. Я пробовал, но лично мне tcpdump больше нравится.
▪ Trafgen - генератор сетевого трафика с гибкими настройками. Например, с его помощью можно налить кучу synflood трафика. Примеры шаблонов конфигов под разный трафик можно найти в сети.
▪ Ifpps - показывает статистику по загрузке сетевого интерфейса. Очень точные данные, получаемые напрямую из ядра. Наглядное отображение информации по трафику, пакетам, ошибкам, нагрузке cpu, задержек и т.д. Запускать так:
▪ Flowtop - показывает список сетевых соединений с информацией о процессе, удалённом адресе, к которому подключались, статистику по трафику и кое-что ещё. Отображение удобное и наглядное. Похоже на связку Iftop + NetHogs. Закрывает функционал обоих утилит. Запускать с ключом -G, чтобы не подключалась GeoIP4 база. Её надо отдельно качать.
Остальные утилиты:
◽ mausezahn - генератор пакетов с Cisco-like CLI;
◽ bpfc - компилятор Berkeley Packet Filter, даже не знаю, для чего он на практике нужен;
◽ curvetun - лёгкий, высокопроизводительный туннель на базе TUN/TAP интерфейсов;
◽ astraceroute - трассировщик с выводом информации в том числе об autonomous system (AS).
Для анализа сети достаточно установить только netsniff-ng. В нём есть всё, что может пригодиться для получения всей полноты информации.
Сайт - https://www.netsniff-ng.org/
Исходники - https://github.com/netsniff-ng/netsniff-ng
#linux #bash #perfomance #network
# apt install netsniff-ng
# dnf install netsniff-ng
В состав netsniff-ng входит несколько утилит, реализующих различный функционал. Их 8, я перечислю только то, что сам иногда использую:
▪ Непосредственно netsniff-ng, который является аналогом tcpdump, сниффер сетевого трафика. Я пробовал, но лично мне tcpdump больше нравится.
▪ Trafgen - генератор сетевого трафика с гибкими настройками. Например, с его помощью можно налить кучу synflood трафика. Примеры шаблонов конфигов под разный трафик можно найти в сети.
▪ Ifpps - показывает статистику по загрузке сетевого интерфейса. Очень точные данные, получаемые напрямую из ядра. Наглядное отображение информации по трафику, пакетам, ошибкам, нагрузке cpu, задержек и т.д. Запускать так:
# ifpps -d ens18
▪ Flowtop - показывает список сетевых соединений с информацией о процессе, удалённом адресе, к которому подключались, статистику по трафику и кое-что ещё. Отображение удобное и наглядное. Похоже на связку Iftop + NetHogs. Закрывает функционал обоих утилит. Запускать с ключом -G, чтобы не подключалась GeoIP4 база. Её надо отдельно качать.
# flowtop -G
Остальные утилиты:
◽ mausezahn - генератор пакетов с Cisco-like CLI;
◽ bpfc - компилятор Berkeley Packet Filter, даже не знаю, для чего он на практике нужен;
◽ curvetun - лёгкий, высокопроизводительный туннель на базе TUN/TAP интерфейсов;
◽ astraceroute - трассировщик с выводом информации в том числе об autonomous system (AS).
Для анализа сети достаточно установить только netsniff-ng. В нём есть всё, что может пригодиться для получения всей полноты информации.
Сайт - https://www.netsniff-ng.org/
Исходники - https://github.com/netsniff-ng/netsniff-ng
#linux #bash #perfomance #network
👍51👎2
Недавно затрагивал тему настройки CMS Bitrix. В комментариях видел обсуждение Bitrixenv. Хочу немного развить эту тему, так как очень хорошо с ней знаком.
Для тех, кто не в курсе, поясню. Bitrixenv - это преднастроенное рабочее окружение для движка Bitrix. Он работает на обычном веб сервере на базе php + mysql. Bitrixenv автоматически настраивает полностью рабочий веб сервер с управлением через меню в консоли сервера. Реализовано управление через плейбуки Ansible.
Я лично считаю хорошим решением компании Битрикс разработать и поддерживать это окружение. Оно позволяет очень быстро и просто настроить веб сервер и запустить сайт. Специальных знаний не требуется. Достаточно научиться подключаться по SSH, чтобы запустить там вот это:
При этом работать всё будет нормально. Никаких скрытых проблем или нерешаемых ситуаций с этим окружением в процессе эксплуатации не будет. Как я уже сказал, всё управляется через Ansible. В крайнем случае всегда можно зайти и руками поправить любой конфиг.
Bitrixenv умеет:
◽ управлять виртуальными хостами, добавлять, удалять новые сайты
◽ получать и автоматически обновлять сертификаты let's encrypt
◽ управлять версиями php, mysql
◽ настраивать мониторинг на базе munin
◽ устанавливать и настраивать memcached, sphinx
◽ подстраивать настройки софта под ресурсы сервера (по памяти и cpu)
Это основное, что я сам использовал. Там много всяких настроек. Можно сервером управлять - обновлять пакеты, настраивать время, менять пароль учётки bitrix и т.д. В общем, не зная в подробностях Linux, им можно худо-бедно управлять. Я так понимаю, что заточено это в первую очередь на разработчиков, чтобы они не тратили время на настройку веб серверов, а могли в несколько кликов всё запустить и начать разрабатывать.
Мне подобная панель управления скорее мешает, так как я и вручную могу всё это настроить очень быстро. И проще будет разбираться в своих конфигурациях. У Bitrixenv своя структура конфигов, и в ней придётся покопаться, если захочется руками что-то поправить. Тем не менее, если заказчики не имеют ничего против Bitrixenv, я ставлю её. Так как им банально потом проще будет с ней работать.
Разговоры о том, что Bitrixenv это какая-то пустая поделка, которая больше вредит и мешает, только разговоры. На деле это вполне рабочий инструмент, который успешно решает поставленные задачи. Нужен ли он конкретно вам - отдельный вопрос. Я иногда его ставил, чтобы быстро запустить на время какой-то сайт на php. Ведь это готовый веб сервер за 5 минут.
#bitrix
Для тех, кто не в курсе, поясню. Bitrixenv - это преднастроенное рабочее окружение для движка Bitrix. Он работает на обычном веб сервере на базе php + mysql. Bitrixenv автоматически настраивает полностью рабочий веб сервер с управлением через меню в консоли сервера. Реализовано управление через плейбуки Ansible.
Я лично считаю хорошим решением компании Битрикс разработать и поддерживать это окружение. Оно позволяет очень быстро и просто настроить веб сервер и запустить сайт. Специальных знаний не требуется. Достаточно научиться подключаться по SSH, чтобы запустить там вот это:
# wget https://repo.bitrix.info/yum/bitrix-env.sh \
&& chmod +x bitrix-env.sh \
&& ./bitrix-env.sh
При этом работать всё будет нормально. Никаких скрытых проблем или нерешаемых ситуаций с этим окружением в процессе эксплуатации не будет. Как я уже сказал, всё управляется через Ansible. В крайнем случае всегда можно зайти и руками поправить любой конфиг.
Bitrixenv умеет:
◽ управлять виртуальными хостами, добавлять, удалять новые сайты
◽ получать и автоматически обновлять сертификаты let's encrypt
◽ управлять версиями php, mysql
◽ настраивать мониторинг на базе munin
◽ устанавливать и настраивать memcached, sphinx
◽ подстраивать настройки софта под ресурсы сервера (по памяти и cpu)
Это основное, что я сам использовал. Там много всяких настроек. Можно сервером управлять - обновлять пакеты, настраивать время, менять пароль учётки bitrix и т.д. В общем, не зная в подробностях Linux, им можно худо-бедно управлять. Я так понимаю, что заточено это в первую очередь на разработчиков, чтобы они не тратили время на настройку веб серверов, а могли в несколько кликов всё запустить и начать разрабатывать.
Мне подобная панель управления скорее мешает, так как я и вручную могу всё это настроить очень быстро. И проще будет разбираться в своих конфигурациях. У Bitrixenv своя структура конфигов, и в ней придётся покопаться, если захочется руками что-то поправить. Тем не менее, если заказчики не имеют ничего против Bitrixenv, я ставлю её. Так как им банально потом проще будет с ней работать.
Разговоры о том, что Bitrixenv это какая-то пустая поделка, которая больше вредит и мешает, только разговоры. На деле это вполне рабочий инструмент, который успешно решает поставленные задачи. Нужен ли он конкретно вам - отдельный вопрос. Я иногда его ставил, чтобы быстро запустить на время какой-то сайт на php. Ведь это готовый веб сервер за 5 минут.
#bitrix
👍54👎6
Selectel Careers — телеграм IT-компании, провайдера облачной инфраструктуры. Пишут:
— про карьеру и работу (эффективное общение в чатах, как внедрять изменения в команду, как донести фидбэк)
— про well-being (зачем мы спим, как правильно отдыхать)
— технические полезности (про код-ревью, шпаргалка по Git, полезные линтеры)
А еще вакансии! Подписывайтесь → @selectelcareers
#реклама
— про карьеру и работу (эффективное общение в чатах, как внедрять изменения в команду, как донести фидбэк)
— про well-being (зачем мы спим, как правильно отдыхать)
— технические полезности (про код-ревью, шпаргалка по Git, полезные линтеры)
А еще вакансии! Подписывайтесь → @selectelcareers
#реклама
👎10👍4
Чтобы добить тему с Bitrix, поделюсь ещё некоторыми знаниями на тему запуска этой CMS в Kubernetes. Я давно и много работал с Bitrix. Когда проходил обучение по Куберу, была идея научиться с ним работать и запускать там Битрикс. В итоге от этой идеи отказался, так как это всё нужно только в крупном бизнесе, с которым я не работаю и не хочу работать. И вообще с Кубером после обучения расхотелось иметь дел. Это не моё.
У Bitrix есть ряд особенностей, которые затрудняют её запуск в Kubernetes:
1️⃣ Много нюансов с Docker образом. Насколько я знаю, официального не существует. Соответственно, делать придётся самим или брать чьи-то костыли. А компонентов у Битрикса может быть много. Надо будет всё это связывать.
1️⃣ Особенность Битрикса такова, что код сайта можно править прямо через админку. Это ломает вообще всю конструкцию работы в Kubernetes. Этот момент надо будет решать отдельно. Либо просто запретить такие правки, либо что-то костылить. А как обновлять?
1️⃣ Где-то надо будет хранить общие файлы, сессии, чтобы все поды имели к ним доступ. Плюс отдельная БД. То есть по факту у вас в Кубере будет только php + веб сервер. Файлы отдельно, БД отдельно. Всё это тоже должно быть отказоустойчивым, чтобы в кубере был какой-то смысл, кроме масштабирования нагрузки на веб сервер.
1️⃣ В Bitrix надо обязательно включать встроенное кэширование и как-то это разруливать между подами.
Тем не менее, Bitrix в Kubernetes запускают. Есть аутсорсеры, которые предлагают эту услугу. Каждый костылит что-то своё, но в общем и целом делают примерно следующее:
◽ Файлы отправляют в S3 или Ceph.
◽ Кэш можно хранить в Memcached, либо в файлах, возможно локально на каждом поде или где-то в общем хранилище, но это медленнее.
◽ Сессии можно в Mysql убрать, но это медленно, либо в тот же Memcached.
◽ Самое трудное это разобраться с возможностью изменений исходников через админку. Тут нужны какие-то свои костыли, которые после каждого локального изменения файлов, будут коммитить и пушить изменения в общий git и оттуда раскатывать по остальным подам. Можно административно запретить кому-то лазить по админке с целью изменения исходников, но обновлять всё равно как-то надо движок. А он тоже обновляется через панель управления. Либо где-то вовне это делать, но хочется тестировать тут же, где идёт работа.
На выходе имеем вместо готового решения на базе промышленного стандартна в виде Kubernetes, набор костылей на базе Kubernetes, что немного не то, что ожидают от Кубера.
Когда в итоге будет оправдан запуск Bitrix в Kubernetes? Посчитать не трудно. Минимальные прикидки по железу:
- 3-4 сервера под сам Кубер в минимальном наборе
- 3 сервера под файловый кластер
- 3 сервера под кластер БД
Если серверов меньше, то ни о какой отказоустойчивости речи быть не может. Сюда ещё добавляем 1-2 сервера под хранение логов, мониторинг, ci/cd и git. Либо всё это покупаем как сервис у облачных провайдеров.
У кого-то есть опыт запуска и обслуживания Bitrix в Kubernetes?
#bitrix
У Bitrix есть ряд особенностей, которые затрудняют её запуск в Kubernetes:
1️⃣ Много нюансов с Docker образом. Насколько я знаю, официального не существует. Соответственно, делать придётся самим или брать чьи-то костыли. А компонентов у Битрикса может быть много. Надо будет всё это связывать.
1️⃣ Особенность Битрикса такова, что код сайта можно править прямо через админку. Это ломает вообще всю конструкцию работы в Kubernetes. Этот момент надо будет решать отдельно. Либо просто запретить такие правки, либо что-то костылить. А как обновлять?
1️⃣ Где-то надо будет хранить общие файлы, сессии, чтобы все поды имели к ним доступ. Плюс отдельная БД. То есть по факту у вас в Кубере будет только php + веб сервер. Файлы отдельно, БД отдельно. Всё это тоже должно быть отказоустойчивым, чтобы в кубере был какой-то смысл, кроме масштабирования нагрузки на веб сервер.
1️⃣ В Bitrix надо обязательно включать встроенное кэширование и как-то это разруливать между подами.
Тем не менее, Bitrix в Kubernetes запускают. Есть аутсорсеры, которые предлагают эту услугу. Каждый костылит что-то своё, но в общем и целом делают примерно следующее:
◽ Файлы отправляют в S3 или Ceph.
◽ Кэш можно хранить в Memcached, либо в файлах, возможно локально на каждом поде или где-то в общем хранилище, но это медленнее.
◽ Сессии можно в Mysql убрать, но это медленно, либо в тот же Memcached.
◽ Самое трудное это разобраться с возможностью изменений исходников через админку. Тут нужны какие-то свои костыли, которые после каждого локального изменения файлов, будут коммитить и пушить изменения в общий git и оттуда раскатывать по остальным подам. Можно административно запретить кому-то лазить по админке с целью изменения исходников, но обновлять всё равно как-то надо движок. А он тоже обновляется через панель управления. Либо где-то вовне это делать, но хочется тестировать тут же, где идёт работа.
На выходе имеем вместо готового решения на базе промышленного стандартна в виде Kubernetes, набор костылей на базе Kubernetes, что немного не то, что ожидают от Кубера.
Когда в итоге будет оправдан запуск Bitrix в Kubernetes? Посчитать не трудно. Минимальные прикидки по железу:
- 3-4 сервера под сам Кубер в минимальном наборе
- 3 сервера под файловый кластер
- 3 сервера под кластер БД
Если серверов меньше, то ни о какой отказоустойчивости речи быть не может. Сюда ещё добавляем 1-2 сервера под хранение логов, мониторинг, ci/cd и git. Либо всё это покупаем как сервис у облачных провайдеров.
У кого-то есть опыт запуска и обслуживания Bitrix в Kubernetes?
#bitrix
👍22👎8
❓Поступил любопытный вопрос от читателя, который хотел бы вынести на обсуждение, так как есть над чем подумать. Есть много вариантов реализаций задачи. Вопрос даю в своём сокращении, чтобы сэкономить ваше время.
Были планы купить готовое железо под файловое хранилище, но сейчас нет такой возможности. Есть 4 обычных сервера на SSD дисках. На каждом нужно организовать максимально быстрое и надёжное локальное файловое хранилище под разные нужды. Каким образом это реализовать? Думал одно время о создании LVM на каждом сервере, выделении LV под каждую задачу, затем конфигурации NFS, SMB. Посоветуйте, пожалуйста, что лучше: собирать вручную raid+LVM+xfs+nfs/smb. Или лучше поставить FreeNAS, или что то ещё?
Я бы в этом случае сделал RAID10 из SSD дисков. Если сервера с нормальными рейд контроллерами, то на их базе, если нет, то на базе MDADM. Дальше отталкиваться от конкретных задач и решать, будет там LVM или нет, какую файловую систему использовать. Вот заметка про разницу между EXT4 и XFS.
Уверен, кто-то посоветует настроить ZFS. Я бы в прод её не ставил без опыта эксплуатации. Судя по тому, какой вопрос задан, я вижу, что у задающего явно нет опыта в этом деле. Я бы не рисковал. Либо поставил только на один сервер и потренировался.
Если есть возможность спокойно поучиться и погонять тесты, есть вариант развернуть там CEPH, при условии, что есть сетевые карты 10G. Тогда можно сделать общее отказоустойчивое файловое хранилище на всех серверах. 4 штуки как раз хорошо подходят под такую задачу. Если что, вот статья по настройке ceph. Установить и настроить не сложно, но для эксплуатации нужен опыт, поэтому сначала изучение, всевозможные тесты и только потом внедрение.
Готовые сборки типа FreeNAS я бы сразу отметал. Это ещё подходит в формате домашнего NAS или одиночного где-то в небольшой компании. Ставить Freenas на 4 сервера в прод я бы не стал. Лучше всё внимательно вручную настроить. Работать будет надёжнее, заодно приобретётся опыт и развитие. Freenas и им подобное это тупиковый путь развития админа. Я бы не шёл по нему.
А вы что посоветуете? Возможно автор появится в комментариях и даст дополнения к своему вопросу.
#вопрос_читателя
Были планы купить готовое железо под файловое хранилище, но сейчас нет такой возможности. Есть 4 обычных сервера на SSD дисках. На каждом нужно организовать максимально быстрое и надёжное локальное файловое хранилище под разные нужды. Каким образом это реализовать? Думал одно время о создании LVM на каждом сервере, выделении LV под каждую задачу, затем конфигурации NFS, SMB. Посоветуйте, пожалуйста, что лучше: собирать вручную raid+LVM+xfs+nfs/smb. Или лучше поставить FreeNAS, или что то ещё?
Я бы в этом случае сделал RAID10 из SSD дисков. Если сервера с нормальными рейд контроллерами, то на их базе, если нет, то на базе MDADM. Дальше отталкиваться от конкретных задач и решать, будет там LVM или нет, какую файловую систему использовать. Вот заметка про разницу между EXT4 и XFS.
Уверен, кто-то посоветует настроить ZFS. Я бы в прод её не ставил без опыта эксплуатации. Судя по тому, какой вопрос задан, я вижу, что у задающего явно нет опыта в этом деле. Я бы не рисковал. Либо поставил только на один сервер и потренировался.
Если есть возможность спокойно поучиться и погонять тесты, есть вариант развернуть там CEPH, при условии, что есть сетевые карты 10G. Тогда можно сделать общее отказоустойчивое файловое хранилище на всех серверах. 4 штуки как раз хорошо подходят под такую задачу. Если что, вот статья по настройке ceph. Установить и настроить не сложно, но для эксплуатации нужен опыт, поэтому сначала изучение, всевозможные тесты и только потом внедрение.
Готовые сборки типа FreeNAS я бы сразу отметал. Это ещё подходит в формате домашнего NAS или одиночного где-то в небольшой компании. Ставить Freenas на 4 сервера в прод я бы не стал. Лучше всё внимательно вручную настроить. Работать будет надёжнее, заодно приобретётся опыт и развитие. Freenas и им подобное это тупиковый путь развития админа. Я бы не шёл по нему.
А вы что посоветуете? Возможно автор появится в комментариях и даст дополнения к своему вопросу.
#вопрос_читателя
👍50👎2
Администрирование сервисов от @Selectel
Сэкономьте на штатных системных администраторах, которые отвечают за рутинные задачи, и доверьте вашу IT-инфраструктуру профессиональной команде. Мы перенесем все на инфраструктуру Selectel и внедрим лучшие методологии создания сервисов.
Какие задачи можем взять на себя:
◽️Внедрим CI/CD и другие DevOps-практики. Выстроим процессы обновлений ваших систем и развертывания приложений благодаря непрерывной доставки CI/CD и будем их сопровождать.
◽️Поддержим ваши системы по SLA. Будем следить за системами круглосуточно: проводить настройку сервисов, проверять доступность ресурсов и параметры резервного копирования.
◽️Обеспечим информационную безопасность. Настроим политики безопасности и доступ к системам. Будем регулярно проверять их на уязвимости и обновлять защиту. По согласованию обновим системное ПО и пакеты безопасности.
Оставляйте заявку и передайте Selectel задачи по настройке и обслуживанию IT-инфраструктуры: https://slc.tl/y377x
#реклама
Сэкономьте на штатных системных администраторах, которые отвечают за рутинные задачи, и доверьте вашу IT-инфраструктуру профессиональной команде. Мы перенесем все на инфраструктуру Selectel и внедрим лучшие методологии создания сервисов.
Какие задачи можем взять на себя:
◽️Внедрим CI/CD и другие DevOps-практики. Выстроим процессы обновлений ваших систем и развертывания приложений благодаря непрерывной доставки CI/CD и будем их сопровождать.
◽️Поддержим ваши системы по SLA. Будем следить за системами круглосуточно: проводить настройку сервисов, проверять доступность ресурсов и параметры резервного копирования.
◽️Обеспечим информационную безопасность. Настроим политики безопасности и доступ к системам. Будем регулярно проверять их на уязвимости и обновлять защиту. По согласованию обновим системное ПО и пакеты безопасности.
Оставляйте заявку и передайте Selectel задачи по настройке и обслуживанию IT-инфраструктуры: https://slc.tl/y377x
#реклама
👎33👍5
Жирненький наброс к вечеру пятницы. Посмотрел видео линуксового админа со следующим названием: Linux - худшая операционная система. Надо было ставить Windows.
По его мнению, на рабочий комп лучше поставить Windows с WSL2 и не будет никаких проблем. Linux на рабочей станции это вечный головняк и решение мелких проблем, которые донимают повсюду. Вот несколько (не все) его примеров:
- проблемы с hidpi разрешением в софте;
- глюки со звуком при подключении внешнего оборудования, постоянно надо перезапускать PulseAudio;
- проблемы с переключением обработки графики со встроенной видюхи на дискретную;
- то тачскрин глючит, то сканер отпечатков пальцев не работает;
- батарея разряжается на 20-30% быстрее, чем на винде.
Вам есть, что возразить этому уважаемому джентельмену? У меня как раз сейчас Windows 10 + WSL2. Собрался на Linux переезжать, но как-то ссыкатно, что придётся разбираться с какой-нибудь ерундой, вместо того, чтобы просто пользоваться ноутбуком.
https://www.youtube.com/watch?v=zxI2nFuijFI
#видео #разное
По его мнению, на рабочий комп лучше поставить Windows с WSL2 и не будет никаких проблем. Linux на рабочей станции это вечный головняк и решение мелких проблем, которые донимают повсюду. Вот несколько (не все) его примеров:
- проблемы с hidpi разрешением в софте;
- глюки со звуком при подключении внешнего оборудования, постоянно надо перезапускать PulseAudio;
- проблемы с переключением обработки графики со встроенной видюхи на дискретную;
- то тачскрин глючит, то сканер отпечатков пальцев не работает;
- батарея разряжается на 20-30% быстрее, чем на винде.
Вам есть, что возразить этому уважаемому джентельмену? У меня как раз сейчас Windows 10 + WSL2. Собрался на Linux переезжать, но как-то ссыкатно, что придётся разбираться с какой-нибудь ерундой, вместо того, чтобы просто пользоваться ноутбуком.
https://www.youtube.com/watch?v=zxI2nFuijFI
#видео #разное
👍66👎19
Решил провести небольшой эксперимент. Сделал виртуальную машину с 2 CPU, 2G RAM и разместил её на обычном старом HDD. Установил туда Windows XP. И попробовал ей попользоваться.
Установил туда Office XP, современный браузер 360 Extreme Explorer и антивирус Kaspersky Free. Решил посмотреть, насколько реально всем этим пользоваться. И вот что первое бросается в глаза. Система совершенно нормально работает на этом железе. Всё открывается очень быстро, никаких тормозов. По ощущениям не хуже, чем мой локальный ноут и 100% быстрее и комфортнее, чем Windows 10 и 11 на этом же гипервизоре на RAID10 на нормальном контроллере с включенным кэшированием.
Такая огромная деградация производительности, хотя пользовательское поведение и какое-то удобство использования не сильно ушло от Windows XP. Ярлыки на рабочем столе, запуск программ. Что ещё надо от системы? Понятно, что в современных системах много всего добавлено. Например, автоматическое обнаружение оборудование и установка дров для него. Но разве это должно так сильно влиять на производительность?
Если кому-то захочется повторить этот опыт и воспользоваться WinXP на каком-то очень старом железе, то вот подсказка по софту:
◽ Kaspersky Free с именем установщика kfa18.0.0.405ru-RU_full.exe всё ещё нормально обновляется и работает на Windows XP. Если кому-то нужен установщик, напишите, я выложу куда-нибудь. У меня он сохранён.
◽ 360 Extreme Explorer китайский браузер и найти более ли менее свежую версию на русском языке было не просто. Я в итоге нашёл версию 13.5.2022.0 на базе Chrome 86 от команды LRepacks. Сайты открываются нормально, youtube работает.
◽ Отдельно нужно решить вопрос с установкой современных сертификатов CA. Я уже не стал заморачиваться, но особых проблем с этим быть не должно. Списки есть в интернете. Без этого многие сайты ругаются на невозможность проверить сертификат.
Интересно, у кого-то ещё есть железо под управлением Windows XP? Я знаю много мест, где их всё ещё используют. На производстве видел со станками, в мед. клиниках на медицинском оборудовании.
#разное #windows
Установил туда Office XP, современный браузер 360 Extreme Explorer и антивирус Kaspersky Free. Решил посмотреть, насколько реально всем этим пользоваться. И вот что первое бросается в глаза. Система совершенно нормально работает на этом железе. Всё открывается очень быстро, никаких тормозов. По ощущениям не хуже, чем мой локальный ноут и 100% быстрее и комфортнее, чем Windows 10 и 11 на этом же гипервизоре на RAID10 на нормальном контроллере с включенным кэшированием.
Такая огромная деградация производительности, хотя пользовательское поведение и какое-то удобство использования не сильно ушло от Windows XP. Ярлыки на рабочем столе, запуск программ. Что ещё надо от системы? Понятно, что в современных системах много всего добавлено. Например, автоматическое обнаружение оборудование и установка дров для него. Но разве это должно так сильно влиять на производительность?
Если кому-то захочется повторить этот опыт и воспользоваться WinXP на каком-то очень старом железе, то вот подсказка по софту:
◽ Kaspersky Free с именем установщика kfa18.0.0.405ru-RU_full.exe всё ещё нормально обновляется и работает на Windows XP. Если кому-то нужен установщик, напишите, я выложу куда-нибудь. У меня он сохранён.
◽ 360 Extreme Explorer китайский браузер и найти более ли менее свежую версию на русском языке было не просто. Я в итоге нашёл версию 13.5.2022.0 на базе Chrome 86 от команды LRepacks. Сайты открываются нормально, youtube работает.
◽ Отдельно нужно решить вопрос с установкой современных сертификатов CA. Я уже не стал заморачиваться, но особых проблем с этим быть не должно. Списки есть в интернете. Без этого многие сайты ругаются на невозможность проверить сертификат.
Интересно, у кого-то ещё есть железо под управлением Windows XP? Я знаю много мест, где их всё ещё используют. На производстве видел со станками, в мед. клиниках на медицинском оборудовании.
#разное #windows
👍119👎3
Ещё одна прикольная игра из стародавних времён. А конкретно из 2005 года. Называется Взломщик. Это симулятор жизни 17-летнего студента, за которого вы играете. Игра на вид простенькая, сделанная одним человеком. Но на самом деле она насыщена и там куча всяких вещей, связей, процессов. Стиль игры как и у многих самоделок того времени - что-то типа тамагочи. Вы развиваете своего персонажа.
Сначала учитесь, устраиваетесь на начальную работу. Получаете деньги, прокачиваете себя, своё жильё, мебель, комп и даже жену. Без жены ничего не выйдет, по сюжету надо жениться и обязательно сексом заниматься. Без этого по работе не продвинуться. Нужно удовлетворять все базовые потребности.
В игре есть сайты, чаты, хостинг, поисковая система. Даже порносайт имеется. Вам надо грейдить свой комп, учиться взломам. Накопив опыт, вы сможете вступить в хакерскую команду, сканировать сети и взламывать сервера, используя эксплоиты, красть с них информацию. Сможете заниматься кардерством, покупая на украденные деньги товары в e-shop'ах.
Я скачал игру отсюда - https://kazus.ru/programs/download/9632/ Проверил на вирусы, всё норм. Поставил на виртуалку и там поиграл. Игру писал то ли немного повёрнутый человек, то ли это у него юмор такой. Вы поймёте о чем я сразу же, запустив установщик. Он там своеобразный.
#игра
Сначала учитесь, устраиваетесь на начальную работу. Получаете деньги, прокачиваете себя, своё жильё, мебель, комп и даже жену. Без жены ничего не выйдет, по сюжету надо жениться и обязательно сексом заниматься. Без этого по работе не продвинуться. Нужно удовлетворять все базовые потребности.
В игре есть сайты, чаты, хостинг, поисковая система. Даже порносайт имеется. Вам надо грейдить свой комп, учиться взломам. Накопив опыт, вы сможете вступить в хакерскую команду, сканировать сети и взламывать сервера, используя эксплоиты, красть с них информацию. Сможете заниматься кардерством, покупая на украденные деньги товары в e-shop'ах.
Я скачал игру отсюда - https://kazus.ru/programs/download/9632/ Проверил на вирусы, всё норм. Поставил на виртуалку и там поиграл. Игру писал то ли немного повёрнутый человек, то ли это у него юмор такой. Вы поймёте о чем я сразу же, запустив установщик. Он там своеобразный.
#игра
👍47👎2
Я познакомился с бесплатной open source системой для совместной работы пользователей Kopano. Чтобы сразу было понятно, о чём пойдёт речь скажу, что эта система похожа на Zimbra, OnlyOffice Community Server или Nextcloud. В основе там почтовый сервер и куча сервисов вокруг него. Всё заточено на совместную работу пользователей, которые хранятся в LDAP.
Kopano довольно замороченная система, впрочем, как и OnlyOffice. Состоит из множества компонентов, собирается по кусочкам из того, что тебе нужно. Функционал очень большой, а среди бесплатных продуктов аналогов мало. Сильно выбирать не из чего. Так что если будете себе выбирать подобный продукт, придётся попробовать все, чтобы решить, какой подойдёт лучше.
У меня есть опыт с Zimbra и OnlyOffice. Не могу сказать, что лучше. Они сильно разные. Zimbra более целостной выглядит, но на текущий момент уже не актуальна, так как бесплатная версия доживает свои дни.
Основной функционал Kopano:
◽ почтовый сервер с календарём, адресной книгой, заметками, задачами, построен на базе postfix и dovecot;
◽ ldap сервер для хранения учётных записей для всех сервисов;
◽ чат на базе mattermost;
◽ общая работа с документами на базе LibreOffice Online;
◽ видеоконференции на базе webRTC;
◽ есть web доступ, десктопное и мобильное приложения (наверняка electron, выглядит идентично web приложению, но лично не проверял);
◽ есть русский язык, перевод нормальный, но иногда попадаются непереведённые фразы.
Установить и настроить всё это дело не просто. Я много времени потратил, пока изучил документацию. Чего-то прям особо сложного нет, потому что ядро системы работает на базе стандартного стека php + mysql. А дальше всё наслаивается отдельными модулями и интеграциями. Надо аккуратно все ставить, прописывать конфиги и соединять компоненты друг с другом.
Проект Kopano интегрирован на уровне готовых пакетов в дистрибутив Debian. Под него даже отдельная страничка в Wiki есть. Если хотите быстро посмотреть и попробовать продукт, то можно воспользоваться неофициальным набором контейнеров и запустить их через docker-compose. Я пошёл по этому пути. Всё завелось с первого раза и без особых проблем:
Поднимется 21 контейнер. Описание каждого из них есть на отдельной странице. Это только базовый набор компонентов. Нет чата и онлайн редактора документов. Не знаю, можно ли будет их сюда прикрутить отдельно. Данный репозиторий служит для тестовых установок и проверки функционала новых версий. В прод лучше ставить другим способом. Эта установка создаёт набор тестовых данных в виде юзеров, общих ящиков, алиасов, отделов и т.д.
Если у кого-то есть опыт использования Kopano, поделитесь впечатлениями. Продукт старый и довольно известный. Раньше назывался Zarafa, про него много материалов в рунете. А по Kopano вообще ничего. Он уже довольно сильно отличается от Zarafa. Если знаете хорошие аналоги, то тоже дайте знать.
Сайт - https://kopano.io
Demo - https://demo.kopano.com/webapp/
Исходники - https://stash.kopano.io/projects
Документация - https://documentation.kopano.io/
Wiki - https://kb.kopano.io/
#docs #mailserver
Kopano довольно замороченная система, впрочем, как и OnlyOffice. Состоит из множества компонентов, собирается по кусочкам из того, что тебе нужно. Функционал очень большой, а среди бесплатных продуктов аналогов мало. Сильно выбирать не из чего. Так что если будете себе выбирать подобный продукт, придётся попробовать все, чтобы решить, какой подойдёт лучше.
У меня есть опыт с Zimbra и OnlyOffice. Не могу сказать, что лучше. Они сильно разные. Zimbra более целостной выглядит, но на текущий момент уже не актуальна, так как бесплатная версия доживает свои дни.
Основной функционал Kopano:
◽ почтовый сервер с календарём, адресной книгой, заметками, задачами, построен на базе postfix и dovecot;
◽ ldap сервер для хранения учётных записей для всех сервисов;
◽ чат на базе mattermost;
◽ общая работа с документами на базе LibreOffice Online;
◽ видеоконференции на базе webRTC;
◽ есть web доступ, десктопное и мобильное приложения (наверняка electron, выглядит идентично web приложению, но лично не проверял);
◽ есть русский язык, перевод нормальный, но иногда попадаются непереведённые фразы.
Установить и настроить всё это дело не просто. Я много времени потратил, пока изучил документацию. Чего-то прям особо сложного нет, потому что ядро системы работает на базе стандартного стека php + mysql. А дальше всё наслаивается отдельными модулями и интеграциями. Надо аккуратно все ставить, прописывать конфиги и соединять компоненты друг с другом.
Проект Kopano интегрирован на уровне готовых пакетов в дистрибутив Debian. Под него даже отдельная страничка в Wiki есть. Если хотите быстро посмотреть и попробовать продукт, то можно воспользоваться неофициальным набором контейнеров и запустить их через docker-compose. Я пошёл по этому пути. Всё завелось с первого раза и без особых проблем:
# git clone https://github.com/Kopano-dev/kopano-docker
# cd kopano-docker
# ./setup.sh
# docker-compose up
Поднимется 21 контейнер. Описание каждого из них есть на отдельной странице. Это только базовый набор компонентов. Нет чата и онлайн редактора документов. Не знаю, можно ли будет их сюда прикрутить отдельно. Данный репозиторий служит для тестовых установок и проверки функционала новых версий. В прод лучше ставить другим способом. Эта установка создаёт набор тестовых данных в виде юзеров, общих ящиков, алиасов, отделов и т.д.
Если у кого-то есть опыт использования Kopano, поделитесь впечатлениями. Продукт старый и довольно известный. Раньше назывался Zarafa, про него много материалов в рунете. А по Kopano вообще ничего. Он уже довольно сильно отличается от Zarafa. Если знаете хорошие аналоги, то тоже дайте знать.
Сайт - https://kopano.io
Demo - https://demo.kopano.com/webapp/
Исходники - https://stash.kopano.io/projects
Документация - https://documentation.kopano.io/
Wiki - https://kb.kopano.io/
#docs #mailserver
👍45👎1
В России за первое полугодие 2022 года число атак на корпоративные сети выросло почти на треть по сравнению с прошлым годом. А значит, компаниям любого уровня необходима комплексная защита IT-инфраструктуры, чтобы противостоять угрозам информационной безопасности и избежать возможных убытков.
🗓 24 августа в 11.15 мск приглашаем на онлайн-мероприятие "Защита корпоративной сети 2022: возможности межсетевого экрана ИКС".
📌 В программе:
▪ методы и инструменты защиты сети в 2022 году;
▪ возможности ИКС для безопасности IT-инфраструктуры вашей компании;
▪ специальные условия приобретения модулей Kaspersky Anti-Virus и Kaspersky Anti-Spam;
▪ в прямом эфире ответы на интересующие вопросы;
▪ подарки от ИКС для самых активных участников.
Ждем вас на вебинаре, где вы узнаете, как противостоять угрозам информационной безопасности и обеспечить мощную защиту вашей корпоративной сети.
👉 Регистрация
🛡 Протестировать ИКС
🗣 ИКС в Telegram
#реклама
🗓 24 августа в 11.15 мск приглашаем на онлайн-мероприятие "Защита корпоративной сети 2022: возможности межсетевого экрана ИКС".
📌 В программе:
▪ методы и инструменты защиты сети в 2022 году;
▪ возможности ИКС для безопасности IT-инфраструктуры вашей компании;
▪ специальные условия приобретения модулей Kaspersky Anti-Virus и Kaspersky Anti-Spam;
▪ в прямом эфире ответы на интересующие вопросы;
▪ подарки от ИКС для самых активных участников.
Ждем вас на вебинаре, где вы узнаете, как противостоять угрозам информационной безопасности и обеспечить мощную защиту вашей корпоративной сети.
👉 Регистрация
🛡 Протестировать ИКС
🗣 ИКС в Telegram
#реклама
👍12👎9
Продолжу тему менеджеров подключений, которую недавно поднимал, рассказывая про WindTerm. Есть очень популярный open source проект на github с кучей звезд, спонсоров и разработчиков, реализующий функционал как локального, так и SSH терминала - Tabby.
Разработчики прямо пишут в самом начале, что позиционируют его, как замену стандартного терминала в Windows и MacOS. Tabby есть в том числе и под Linux. В Windows есть поддержка PowerShell. Благодаря тому, что есть портированная версия, его легко попробовать и оценить, ничего не устанавливая в систему.
Скажу честно, лично меня новый терминал Windows полностью устраивает. Не вижу, чего мне там может не хватать, но у Tabby функционал шире. Например, можно рядом две панели расположить на экране (split) или сохранить список открытых вкладок. Портированная версия также расширяет спектр применения. Удобно, когда все настройки хранятся в одном месте и легко переносятся. Так что я себе скачал и положил в папочку с софтом.
📌 Ещё несколько полезных возможностей Tabby:
◽ можно создавать ярлыки для запуска программы с готовыми настройками;
◽ прямая передача файлов по SSH с использованием протокола Zmodem;
◽ есть шифрованный контейнер для хранения учёток и сертификатов SSH подключений;
◽ поддерживает PowerShell, PS Core, WSL, Git-Bash, Cygwin, Cmder и CMD;
◽ можно установить как web-app на свой хостинг для работы через браузер.
Программа неплохая. Пока у меня не появились десятки и сотни сохранённых соединений SSH, я пользовался putty и kitty. В то время мне бы подошла такая программа, объединяющая в себе локальную консоль и менеджер удалённых соединений. Сейчас у меня это разные программы.
Отдельно отмечу, что написано на Electron, так что это не про скорость работы. Этот момент, кстати, разработчики отдельно отмечают в описании. Не стоит ждать от Tabby легковесной замены системным терминалам, которые тоже не блещут производительностью. Виндовый так точно.
На картинке ниже открыл три вкладки на одном экране: linux хост, справа настройки программы, снизу локальный терминал windows.
Сайт - https://tabby.sh
Исходники - https://github.com/Eugeny/tabby
Web версия - https://app.tabby.sh
#менеджеры_подключений #windows
Разработчики прямо пишут в самом начале, что позиционируют его, как замену стандартного терминала в Windows и MacOS. Tabby есть в том числе и под Linux. В Windows есть поддержка PowerShell. Благодаря тому, что есть портированная версия, его легко попробовать и оценить, ничего не устанавливая в систему.
Скажу честно, лично меня новый терминал Windows полностью устраивает. Не вижу, чего мне там может не хватать, но у Tabby функционал шире. Например, можно рядом две панели расположить на экране (split) или сохранить список открытых вкладок. Портированная версия также расширяет спектр применения. Удобно, когда все настройки хранятся в одном месте и легко переносятся. Так что я себе скачал и положил в папочку с софтом.
📌 Ещё несколько полезных возможностей Tabby:
◽ можно создавать ярлыки для запуска программы с готовыми настройками;
◽ прямая передача файлов по SSH с использованием протокола Zmodem;
◽ есть шифрованный контейнер для хранения учёток и сертификатов SSH подключений;
◽ поддерживает PowerShell, PS Core, WSL, Git-Bash, Cygwin, Cmder и CMD;
◽ можно установить как web-app на свой хостинг для работы через браузер.
Программа неплохая. Пока у меня не появились десятки и сотни сохранённых соединений SSH, я пользовался putty и kitty. В то время мне бы подошла такая программа, объединяющая в себе локальную консоль и менеджер удалённых соединений. Сейчас у меня это разные программы.
Отдельно отмечу, что написано на Electron, так что это не про скорость работы. Этот момент, кстати, разработчики отдельно отмечают в описании. Не стоит ждать от Tabby легковесной замены системным терминалам, которые тоже не блещут производительностью. Виндовый так точно.
На картинке ниже открыл три вкладки на одном экране: linux хост, справа настройки программы, снизу локальный терминал windows.
Сайт - https://tabby.sh
Исходники - https://github.com/Eugeny/tabby
Web версия - https://app.tabby.sh
#менеджеры_подключений #windows
👍35👎2
Я давно уже получил рекомендацию на хороший бесплатный WAF (Web Application Firewall) - VultureProject. Только сейчас дошли руки на него посмотреть и попробовать. Это оказалось не так просто, как я думал. Потратил очень много времени. Сейчас расскажу обо всём по порядку.
Vulture основан на Freebsd, внутри у него известные компоненты, собранные воедино:
◽ haproxy в качестве tcp балансировщика
◽ apache в качестве http балансировщика
◽ darwin в качестве artificial Intelligence и machine learning, то есть фреймфорк для автоматизации поиска угроз
◽ redis, в том числе для сбора логов из Elasticsearch beats, таких как winlogbeat, filebeat, auditbeat, metricbeat, используется redis output
◽ mongodb в качестве БД
◽ BSD Packet Filter в качестве фаервола
◽ ModSecurity v3 для веб фильтрации
Всё вместе это организует шлюз для входящих запросов на различные приложения. Запросы анализируются и отправляются дальше на настроенные сервера с самими сайтами и приложениями. При этом Vulture умеет принимать не только запросы и выступать в качестве proxy, но и анализировать чужие логи, которые на него можно направить через различные протоколы.
К сожалению, у меня не получилось полноценно проверить работу этой системы. Недавно была анонсирована 4-я версия, которая в настоящий момент полностью не доделана. При этом изменился сайт и вся информация о 3-й версии, которая наиболее функциональна и которую мне рекомендовали, была удалена с сайта. Я даже не понял, где и как скачать 3-ю версию.
В настоящий момент на сайте есть 4-я версия. Для её установки предлагается скачать готовый образ виртуальной машины, что я и сделал. Скачал образ для KVM и развернул его на Proxmox. Достаточно создать виртуалку и заменить её диск на скачанный образ qcow2.
Далее загружаем систему и логинимся в неё. Учётка vlt-adm / vlt-adm. Далее в системе нужно обязательно войти в панель управления, введя в терминале:
Там необходимо настроить сетевой интерфейс и изменить имя хоста. Причём у меня не получилось настроить ip через dhcp. Почему-то адрес применился, а шлюз нет. В итоге пришлось отключить dhcp и настроить руками этот же адрес. В этой же панели управления рекомендую установить все обновления. Там и по самому продукту они прилетят.
После того, как настроите сеть и имя хоста (! это важно, измените дефолтное имя, иначе ничего не заработает), нужно выполнить команду:
После этого можно идти в веб интерфейс по адресу https://10.20.1.49:8000. Дальнейшая настройка производится через веб интерфейс. А это самое интересное, так как полноценной документации для 4-й версии нет. Кое-что открывается в описании к настройкам в веб интерфейсе, но не везде. Пришлось смотреть для 3-й версии, чтобы примерно понять концепцию и саму настройку.
Подробно расписывать всё не буду, так как слишком долго, да и всё равно полноценной инструкции не получится. Кому реально интересен подобного рода продукт, думаю, разберётся. Бесплатных аналогов всё равно не так много. Посмотреть их можно по тэгу в конце заметки. Я кое-что уже описывал. Подскажу только, чтобы было понятно куда двигаться. Добавить сайты, на которые будут проксироваться запросы, можно в разделе Applications. Добавляете новое приложение и прописываете все параметры.
Система довольно жирная и на обычном hdd у меня плохо работала. По ошибке закинул туда образ и долго мучался, так как всё тормозило. Лучше диск побыстрее выбрать. Добавлю ещё, что Vulture умеет работать в режиме отказоустойчивого кластера. Настраивается не сложно.
Если у кого-то есть опыт с этим продуктом, то дайте обратную связь. Какую версию сейчас разумнее использовать? Если третью, то где её взять и как правильно поставить? Готовых образов не увидел.
Сайт - https://www.vultureproject.org
Исходники - https://github.com/VultureProject/
#security #waf
Vulture основан на Freebsd, внутри у него известные компоненты, собранные воедино:
◽ haproxy в качестве tcp балансировщика
◽ apache в качестве http балансировщика
◽ darwin в качестве artificial Intelligence и machine learning, то есть фреймфорк для автоматизации поиска угроз
◽ redis, в том числе для сбора логов из Elasticsearch beats, таких как winlogbeat, filebeat, auditbeat, metricbeat, используется redis output
◽ mongodb в качестве БД
◽ BSD Packet Filter в качестве фаервола
◽ ModSecurity v3 для веб фильтрации
Всё вместе это организует шлюз для входящих запросов на различные приложения. Запросы анализируются и отправляются дальше на настроенные сервера с самими сайтами и приложениями. При этом Vulture умеет принимать не только запросы и выступать в качестве proxy, но и анализировать чужие логи, которые на него можно направить через различные протоколы.
К сожалению, у меня не получилось полноценно проверить работу этой системы. Недавно была анонсирована 4-я версия, которая в настоящий момент полностью не доделана. При этом изменился сайт и вся информация о 3-й версии, которая наиболее функциональна и которую мне рекомендовали, была удалена с сайта. Я даже не понял, где и как скачать 3-ю версию.
В настоящий момент на сайте есть 4-я версия. Для её установки предлагается скачать готовый образ виртуальной машины, что я и сделал. Скачал образ для KVM и развернул его на Proxmox. Достаточно создать виртуалку и заменить её диск на скачанный образ qcow2.
Далее загружаем систему и логинимся в неё. Учётка vlt-adm / vlt-adm. Далее в системе нужно обязательно войти в панель управления, введя в терминале:
# admin
Там необходимо настроить сетевой интерфейс и изменить имя хоста. Причём у меня не получилось настроить ip через dhcp. Почему-то адрес применился, а шлюз нет. В итоге пришлось отключить dhcp и настроить руками этот же адрес. В этой же панели управления рекомендую установить все обновления. Там и по самому продукту они прилетят.
После того, как настроите сеть и имя хоста (! это важно, измените дефолтное имя, иначе ничего не заработает), нужно выполнить команду:
# sudo /home/vlt-adm/gui/cluster_create.sh
После этого можно идти в веб интерфейс по адресу https://10.20.1.49:8000. Дальнейшая настройка производится через веб интерфейс. А это самое интересное, так как полноценной документации для 4-й версии нет. Кое-что открывается в описании к настройкам в веб интерфейсе, но не везде. Пришлось смотреть для 3-й версии, чтобы примерно понять концепцию и саму настройку.
Подробно расписывать всё не буду, так как слишком долго, да и всё равно полноценной инструкции не получится. Кому реально интересен подобного рода продукт, думаю, разберётся. Бесплатных аналогов всё равно не так много. Посмотреть их можно по тэгу в конце заметки. Я кое-что уже описывал. Подскажу только, чтобы было понятно куда двигаться. Добавить сайты, на которые будут проксироваться запросы, можно в разделе Applications. Добавляете новое приложение и прописываете все параметры.
Система довольно жирная и на обычном hdd у меня плохо работала. По ошибке закинул туда образ и долго мучался, так как всё тормозило. Лучше диск побыстрее выбрать. Добавлю ещё, что Vulture умеет работать в режиме отказоустойчивого кластера. Настраивается не сложно.
Если у кого-то есть опыт с этим продуктом, то дайте обратную связь. Какую версию сейчас разумнее использовать? Если третью, то где её взять и как правильно поставить? Готовых образов не увидел.
Сайт - https://www.vultureproject.org
Исходники - https://github.com/VultureProject/
#security #waf
👍22👎5
Расскажу про ещё одну отличную утилиту для локального мониторинга и поиска узких мест в производительности Linux. Я её уже упоминал в разных заметках, но не было единой публикации, чтобы забрать в закладки. Речь пойдёт про dstat.
Утилита есть в стандартных репозиториях дистрибутивов. Ставим так:
Dstat - универсальный инструмент, который частично перекрывает функционал iostat, vmstat, netstat и ifstat. У утилиты есть отдельно свои односимвольные ключи, которые вызываются одиночным тире и список плагинов, которые вызываются через двойное тире. Их можно комбинировать.
Покажу сразу пример из свой шпаргалки, которой постоянно пользуюсь:
При этом будет выводиться с интервалом в 10 секунд:
◽ текущее время – t
◽ средняя загрузка системы – l
◽ использования дисков – d
◽ загрузка сетевых устройств – n
◽ активность процессов – p
◽ использование памяти – m
◽ использование подкачки – s
Очень удобная команда, которая позволяет быстро и комплексно оценить загрузку системы по всем основным характеристикам.
Нагрузка на диск с разбивкой по процессам:
Пример того, как можно настроить вывод информации в удобном для себя формате:
◽ load average -l
◽ использование памяти -m
◽ использование swap -s
◽ процесс, занимающий больше всего памяти --top-mem
У утилиты очень много разнообразных ключей для той или иной информации. Комбинируя их, можно настраивать необходимый вам вывод.
Набор метрик для анализа нагрузки на CPU:
Любопытный ключ:
Утилита покажет того, кого OOM Killer грохнет первого, если закончится оперативная память. Не знаю, чем это отличается от ключа --top-mem. По идее, одно и то же должно быть.
Ну и так далее. Комбинаций ключей может быть много. Список всех доступных плагинов можно посмотреть так:
или в man.
К слову, развитие этой утилиты прекратилось в 2019 году из-за того, что Red Hat взяли это же название для своего продукта из набора Performance Co-Pilot. Об этом автор написал в репозитории. Я не знаю, что в современных дистрибутивах, основанных на RHEL, ставится под этим названием пакета. В Debian по прежнему старый dstat. В Centos 7 тоже он же ставился, я постоянно пользовался. Что интересно, замену можно и не заметить, так как все ключи и вывод команды Red Hat повторили в своём продукте. То есть сознательно так поступили, заняв известное имя.
#perfomance
Утилита есть в стандартных репозиториях дистрибутивов. Ставим так:
# apt install dstat
# dnf install dstat
Dstat - универсальный инструмент, который частично перекрывает функционал iostat, vmstat, netstat и ifstat. У утилиты есть отдельно свои односимвольные ключи, которые вызываются одиночным тире и список плагинов, которые вызываются через двойное тире. Их можно комбинировать.
Покажу сразу пример из свой шпаргалки, которой постоянно пользуюсь:
# dstat -tldnpms 10
При этом будет выводиться с интервалом в 10 секунд:
◽ текущее время – t
◽ средняя загрузка системы – l
◽ использования дисков – d
◽ загрузка сетевых устройств – n
◽ активность процессов – p
◽ использование памяти – m
◽ использование подкачки – s
Очень удобная команда, которая позволяет быстро и комплексно оценить загрузку системы по всем основным характеристикам.
Нагрузка на диск с разбивкой по процессам:
# dstat --top-io
Пример того, как можно настроить вывод информации в удобном для себя формате:
# dstat -l -m -s --top-mem
◽ load average -l
◽ использование памяти -m
◽ использование swap -s
◽ процесс, занимающий больше всего памяти --top-mem
У утилиты очень много разнообразных ключей для той или иной информации. Комбинируя их, можно настраивать необходимый вам вывод.
Набор метрик для анализа нагрузки на CPU:
# dstat -c -y -l --proc-count --top-cpu
Любопытный ключ:
# dstat --top-oom
Утилита покажет того, кого OOM Killer грохнет первого, если закончится оперативная память. Не знаю, чем это отличается от ключа --top-mem. По идее, одно и то же должно быть.
Ну и так далее. Комбинаций ключей может быть много. Список всех доступных плагинов можно посмотреть так:
# dstat --list
или в man.
К слову, развитие этой утилиты прекратилось в 2019 году из-за того, что Red Hat взяли это же название для своего продукта из набора Performance Co-Pilot. Об этом автор написал в репозитории. Я не знаю, что в современных дистрибутивах, основанных на RHEL, ставится под этим названием пакета. В Debian по прежнему старый dstat. В Centos 7 тоже он же ставился, я постоянно пользовался. Что интересно, замену можно и не заметить, так как все ключи и вывод команды Red Hat повторили в своём продукте. То есть сознательно так поступили, заняв известное имя.
#perfomance
👍78
На примере отличного бесплатного софта для восстановления удалённых файлов под названием R-Linux я рассмотрю ситуацию, когда по ошибке удалён нужный файл. Надо будет его восстановить.
Для начала немного теории. Почему возможно восстановить удалённый файл? Потому что он состоит из трех сущностей - запись в каталоге с соответствием имени и inode, самой inode и блоков данных. При удалении файла стирается запись в каталоге, а inode и блоки помечаются как свободные. В них остаются данные до тех пор, пока они не будут использованы заново. Тут есть важный нюанс. Если какой-то процесс держит удалённый файл открытым, то inode и блоки данных не будут помечены свободными, пока не будет закрыт последний файловый дескриптор, указывающий на файл. В этом случае восстановить удалённый файл очень просто. Я описывал такую ситуацию отдельно.
В моём примере я удалю файл безвозвратно и держать открытым его никто не будет. Возьмём систему Debian 11 и файловую систему ext4. Удалим стартовую страницу nginx - /var/www/html/index.nginx-debian.html
Если вы хотите с максимальной вероятностью восстановить файл, то вам надо тут же выключить машину, сделать копию виртуального диска и работать уже с ним. Подключить его к другой виртуалке, загрузиться с LiveCD и все дальнейшие действия делать там. Так вы максимально снизите шанс того, что освобождённое после удаления файла место будет перезаписано.
Я подключил к этой виртуальной машине CD-ROM, вставил туда LIVE образ Debian 11 с xfce и загрузился с него. Далее установил RLinux5. Можно скачать с сайта через браузер, либо через консоль:
Запустил RLinux. Программа с графическим интерфейсом, так что работать с ней легко. Она увидела мой жёсткий диск и все разделы на нём. Я выбрал раздел, на котором был удалён файл и выполнил сканирование уровня detailed. Затем открыл обзор файлов на этом же разделе.
Пошёл в директорию /var/www/html/ и увидел там свой файл, помеченный как удалённый. Там же можно выбрать этот файл и нажать кнопку Recover. Программа сообщила, что файл восстановлен. Я обрадовался, что всё получилось так просто и быстро. Но радоваться было рано. Файл оказался пустым.
Тут я приуныл. В данном эксперименте условия идеальные. Файл с очень большой долей вероятности должен быть цел. Решил выполнить поиск по всем удалённым файлам. Получил большой список файлов с названиями вида $inodeindx0001ff23. Стал выборочно проверять те, которые по размеру могут быть похожи на удалённый файл. И нашёл его. Результат на картинке. Выбрал файл, нажал Recover и сохранил его в другое место.
Вот так на практике можно попробовать восстановить то, что было случайно удалено. Я подозреваю, что не до конца разобрался, как правильно осуществить поиск в этой программе, поэтому пришлось вручную копаться в удалённых файлах. У них было корректное время изменения (не удаления), так что можно было хотя бы по этому признаку сузить поиск.
❗️Заметку имеет смысл сохранить и надеяться, что никогда не пригодится. Тут готовая инструкция как с большой долей вероятности восстановить случайно удалённый файл, если действовать оперативно. Но вообще программа R-Linux умеет много всего: восстанавливать разделы, файловые системы, делать корректно образы с повреждённых дисков и т.д. На сайте подробно всё описано.
Сайт - https://www.r-studio.com/ru/free-linux-recovery
#restore
Для начала немного теории. Почему возможно восстановить удалённый файл? Потому что он состоит из трех сущностей - запись в каталоге с соответствием имени и inode, самой inode и блоков данных. При удалении файла стирается запись в каталоге, а inode и блоки помечаются как свободные. В них остаются данные до тех пор, пока они не будут использованы заново. Тут есть важный нюанс. Если какой-то процесс держит удалённый файл открытым, то inode и блоки данных не будут помечены свободными, пока не будет закрыт последний файловый дескриптор, указывающий на файл. В этом случае восстановить удалённый файл очень просто. Я описывал такую ситуацию отдельно.
В моём примере я удалю файл безвозвратно и держать открытым его никто не будет. Возьмём систему Debian 11 и файловую систему ext4. Удалим стартовую страницу nginx - /var/www/html/index.nginx-debian.html
# rm -f /var/www/html/index.nginx-debian.html
Если вы хотите с максимальной вероятностью восстановить файл, то вам надо тут же выключить машину, сделать копию виртуального диска и работать уже с ним. Подключить его к другой виртуалке, загрузиться с LiveCD и все дальнейшие действия делать там. Так вы максимально снизите шанс того, что освобождённое после удаления файла место будет перезаписано.
Я подключил к этой виртуальной машине CD-ROM, вставил туда LIVE образ Debian 11 с xfce и загрузился с него. Далее установил RLinux5. Можно скачать с сайта через браузер, либо через консоль:
# wget https://www.r-studio.com/downloads/RLinux5_x64.deb
# dpkg -i RLinux5_x64.deb
Запустил RLinux. Программа с графическим интерфейсом, так что работать с ней легко. Она увидела мой жёсткий диск и все разделы на нём. Я выбрал раздел, на котором был удалён файл и выполнил сканирование уровня detailed. Затем открыл обзор файлов на этом же разделе.
Пошёл в директорию /var/www/html/ и увидел там свой файл, помеченный как удалённый. Там же можно выбрать этот файл и нажать кнопку Recover. Программа сообщила, что файл восстановлен. Я обрадовался, что всё получилось так просто и быстро. Но радоваться было рано. Файл оказался пустым.
Тут я приуныл. В данном эксперименте условия идеальные. Файл с очень большой долей вероятности должен быть цел. Решил выполнить поиск по всем удалённым файлам. Получил большой список файлов с названиями вида $inodeindx0001ff23. Стал выборочно проверять те, которые по размеру могут быть похожи на удалённый файл. И нашёл его. Результат на картинке. Выбрал файл, нажал Recover и сохранил его в другое место.
Вот так на практике можно попробовать восстановить то, что было случайно удалено. Я подозреваю, что не до конца разобрался, как правильно осуществить поиск в этой программе, поэтому пришлось вручную копаться в удалённых файлах. У них было корректное время изменения (не удаления), так что можно было хотя бы по этому признаку сузить поиск.
❗️Заметку имеет смысл сохранить и надеяться, что никогда не пригодится. Тут готовая инструкция как с большой долей вероятности восстановить случайно удалённый файл, если действовать оперативно. Но вообще программа R-Linux умеет много всего: восстанавливать разделы, файловые системы, делать корректно образы с повреждённых дисков и т.д. На сайте подробно всё описано.
Сайт - https://www.r-studio.com/ru/free-linux-recovery
#restore
👍48👎6
Небольшая подсказка для тех, кому на ОС Windows нужно обновить список корневых сертификатов. Это актуально для систем, которые уже не получают обновления, либо они принудительно отключены. Один-два сертификата можно добавить вручную. Если же их много, то надо это автоматизировать.
Если речь идёт о системах Windows 10 или 11, то там всё просто. Берём обновлённую систему и запускаем там:
Сформируется SST контейнер, который можно открыть и посмотреть содержимое. Там будут все корневые сертификаты с текущей машины. На другой машине восстановить можно вот так:
Если речь идёт о более старых системах, то для них есть другая утилита от Microsoft - rootsupd.exe. Они давно её выпилили из своих загрузок, так что лично я качал с сайта Kaspersky (инструкция и ссылка на утилиту).
Для начала её надо скачать, положить в директорию C:/rootsupd/ и запустить с параметрами:
Выскочит окошко с предложением перезаписать roots.sst, надо отказаться. Потом зайти в папку C:/rootsupd/, положить туда актуальный roots.sst с обновлённой системы и запустить из этой папки утилиту updroots.exe:
Теперь сертификаты обновлены. Я удивился, когда искал решение этой задачи. В сети очень много подобных заметок по обновлению корневых сертификатов на старых системах. Гуглятся как русскоязычные записи, так и иностранные. Похоже куча народа по различным причинам вынуждены использовать старые системы.
Кстати, протухшие CA и старые протоколы шифрования TLS и SSL отличные могильщики старых систем. На них теперь никуда не попасть в современном интернете и ничего не скачать. И проблема эта актуальна не только в Windows. Помню, как в Centos 5 и 6 мне приходилось решать похожие проблемы. Даже писал об этом здесь, но давно дело было.
#windows
Если речь идёт о системах Windows 10 или 11, то там всё просто. Берём обновлённую систему и запускаем там:
# certutil.exe -generateSSTFromWU roots.sst
Сформируется SST контейнер, который можно открыть и посмотреть содержимое. Там будут все корневые сертификаты с текущей машины. На другой машине восстановить можно вот так:
# $sstStore = ( Get-ChildItem -Path roots.sst )
# $sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Если речь идёт о более старых системах, то для них есть другая утилита от Microsoft - rootsupd.exe. Они давно её выпилили из своих загрузок, так что лично я качал с сайта Kaspersky (инструкция и ссылка на утилиту).
Для начала её надо скачать, положить в директорию C:/rootsupd/ и запустить с параметрами:
# rootsupd.exe /c /t:C:\PS\rootsupd
Выскочит окошко с предложением перезаписать roots.sst, надо отказаться. Потом зайти в папку C:/rootsupd/, положить туда актуальный roots.sst с обновлённой системы и запустить из этой папки утилиту updroots.exe:
# updroots.exe roots.sst
Теперь сертификаты обновлены. Я удивился, когда искал решение этой задачи. В сети очень много подобных заметок по обновлению корневых сертификатов на старых системах. Гуглятся как русскоязычные записи, так и иностранные. Похоже куча народа по различным причинам вынуждены использовать старые системы.
Кстати, протухшие CA и старые протоколы шифрования TLS и SSL отличные могильщики старых систем. На них теперь никуда не попасть в современном интернете и ничего не скачать. И проблема эта актуальна не только в Windows. Помню, как в Centos 5 и 6 мне приходилось решать похожие проблемы. Даже писал об этом здесь, но давно дело было.
#windows
👍95
Хочу сделать предостережение и подсветить одну неприятную историю. Существует "Лучший инновационный продукт 2022 года" в виде системы мониторинга Camkeeper. Мне прислал ссылку один подписчик. Заинтересовался продуктом, решил узнать подробнее, что это такое.
Красивый современный сайт, интервью с основателем, выступления на конференциях. Описано всё круто, стоимость, техподдержка. Полноценная компания. Думаю, что же это за система мониторинга такая. Ищу подробности, а их как-то нет.
Потом уже замечаю некоторые скриншоты в описаниях. Смотрю обзорный ролик и понимаю, что это обычный Zabbix, где просто сменили логотип. Вот такая инновация 2022 года.
Если где-то услышите о системе мониторинга Camkeeper, знайте, что это обычный Zabbix и платить там не за что. Если бы они честно продавали внедрение и техподдержку, как делают многие, то вопросов бы не было. Но менять логотип известного продукта и выдавать его за свой это полное дно. Не понятно, на кого рассчитано.
Отдельно порадовало опубликованное благодарственное письмо на сайте:
Необходимо отметить высокий уровень инноваций, внедренных в продукцию Camkeeper разработчиками. Благодаря детальной удаленной диагностике работоспособности всех элементов системы видеонаблюдения, мы не только снизили расходы на ее обслуживание, но и систематизировали процессы с подрядной организацией.
Cпециалист по безопасности и режиму.
Слышали где-нибудь об этой системе?
Красивый современный сайт, интервью с основателем, выступления на конференциях. Описано всё круто, стоимость, техподдержка. Полноценная компания. Думаю, что же это за система мониторинга такая. Ищу подробности, а их как-то нет.
Потом уже замечаю некоторые скриншоты в описаниях. Смотрю обзорный ролик и понимаю, что это обычный Zabbix, где просто сменили логотип. Вот такая инновация 2022 года.
Если где-то услышите о системе мониторинга Camkeeper, знайте, что это обычный Zabbix и платить там не за что. Если бы они честно продавали внедрение и техподдержку, как делают многие, то вопросов бы не было. Но менять логотип известного продукта и выдавать его за свой это полное дно. Не понятно, на кого рассчитано.
Отдельно порадовало опубликованное благодарственное письмо на сайте:
Необходимо отметить высокий уровень инноваций, внедренных в продукцию Camkeeper разработчиками. Благодаря детальной удаленной диагностике работоспособности всех элементов системы видеонаблюдения, мы не только снизили расходы на ее обслуживание, но и систематизировали процессы с подрядной организацией.
Cпециалист по безопасности и режиму.
Слышали где-нибудь об этой системе?
👍74👎3
Сейчас все только и говорят, что об импортозамещении в ИТ. Кто-то – с презрением и громким «все пропало». Кто-то – с восторгом и оголтелым «всех заместим». А хочется взвешенной позиции.
Импортозамещение здорового человека — канал, где трезво, без истерик и эмоций разбираемся в российском ИТ.
Читайте наши материалы:
🔸 Как уход производителей софта отражается на российской разработке? Спойлер: реальная картина далека от шумихи в СМИ, большинство разработчиков быстро и успешно адаптировались к новой действительности.
🔸 Есть ли жизнь после Intel и TSMC? Коротко о том, что происходит на рынке полупроводников в России. Где мы, куда идем и что нужно, чтобы дошли.
🔸 Как покупать железо в нынешних условиях? Ждать отмены санкций, использовать «серое» оборудование или пробовать российское?
Подписывайтесь на канал Импортозамещение здорового человека и следите за ИТ-рынком страны!
#реклама
Импортозамещение здорового человека — канал, где трезво, без истерик и эмоций разбираемся в российском ИТ.
Читайте наши материалы:
🔸 Как уход производителей софта отражается на российской разработке? Спойлер: реальная картина далека от шумихи в СМИ, большинство разработчиков быстро и успешно адаптировались к новой действительности.
🔸 Есть ли жизнь после Intel и TSMC? Коротко о том, что происходит на рынке полупроводников в России. Где мы, куда идем и что нужно, чтобы дошли.
🔸 Как покупать железо в нынешних условиях? Ждать отмены санкций, использовать «серое» оборудование или пробовать российское?
Подписывайтесь на канал Импортозамещение здорового человека и следите за ИТ-рынком страны!
#реклама
👎14👍8
В августе было несколько постов с анализом производительности Linux. Хочу немного подвести итог и сгруппировать информацию, чтобы получилась последовательная картинка по теме.
Вам кажется, что сервер тормозит. Первым делом загляните в top или htop (я его предпочитаю). Если понимания, в чём конкретно проблема, не возникло начинаем копать глубже. Типичный пример непонимания - всё тормозит, даже по ssh долгое подключение, load average высокий, а процессор не загружен, память свободная есть.
1️⃣ Используйте dstat, запустив комплексный вывод основных метрик. Это первый пример из заметки:
Там как минимум будет видно, какая и где именно нагрузка. Скорее всего если по top не понятно, в чём проблема, то смотреть надо на диски и сеть.
2️⃣ Я бы в первую очередь посмотрел на диски. Для этого можно воспользоваться заметкой Анализ дисковой активности в Linux. Там конкретные примеры по выводу различной информации с помощью разных утилит. Если они не помогли, то спускаемся на уровень ниже, берём набор утилит perf-tools и используем iolatency и iosnoop. В заметке есть описание с примерами.
3️⃣ Теперь разбираемся с сетью. Берём пакет netsniff-ng и анализируем сетевую активность - трафик, соединения, источники соединений с привязкой к процессам и т.д. В первую очередь понадобятся утилиты Ifpps и flowtop. Чуть более простые и дружелюбные для использования утилиты для анализа сети описаны у меня в посте про программу sniffer. И вот еще список тематических утилит с описанием: Iftop, NetHogs, Iptraf, Bmon.
Я знаю, что многие могут порекомендовать более продвинутые top'ы, типа atop, bashtop, glances и им подобные. Лично я их не очень люблю и обычно не использую. Иду по пути узконаправленных утилит. Возможно это не всегда оправданно, но у меня вот так.
#perfomance #подборка
Вам кажется, что сервер тормозит. Первым делом загляните в top или htop (я его предпочитаю). Если понимания, в чём конкретно проблема, не возникло начинаем копать глубже. Типичный пример непонимания - всё тормозит, даже по ssh долгое подключение, load average высокий, а процессор не загружен, память свободная есть.
1️⃣ Используйте dstat, запустив комплексный вывод основных метрик. Это первый пример из заметки:
# dstat -tldnpms 10
Там как минимум будет видно, какая и где именно нагрузка. Скорее всего если по top не понятно, в чём проблема, то смотреть надо на диски и сеть.
2️⃣ Я бы в первую очередь посмотрел на диски. Для этого можно воспользоваться заметкой Анализ дисковой активности в Linux. Там конкретные примеры по выводу различной информации с помощью разных утилит. Если они не помогли, то спускаемся на уровень ниже, берём набор утилит perf-tools и используем iolatency и iosnoop. В заметке есть описание с примерами.
3️⃣ Теперь разбираемся с сетью. Берём пакет netsniff-ng и анализируем сетевую активность - трафик, соединения, источники соединений с привязкой к процессам и т.д. В первую очередь понадобятся утилиты Ifpps и flowtop. Чуть более простые и дружелюбные для использования утилиты для анализа сети описаны у меня в посте про программу sniffer. И вот еще список тематических утилит с описанием: Iftop, NetHogs, Iptraf, Bmon.
Я знаю, что многие могут порекомендовать более продвинутые top'ы, типа atop, bashtop, glances и им подобные. Лично я их не очень люблю и обычно не использую. Иду по пути узконаправленных утилит. Возможно это не всегда оправданно, но у меня вот так.
#perfomance #подборка
👍78👎1
Вы замечали, как много всевозможных утилит по анализу производительности Linux? На них можно бесконечно писать обзоры. Клонов top море, как и анализаторов сетевой активности, каких-то ещё метрик. Я постоянно вижу подобные утилиты. Уже перестал смотреть на них, потому что объективно они не особо нужны, а для авторов это просто хобби. Если и обращаю внимание, то на что-то действительно полезное с необычным функционалом.
Я раньше думал, что это прям какие-то матёрые линуксоиды-программисты пишут подобный софт. Но на самом деле нет. Само ядро Linux в очень доступном формате отдаёт всю информацию. Достаточно её взять и красиво оформить. Покажу на простом примере.
Я постоянно использую в повседневной деятельности утилиту netstat для просмотра списка открытых портов. Если сервер сам настраиваю, то ставлю пакет с ней, если нет, то использую встроенный ss, который сейчас есть во всех дистрибутивах. Мне просто больше нравится вывод netstat, чем ss. Можете сами сравнить:
У ss вывод шире, поэтому часто переезжает на новую строку и получается каша. Но это не важно, написать хотел не об этом.
Представьте ситуацию, что вы в Docker контейнере, где нет этих утилит. Где вообще почти ничего нет, что встречается довольно часто, а хочется посмотреть, какие порты открыты и какие соединения установлены? Посмотреть очень просто:
Вот описание того, что вы увидите.
Вы получите практически всю ту же информацию, что показывают утилиты выше, только в шестнадцатеричном формате, если речь идёт о номере порта. Достаточно его перевести в десятичный и получить нужные данные. Понятно, что для этого тоже может не быть инструментов внутри контейнера, хотя тот же bash умеет это делать. Смотрим столбец local_address, первое число - ip адрес, второе - порт. Переводим порт, например 006E, в десятичный формат:
Получаем 110 tcp порт, который открыл dovecot. Можно автоматом всё это конвертнуть:
Сделать преобразование не трудно, если действительно необходимо. Я покажу готовый пример, который можно скопировать и где-то на тесте посмотреть результат. Вот эта команда с awk, которая переводит шестадцатиричный формат адресов и портов в десятичный.
Этот пример можно развить и дальше, добавив информацию из остальных столбцов о состоянии соединения, inode процесса, его породившего и всего остального. Сразу скажу, что я не разбирался, что здесь происходит 🤡. Это же bash, ему даже обфускация не нужна. Просто увидел когда-то и сохранил. Как раз тогда, когда надо было в контейнере посмотреть порты и соединения.
И такая история со всеми метриками. Их все можно взять в /proc и анализировать. Так что можете начинать изучать какой-то язык программирования и писать свой собственный top. Можно даже на bash. Правда такой пример уже есть - bashtop. Придётся придумать что-то новое 😀.
#bash
Я раньше думал, что это прям какие-то матёрые линуксоиды-программисты пишут подобный софт. Но на самом деле нет. Само ядро Linux в очень доступном формате отдаёт всю информацию. Достаточно её взять и красиво оформить. Покажу на простом примере.
Я постоянно использую в повседневной деятельности утилиту netstat для просмотра списка открытых портов. Если сервер сам настраиваю, то ставлю пакет с ней, если нет, то использую встроенный ss, который сейчас есть во всех дистрибутивах. Мне просто больше нравится вывод netstat, чем ss. Можете сами сравнить:
# netstat -tulnp
# ss -tulnp
У ss вывод шире, поэтому часто переезжает на новую строку и получается каша. Но это не важно, написать хотел не об этом.
Представьте ситуацию, что вы в Docker контейнере, где нет этих утилит. Где вообще почти ничего нет, что встречается довольно часто, а хочется посмотреть, какие порты открыты и какие соединения установлены? Посмотреть очень просто:
# cat /proc/net/tcp
Вот описание того, что вы увидите.
Вы получите практически всю ту же информацию, что показывают утилиты выше, только в шестнадцатеричном формате, если речь идёт о номере порта. Достаточно его перевести в десятичный и получить нужные данные. Понятно, что для этого тоже может не быть инструментов внутри контейнера, хотя тот же bash умеет это делать. Смотрим столбец local_address, первое число - ip адрес, второе - порт. Переводим порт, например 006E, в десятичный формат:
# echo $((16#006E))
110
Получаем 110 tcp порт, который открыл dovecot. Можно автоматом всё это конвертнуть:
# grep -v "local_address" /proc/net/tcp \
| awk '{print $2}' | cut -d : -f 2 \
| xargs -I % /bin/bash -c 'echo $((16#%))'
Сделать преобразование не трудно, если действительно необходимо. Я покажу готовый пример, который можно скопировать и где-то на тесте посмотреть результат. Вот эта команда с awk, которая переводит шестадцатиричный формат адресов и портов в десятичный.
awk 'function hextodec(str,ret,n,i,k,c){
ret = 0
n = length(str)
for (i = 1; i <= n; i++) {
c = tolower(substr(str, i, 1))
k = index("123456789abcdef", c)
ret = ret * 16 + k
}
return ret
}
function getIP(str,ret){
ret=hextodec(substr(str,index(str,":")-2,2));
for (i=5; i>0; i-=2) {
ret = ret"."hextodec(substr(str,i,2))
}
ret = ret":"hextodec(substr(str,index(str,":")+1,4))
return ret
}
NR > 1 {{if(NR==2)print "Local - Remote";
local=getIP($2);remote=getIP($3)}{print local" - "remote}}' /proc/net/tcp
Этот пример можно развить и дальше, добавив информацию из остальных столбцов о состоянии соединения, inode процесса, его породившего и всего остального. Сразу скажу, что я не разбирался, что здесь происходит 🤡. Это же bash, ему даже обфускация не нужна. Просто увидел когда-то и сохранил. Как раз тогда, когда надо было в контейнере посмотреть порты и соединения.
И такая история со всеми метриками. Их все можно взять в /proc и анализировать. Так что можете начинать изучать какой-то язык программирования и писать свой собственный top. Можно даже на bash. Правда такой пример уже есть - bashtop. Придётся придумать что-то новое 😀.
#bash
👍78👎3