Категория > Новости > Мастерская хакера. 13 утилит для Linux, которые пригодятся админу - «Новости»

Мастерская хакера. 13 утилит для Linux, которые пригодятся админу - «Новости»


6-11-2023, 08:32. Автор: Backer
пер­вой мы рас­смат­ривали в основном сетевые ути­литы, во вто­рой — даш­борды и про­чие укра­шатель­ства, в треть­ей я скон­цен­три­ровал­ся на жиз­ни в Windows с WSL, а чет­вертая была для адми­нис­тра­торов Linux.

 

nezha


Nezha — лег­ковес­ный и кра­сивый ана­лог Zabbix, выводит в веб‑панели свод­ку по сер­верам, их сис­темным ресур­сам и дру­гую информа­цию.


Ус­танов­ка отно­ситель­но неп­ростая: тебе понадо­бит­ся живой Docker, акка­унт на GitHub и домен­ное имя.

Для начала соз­дай при­ложе­ние на GitHub: перей­ди на GitHub Developer и наж­ми New OAuth App. При запол­нении фор­мы пот­ребу­ется ука­зать адрес домаш­ней стра­ницы при­ложе­ния (для это­го нужен будет домен), а в поле Authorization callback URL впи­сать <твой домен>/oauth2/callback. Затем соз­дай на стра­нице при­ложе­ния Client ID и Client Secret и запиши — боль­ше их пос­мотреть не получит­ся.


Читайте также - Когда речь идет об отделочном материале для стен, то чаще всего выбирают обои. Ничего удивительного, ведь подобный отделочный материал радует, во-первых, широчайшим ассортиментом фактур, рисунков, цветов. Отличаются современные обои и в зависимости от типа основы - поклеить обои москва по доступным ценам.

Те­перь выпол­ни в тер­минале сле­дующую коман­ду:


curl -Lhttps://raw.githubusercontent.com/naiba/nezha/master/script/install_en.sh -onezha.sh && chmod+x nezha.sh && sudo ./nezha.sh

Пос­ле ее выпол­нения откро­ется тек­сто­вое меню. Выбира­ем пер­вый пункт.


Мастерская хакера. 13 утилит для Linux, которые пригодятся админу - «Новости»
Ме­ню

Ус­тановоч­ный скрипт задаст нес­коль­ко воп­росов, в том чис­ле о пор­тах. По умол­чанию HTTP-сер­вер с интерфей­сом под­нимет­ся на 8008-м пор­те, а сер­вер для сбо­ра информа­ции от аген­тов — на 5555-м.


Го­тово, панель под­нялась. Мож­но ее открыть, вой­ти через GitHub и соз­дать новый сер­вер.


Ад­минка

Пос­ле соз­дания сер­вера ты уви­дишь в панели его сек­рет. Он‑то нам и нужен для уста­нов­ки аген­та.


Те­перь мож­но уста­новить сам агент. Он ста­вит­ся тем же скрип­том, что и панель, но надо выб­рать пункт 8. При уста­нов­ке у тебя спро­сят адрес панели и сек­рет, соз­данный на прош­лом шаге. Пос­ле вво­да этих дан­ных кли­ент сра­зу зарабо­тает, боль­ше ничего нас­тра­ивать не при­дет­ся.


Те­перь на глав­ной стра­нице появит­ся кар­точка с информа­цией сер­вера, а в панели мож­но открыть веб‑тер­минал. Он пол­ноцен­ный: под­держи­вает цве­та, обновля­ется в реаль­ном вре­мени и реаги­рует на спе­циаль­ные сочета­ния кла­виш.


Кноп­ка откры­тия тер­минала

В нас­трой­ках панели мож­но поменять и тему. На скрин­шоте ниже — тема Neko Mdui.


Nezha мне очень пон­равилась. Рекомен­дую как минимум по­тыкать демо.


 

AutoRegex


Ре­гуляр­ные выраже­ния — мощ­ней­ший спо­соб пре­обра­зова­ния тек­сто­вых дан­ных. Одна­ко без опы­та сос­тавле­ние регуляр­ки может отнять боль­ше вре­мени, чем она сэконо­мит. Встре­чай AutoRegex — ИИ‑генера­тор регуляр­ных выраже­ний из обыч­ных челове­кочи­таемых опи­саний на англий­ском.


Match if email is on gmail

Внут­ри у это­го сер­виса — OpenAI Codex, пуб­личная ней­рон­ка, которая пишет код по сло­вес­ному опи­санию.


С прос­тыми зап­росами AutoRegex справ­ляет­ся очень неп­лохо и поз­воля­ет здо­рово сэконо­мить вре­мя.


Единс­твен­ное, что пор­тит жизнь, — это малень­кие лимиты на бес­плат­ное исполь­зование. Впро­чем, даже их дол­жно хва­тить: бес­плат­но пред­лага­ется штук десять зап­росов без акка­унта и еще десять в месяц, если зарегис­три­руешь­ся. Для трех скрип­тов в месяц это­го с головой хва­тит, но при необ­ходимос­ти мож­но зап­латить или прос­то зарегать еще одну учет­ку и про­дол­жить поль­зовать­ся.


 

hunt


Hunt — это ути­лита для локаль­ного поис­ка фай­лов, аль­тер­натива стан­дар­тно­му locate. Судя по моему опы­ту, работа­ет Hunt быс­трее, чем find, fd и locate.


На­писа­на прог­рамма на Rust, а сле­дова­тель­но, ста­вит­ся через Cargo:


cargo install hunt

Здесь есть нес­коль­ко филь­тров и прос­тых нас­тро­ек, которых тем не менее дос­таточ­но для пов­седнев­ного исполь­зования. Вот некото­рые из них:




  • -e — искать толь­ко объ­екты с точ­но сов­пада­ющи­ми име­нами (по зап­росу ssh не будет най­ден sshd_config);


  • -i /path1,/path2 — исклю­чить из поис­ка опре­делен­ные пап­ки;


  • -h — вклю­чить поиск внут­ри скры­тых папок;


  • -s — не выводить пояс­нения, толь­ко спи­сок най­ден­ных фай­лов. Полез­но для скрип­тов;


  • -c — точ­ное сов­падение регис­тра.


Боль­ше под­робнос­тей — в репози­тории прог­раммы.


 

plow


Plow пред­назна­чен для наг­рузоч­ного тес­тирова­ния HTTP-сер­веров. Он осно­ван на Go-биб­лиоте­ке fasthttp, которая до десяти раз быс­трее стан­дар­тной реали­зации, что дела­ет его каким‑то ано­маль­но быс­трым, по мень­шей мере субъ­ективно.


Тест модуля http.server из Python 3

Plow уме­ет отда­вать ста­тис­тику в реаль­ном вре­мени не толь­ко в окне тер­минала, но и в бра­узе­ре (по стан­дарту встро­енный сер­вер дос­тупен на 18888-м пор­те).


За­пуск воз­можен из Docker или уста­нов­кой из исходни­ков:


go install github.com/six-ddc/plow@latest

plow <args>

Аль­тер­натива:


docker run --rm --net=host ghcr.io/six-ddc/plow <args>

Ар­гумен­ты в целом ничего необыч­ного собой не пред­став­ляют: тут у нас стан­дар­тная для таких прог­рамм нас­трой­ка количес­тва потоков (-c), жела­емо­го количес­тва зап­росов (-n), вре­мени тес­та (-d 30s или -d 5m, нап­ример) и HTTP-метода (--method="GET"). Про дру­гие парамет­ры мож­но под­робно про­читать в справ­ке прог­раммы (--help). Цель переда­ется без спе­циаль­ных парамет­ров.


 

dooit


Для ведения спис­ка дел каж­дый исполь­зует что ему удоб­нее (я, к при­меру, завел при­ват­ный канал в Telegram, в котором есть толь­ко я, и шлю все дела туда). Если ты про­жива­ешь в тер­минале, гра­фичес­кие при­ложе­ния тебе чуж­ды и сооб­щать ком­пани­ям о пла­ниру­емых объ­емах закуп­ки кофе ты не хочешь, мож­но исполь­зовать локаль­ный менед­жер задач вро­де Dooit. Он хра­нит все толь­ко у тебя на жес­тком дис­ке, работа­ет толь­ко из тер­минала и до боли напоми­нает Vim, с тем лишь отли­чием, что пос­ледний не зак­рыва­ется по Ctrl-C.


Для уста­нов­ки нужен Git и Python вер­сии не мень­ше 3.10, что может быть проб­лемой при исполь­зовании в некото­рых окру­жени­ях. У меня в WSL пос­ледняя вер­сия Python все еще 3.8, так что для этой прог­раммы приш­лось рас­чехлить вир­туал­ку с более све­жей сис­темой.


Ес­ли у тебя всё есть, то ста­вит­ся Dooit все­го одной коман­дой:


python3 -m pip install git+https://github.com/kraanzu/dooit.git

За­пус­кает­ся по коман­де dooit в тер­минале.


 

ContainerSSH


За­нят­ная наход­ка — ContainerSSH, поз­воля­ющий незамет­но загонять SSH-кли­ентов в изо­лиро­ван­ные кон­тей­неры, при­чем эти кон­тей­неры соз­дают­ся пря­мо на лету, в момент под­клю­чения.


При­мер от авто­ра ути­литы. Поль­зователь при под­клю­чении ока­зыва­ется в кон­тей­нере
Перейти обратно к новости