Найти в Дзене
It-Assistant

Магия консоли. Подбираем полезные утилиты для работы в терминале

Оглавление

Содержание статьи

  • Система
  • Скрипты
  • Сеть
  • Веб
  • Итоги

«Это что, мат­рица?!» — вос­клик­нет кто‑то из зна­комых, гля­дя через твое пле­чо на экран ноут­бука. Нет, не мат­рица, прос­то ты что‑то судорож­но печата­ешь в тер­минале. В этой статье я покажу тебе боль­ше двух десят­ков ути­лит, которые помогут работать с коман­дной стро­кой Linux более эффектив­но, при­ятно и даже кра­сиво.

СИСТЕМА

Pueue

Ути­лита Pueue — инте­рес­ная шту­ка для запус­ка дол­гих задач и для работы с соз­данной оче­редью задач в сис­теме, конеч­но. Нуж­на для тех, кому впол­не оче­вид­ных для таких слу­чаев jobs/fg/bg/screen/tmux по какой‑то при­чине ока­зыва­ется недос­таточ­но.

Де­мо из репози­тория
Де­мо из репози­тория

Как пишут сами раз­работ­чики, Pueue нужен, ког­да задачи очень дол­гие либо их нуж­но выпол­нять парал­лель­но, имея при этом пол­ный кон­троль над ними. Лич­но мне ути­лита показа­лась нам­ного более дру­желюб­ной, чем штат­ный bg/fg.

INFO

Crongo — еще одна попыт­ка соз­дать удоб­ный инс­тру­мент для работы с cron. Ути­лита дела­ет при­мер­но то же самое, что Pueue, так что может в некото­ром смыс­ле быть аль­тер­нативой.

NQ

Nq — еще одна прос­тая ути­лита, которая поз­воля­ет запус­кать оче­реди из заданий в сис­теме. Не то что­бы без нее было невоз­можно жить, но порой очень силь­но помога­ет. Выг­лядит куда менее прив­лекатель­но, чем Pueue, но и в работе про­ще.

Она нас­толь­ко прос­тая, что для ее исполь­зования дос­таточ­но прос­то уви­деть при­мер:

% mkdir -p /tmp/downloads

% alias qget='NQDIR=/tmp/downloads nq wget'

% alias qwait='NQDIR=/tmp/downloads fq -q'

window1% qget http://mymirror/big1.iso

window2% qget http://mymirror/big2.iso

window3% qget http://mymirror/big3.iso

% qwait

... wait for all downloads to finish ...

Vizex

Ес­ли ты работа­ешь в тер­минале доль­ше недели, ты, конеч­но, зна­ешь о df и его сухом выводе. Давай разук­расим его и сде­лаем бли­же к людям!

Vizex и vizexdf — это апгрейд df, который выпол­няет свою задачу куда наг­ляднее и при­ятнее внеш­не.

Как выг­лядит vizex
Как выг­лядит vizex

bashtop

В филь­мах о хакерах люди видят огромные свод­ные таб­лицы с информа­цией о сис­теме и гра­фика­ми, а у тебя их до сих пор нет? Не беда! Лови bashtop — это как раз такой даш­борд. Если у тебя вдруг есть сво­бод­ный монитор, на который его мож­но повесить, — ты зна­ешь, как добавить +1000 к сво­ей гикану­тос­ти в гла­зах посети­телей.

Ра­бота­ет!
Ра­бота­ет!

Bashtop уме­ет показы­вать не толь­ко общую информа­цию, но и детали по каж­дому про­цес­су. Поз­воля­ет эти про­цес­сы сор­тировать по раз­личным парамет­рам и лег­ко кон­фигури­рует­ся.

А еще есть реали­зация это­го кра­сав­ца на Python — bpytop. Выг­лядит не менее эффек­тно, да и по воз­можнос­тям не отста­ет.

Rhit

За­нят­ная кон­соль­ная ути­лита для ана­лиза логов nginx. Встре­чай Rhit — это, конеч­но, не GoAccess, но выг­лядит тоже инте­рес­но.

Уме­ет рисовать гра­фики час­тоты зап­росов пря­мо в кон­соли.

Скри­ны сты­рены с сай­та прог­раммы
Скри­ны сты­рены с сай­та прог­раммы

Есть ана­лиз трен­дов в зап­росах и удоб­ный гра­фичес­кий вывод это­го в кон­соль.

-5

Ко­неч­но же, все мож­но филь­тро­вать, что­бы отсле­живать толь­ко необ­ходимое.

Lnav — это ана­лиза­тор логов, который уме­ет работать не толь­ко с nginx, в отли­чие от Rhit. Вот спи­сок его дос­тоинств:

  • мо­жет сво­дить все тре­буемые логи на один экран. Ты можешь задать монито­ринг логов сра­зу нес­коль­ких сер­висов, и он покажет все сра­зу;
  • уме­ет под­све­чивать текст по фор­мату. Име­ется десять встро­енных фор­матов, в том чис­ле один «общий», то есть под­ходящий поч­ти к любому логу;
  • ав­томати­чес­ки опре­деля­ет сжа­тые логи в фор­матах gzip и bzip2 и раз­жима­ет их на лету;
  • уме­ет филь­тро­вать на осно­ве регуляр­ных выраже­ний. Если выводишь мно­го логов сра­зу — мож­но отфиль­тро­вать лиш­нее;
  • мо­жет стро­ить гис­тограм­мы сооб­щений по вре­мени;
  • кра­сиво выводит XML и JSON. Прос­то наж­ми Shift+P;
  • к логам мож­но обра­щать­ся как к вир­туаль­ной SQLite БД, которая обновля­ется вмес­те с логами в реаль­ном вре­мени;
  • lnav под­держи­вает раз­ные темы офор­мле­ния сво­его интерфей­са;
  • при вво­де команд так­же есть под­свет­ка син­такси­са и авто­допол­нение.
lnav раз­бира­ет логи sshd
lnav раз­бира­ет логи sshd

Пря­мо на сай­те есть готовые бинар­ники под Linux и macOS: видимо, это на слу­чай, если твой сер­вер — ста­рый мак­бук.

Butterfly Backup

Butterfly Backup — это такая инте­рес­ная обер­тка вок­руг rsync, которая уме­ет соз­давать и вос­ста­нав­ливать бэкапы. Спи­сок уме­ний дей­стви­тель­но вну­шитель­ный:

  • под­дер­жка тихого бэкапа;
  • все бэкапы акку­рат­но рас­сорти­рова­ны;
  • прос­мотр све­дений о кон­крет­ном бэкапе;
  • под­дер­жка раз­ных режимов копиро­вания;
  • мож­но бэкапить сра­зу нес­коль­ко ком­пов, при­чем парал­лель­но;
  • мож­но вос­ста­нав­ливать копию даже не на том компь­юте­ре, где она была соз­дана. Теоре­тичес­ки, это может быть полез­но при миг­рации на новое обо­рудо­вание. Более того, мож­но вос­ста­новить бэкап даже на дру­гой опе­раци­онной сис­теме;
  • под­держи­вают­ся полити­ки отно­ситель­но ста­рых бэкапов: их мож­но уда­лять по дос­тижении лимита занято­го хра­нили­ща;
  • эк­спорт бэкапов для удоб­ной перевоз­ки сто­рон­ними средс­тва­ми.

Ус­тановить Butterfly Backup мож­но все­го в три коман­ды:

git clone https://github.com/MatteoGuadrini/Butterfly-Backup.git

cd Butterfly-Backup

sudo python3 setup.py

При­мер исполь­зования от авто­ра ути­литы:

# Полная копия

bb backup --computer pc1 --destination /nas/mybackup --data User Config --type MacOS --mode Full

# Инкрементальная копия

bb backup --computer pc1 --destination /nas/mybackup --data User Config --type MacOS

Ес­ли прос­мотреть спи­сок копий коман­дой bb list --catalog /nas/mybackup, то мож­но уви­деть крат­кое опи­сание каж­дого сня­того бэкапа.

BUTTERFLY BACKUP CATALOG

Backup id: f65e5afe-9734-11e8-b0bb-005056a664e0

Hostname or ip: pc1

Timestamp: 2018-08-03 17:50:36

Backup id: 4f2b5f6e-9939-11e8-9ab6-005056a664e0

Hostname or ip: pc1

Timestamp: 2018-08-06 07:26:46

Backup id: cc6e2744-9944-11e8-b82a-005056a664e0

Hostname or ip: pc1

Timestamp: 2018-08-06 08:49:00

Тут отсутс­тву­ют некото­рые важ­ные детали, так что давай пос­мотрим на один из них поб­лиже.

bb list --catalog /nas/mybackup --backup-id f65e5afe-9734-11e8-b0bb-005056a664e0

Backup id: f65e5afe-9734-11e8-b0bb-005056a664e0

Hostname or ip: pc1

Type: Full

Timestamp: 2018-08-03 17:50:36

Start: 2018-08-03 17:50:36

Finish: 2018-08-03 18:02:32

OS: MacOS

ExitCode: 0

Path: /nas/mybackup/pc1/2018_08_03__17_50

List: etc

Users

И наконец, вос­ста­нов­ление:

bb restore --computer pc1 --catalog /nas/mybackup --backup-id f65e5afe-9734-11e8-b0bb-005056a664e0

СКРИПТЫ

Bash Bible

Для начина­ющих и про­дол­жающих жиль­цов кон­соли сущес­тву­ет сер­вис Bash Bible (и его род­ной брат sh bible): там пред­став­лены при­меры реали­зации раз­ных задач в скрип­тах, написан­ных исклю­читель­но на чис­том Bash (или sh).

Что­бы далеко не ходить — вот тебе пароч­ка при­меров обхо­да всех фай­лов и папок в дирек­тории на чис­том Bash без исполь­зования ls.

# Greedy example.

for file in *; do

printf '%s\n' "$file"

done

# PNG files in dir.

for file in ~/Pictures/*.png; do

printf '%s\n' "$file"

done

# Iterate over directories.

for dir in ~/Downloads/*/; do

printf '%s\n' "$dir"

done

# Brace Expansion.

for file in /path/to/parentdir/{file1,file2,subdir/file3}; do

printf '%s\n' "$file"

done

# Iterate recursively.

shopt -s globstar

for file in ~/Pictures/**/*; do

printf '%s\n' "$file"

done

shopt -u globstar

INFO

Бы­ло бы неп­равиль­но не упо­мянуть свя­щен­ный zsh с пла­гином oh-my-zsh и кас­томны­ми темами. Ничего удоб­нее для тер­минала так и не при­дума­ли, а мы на «Хакере» уже писали о нем. Нас­тоятель­но рекомен­дует­ся к озна­ком­лению!

Полезные однострочники

У меня в зак­ладках лежит ин­терес­ный ресурс с раз­нооб­разны­ми однос­троч­никами — эта­кая биб­лиоте­ка команд на все слу­чаи жиз­ни.

Вот, нап­ример, как смон­тировать NTFS раз­дел из вир­туаль­ного дис­ка VirtualBox (VDI):

$ mount -t ntfs-3g -o ro,loop,uid=user,gid=group,umask=0007,fmask=0117,offset=0x$(hd -n 1000000 IMAGE.vdi | grep "eb 52 90 4e 54 46 53" | cut -c 1-8) IMAGE.vdi /mnt/vdi-ntfs

Conty

Ес­ли ты пос­тоян­но работа­ешь в тер­минале — порой тебе быва­ют нуж­ны изо­лиро­ван­ные песоч­ницы. Некото­рые дела­ют их через Docker, соз­давая кон­тей­нер с ОС и копируя туда‑сюда фай­лы прог­раммы; дру­гие соз­дают chroot-окру­жение и работа­ют в нем. Оба спо­соба тре­буют боль­шого количес­тва шагов и наличия root, так что при­менять их неудоб­но.

Вы­ход есть! Инс­тру­мент Conty дела­ет запуск песоч­ницы лег­ким и быс­трым. Для запус­ка кон­тей­нера не тре­бует­ся root, а фай­лы пос­ле выхода из песоч­ницы сох­раня­ются.

Пре­иму­ществ мож­но выделить нес­коль­ко:

  • все­го один исполня­емый файл. Никакой обвязки — ска­чал и работа­ешь;
  • соб­ран на базе Arch Linux, то есть сра­зу содер­жит акту­аль­ные вер­сии драй­веров;
  • не тре­бует root-прав для запус­ка;
  • со­дер­жит Vulkan и OpenGL, то есть под­ходит для игр;
  • ра­бота­ет без овер­хеда — это тебе не вир­туаль­ная машина;
  • изо­лиру­ет ФС хос­та, но обес­печива­ет удоб­ное вза­имо­дей­ствие песоч­ницы с хос­том.

Для работы необ­ходимо все­го ничего: tar, fuse2, coreutils и bash.

При­мер запус­ка от авто­ра:

./conty.sh steam

./conty.sh lutris

./conty.sh playonlinux

./conty.sh wine app.exe

СЕТЬ

SX Network Scanner

По завере­ниям раз­работ­чиков, SX Scanner — это чуть ли не на голову луч­шая аль­тер­натива Nmap. Вот спи­сок пред­лага­емых фич:

  • в 30 раз быс­трее Nmap;
  • ARP-ска­ниро­вание для поис­ка живых хос­тов в локаль­ных сетях;
  • ICMP-ска­ниро­вание для детек­та пра­вил фай­рво­ла;
  • клас­сичес­кое TCP SYN ска­ниро­вание (ска­ниро­вание с помощью полу­откры­тых соеди­нений) для поис­ка пор­тов;
  • ска­ниро­вание для обхо­да некото­рых фай­рво­лов с исполь­зовани­ем TCP FIN, NULL и Xmas пакетов. То же самое уме­ет и Nmap, как ты пом­нишь;
  • мож­но вруч­ную уста­новить какие угод­но фла­ги в пакетах ска­ниро­вания, а в отче­те получить фла­ги отве­тов. Доволь­но инте­рес­ная фича, которую я боль­ше ниг­де не встре­чал, но и ни разу в ней не нуж­дался, если чес­тно;
  • по­иск даже UDP-пор­тов. Надеж­ность поис­ка, само собой, оставля­ет желать луч­шего, но исполь­зование ICMP для уточ­нения резуль­тата — однознач­ный плюс;
  • ска­ниро­вание некото­рых при­ложе­ний: сюда вхо­дит Docker, Elasticsearch и Socks5. Для Docker ищет­ся откры­тый Docker API, через который чита­ется информа­ция о ноде; для Elasticsearch выг­ружа­ется информа­ция о клас­тере и его индексах. С Socks5 все сов­сем прос­то — sx сооб­щает толь­ко факт работы Socks5 без каких‑либо под­робнос­тей;
  • ре­зуль­таты выводит в JSON — все как у людей! Конеч­но, и для авто­мати­чес­кой обра­бот­ки это куда удоб­нее.

Sx работа­ет из тер­минала (как, впро­чем, боль­шинс­тво рас­смот­ренных сегод­ня прог­рамм) и пол­ностью написан на Go, чем мож­но объ­яснить его быс­тро­дей­ствие.

-7

Gping

Еще один кра­сивый инс­тру­мент в твою копил­ку «псев­догра­фичес­ких свис­топер­делок» — ping с визу­али­заци­ей пря­мо в окне тер­минала.

Де­мо из репози­тория
Де­мо из репози­тория

grepcidr — анализ IP-адресов

Ути­лита для тех, кому уже надо­ело писать регуляр­ки для поис­ка IP-адре­сов с помощью grep. Работа­ет оно нес­коль­ко шус­трее, чем grep, но, что­бы нуж­на была отдель­ная ути­лита, у тебя дол­жно быть дей­стви­тель­но мно­го работы с IP-адре­сами.

sish

Ког­да тебе нуж­но проб­росить какой‑то сер­вис в интерне­те, при этом не имея чес­тно­го «белого» IP, ты можешь вос­поль­зовать­ся сер­висами вро­де Ngrok или Serveo. Аль­тер­натив по боль­шому сче­ту нем­ного: голый SSH или кус­тарные self-hosted-решения.

Туннелирование через SSH

Ты, конеч­но, зна­ешь о воз­можнос­ти проб­расывать пор­ты через SSH. А что нас­чет пол­ноцен­ного VPN? На эту тему есть отличный матери­ал на Хаб­ре и на Robotmoon, если ты зна­ешь англий­ский. Впро­чем, текст прип­равлен кар­тинка­ми со схе­мами работы команд, а все при­меры мож­но без­болез­ненно запус­тить у себя и поп­робовать в дей­ствии.

К таким самодел­кам отно­сит­ся и про­ект sish — кра­сивая и удоб­ная аль­тер­натива Ngrok, сде­лан­ная поверх обыч­ного SSH.

Sish — это не прос­то пач­ка скрип­тов для запус­ка SSH-фор­вардин­га. Это пол­ноцен­ная реали­зация SSH-сер­вера, который толь­ко фор­вардинг и зна­ет, зато дела­ет это куда луч­ше, чем офи­циаль­но рас­простра­няемая вер­сия. В час­тнос­ти, sish уме­ет слу­шать и муль­тип­лекси­ровать HTTP- и HTTPS-тра­фик с под­дер­жкой WebSocket (в том чис­ле шиф­рован­ного), если при запус­ке фор­вардин­га ука­зать уда­лен­ный порт 80 или 443. В про­тив­ном слу­чае будет проб­рошен TCP-порт, если он не занят на сер­вере.

Офи­циаль­ная инс­трук­ция по уста­нов­ке сос­тоит все­го из двух команд:

docker pull antoniomika/sish:latest

docker run -itd --name sish \

-v ~/sish/ssl:/ssl \

-v ~/sish/keys:/keys \

-v ~/sish/pubkeys:/pubkeys \

--net=host antoniomika/sish:latest \

--ssh-address=:22 \

--http-address=:80 \

--https-address=:443 \

--https=true \

--https-certificate-directory=/ssl \

--authentication-keys-directory=/pubkeys \

--private-key-location=/keys/ssh_key \

--bind-random-ports=false

Пос­ле это­го мож­но прос­то проб­расывать пор­ты как через обыч­ный SSH. Но это мож­но было бы делать и так, а ты луч­ше пос­мотри, что будет, если сде­лать некото­рые нас­трой­ки по инс­трук­ции в репози­тории:

ssh -R xakep_ru:80:localhost:8080 your_domain.com

Оп — и http://xakep_ru.your_domain.com будет проз­рачно перенап­равлен на твой локаль­ный порт 8080! Само собой, одновре­мен­но может жить сколь­ко угод­но сес­сий.

Termshark

Termshark — это кон­соль­ный фрон­тенд для tshark. Уме­ет, нап­ример, читать pcap или зах­ватывать тра­фик в реаль­ном вре­мени, пря­мо как «взрос­лый» Wireshark.

Де­мо из репози­тория
Де­мо из репози­тория

Есть под­дер­жка филь­тров, мож­но авто­мати­чес­ки собирать TCP-потоки из отдель­ных пакетов, прос­матри­вать содер­жимое пакетов в соот­ветс­твии с про­токо­лом.

На­писан Termshark на Go и собира­ется под любую плат­форму — готовые бил­ды уже дос­тупны для Linux, Windows, BSD, Android (поверх Termux) и даже macOS!

Скрипты для SSH

Для SSH мы соб­рали сра­зу нес­коль­ко полез­ных, да и прос­то инте­рес­ных инс­тру­мен­тов.

Для начала — уве­дом­ления в Telegram при SSH-авто­риза­ции. Мелочь, а при­ятно!

-10

Ус­танов­ка прос­та как два руб­ля: ска­чива­ем скрипт в /usr/local/bin/ssh2tg.sh (или дру­гую удоб­ную пап­ку), меня­ем нас­трой­ки в скрип­те (API-токен бота и ID чата, в который слать уве­дом­ления), веша­ем атри­бут исполне­ния и про­писы­ваем в конец /etc/pam.d/sshd сле­дующую стро­ку:

session optional pam_exec.so type=open_session seteuid /usr/local/bin/ssh2tg.sh

Вто­рым покажу тебе малень­кого аген­та SSH Attack Stats, который выведет опе­ратив­ную свод­ку атак на твой сер­вер.

Скрин взят из репози­тория с прог­раммой
Скрин взят из репози­тория с прог­раммой

Пос­ле уста­нов­ки мож­но малость кас­томизи­ровать вывод. К при­меру, сле­дующая коман­да зас­тавит показы­вать не боль­ше пяти записей из логов SSH:

/usr/local/bin/log-stats ssh -c 5

Все пояс­нения есть в репози­тории с прог­раммой.

asroute

Ес­ли ты инже­нер какого‑нибудь телеком‑опе­рато­ра, то тебе регуляр­но при­ходит­ся ковырять­ся с трас­сиров­кой, пин­гами и боль­шими роуте­рами. Для тебя написа­ли asroute — ути­литу, которая поз­воля­ет к выводу traceroute добавить информа­цию об ASN тран­зитных мар­шру­тиза­торов. На при­мере это выг­лядит так:

$ traceroute -a www.bhutan.gov.bt | asroute

traceroute to bhutan.gov.bt (202.144.128.217), 64 hops max, 52 byte packets

-> AS0 (Reserved)

-> *

-> BRESNAN-33588, US

-> LIGHTOWER, US

-> BRESNAN-33588, US

-> CHARTER-20115, US

-> TELIANET Telia Carrier, EU

-> *

-> NTT-COMMUNICATIONS-2914, US

-> DRUKNET-AS DrukNet ISP, BT

-> BTTELECOM-AS-AP Bhutan Telecom Ltd, BT

Ус­танов­ка пока дос­тупна толь­ко для macOS, но зато дела­ется одной коман­дой.

$ brew install asroute

Asroute написан на Rust, так что теоре­тичес­ки может быть без проб­лем ском­пилиро­ван под любую дру­гую плат­форму, но на момент написа­ния статьи у меня при себе есть толь­ко комп с Windows, у которо­го с ком­пиляци­ей нет­радици­онно­го кода есть извес­тные труд­ности.

Outrun

Гвоздь прог­раммы — скрипт outrun, который поз­воля­ет зап­росто вынес­ти вычис­ления за пре­делы сла­бого тон­кого кли­ента на мощ­ный уда­лен­ный сер­вер, при­чем наличие тре­буемой ути­литы на уда­лен­ном хос­те сов­сем не обя­затель­но. Единс­твен­ное, что нуж­но для работы, — уста­нов­ленный outrun на обо­их хос­тах (и на локаль­ном, и на уда­лен­ном), при­чем с наличи­ем прав root (исполь­зует­ся chroot).

Де­мо от авто­ров прог­раммы
Де­мо от авто­ров прог­раммы

Как самый оче­вид­ный при­мер (при­веден­ный даже авто­рами outrun) — мож­но запус­тить локаль­ный виде­окон­вертер, вро­де FFmpeg, с исполь­зовани­ем ресур­сов сер­вера. На гиф­ке замет­на весь­ма зна­читель­ная раз­ница во вре­мени выпол­нения.

Ус­тановить мож­но пря­мо из pip.

pip3 install outrun

По­том мож­но запус­тить тре­буемую коман­ду на уда­лен­ной машине:

outrun srv4.local neofetch

Фай­ловая сис­тема будет дос­тупна, буд­то локаль­ная, и резуль­таты работы коман­ды (если есть) тоже будут записа­ны в текущую пап­ку на локаль­ном ком­пе.

ВЕБ

Webify — транслируем вывод консоли

С помощью Webify мож­но вывод прак­тичес­ки любой коман­ды тран­сли­ровать как веб‑сер­вис. Хорошее решение для прос­того шерин­га кон­соли: ты запус­каешь Webify со сво­им сер­висом, а дру­гой человек рас­чехля­ет бра­узер (или curl) и вза­имо­дей­ству­ет с тво­им при­ложе­нием.

Офи­циаль­ное демо работы Webify
Офи­циаль­ное демо работы Webify

tmpmail

Этот скрипт — отличный спо­соб получить вре­мен­ный поч­товый ящик пря­мо из тер­минала. Если ты чита­ешь «Хакер» — мне, оче­вид­но, не нуж­но пояс­нять, что это такое и зачем нуж­но, так что перей­дем сра­зу к уста­нов­ке.

$ sudo dnf install jq curl w3m

$ wget https://raw.githubusercontent.com/sdushantha/tmpmail/master/tmpmail

$ chmod +x tmpmail

Ге­нери­руем ящик:

$ ./tmpmail --generate

qpasixkauet@1secmail.net

Про­веря­ем поч­ту:

./tmpmail --recent

ZeroSSL

Ты ведь тоже думал, что бес­плат­ные SSL-сер­тифика­ты мож­но получить толь­ко у Let’s Encrypt? Уже нет! Ребята из ZeroSSL выкати­ли аль­тер­натив­ный сер­вис, где мож­но получить все те же сер­тифика­ты на те же 90 дней. Исполь­зовать мож­но ста­рый доб­рый ACME. Если по каким‑то при­чинам искал замену ста­рич­ку Let’s Encrypt — вот она.

-14

Про­цеду­ра выпус­ка сов­сем нехит­рая: прос­то ука­зыва­ешь поч­ту и пароль и под­твержда­ешь вла­дение доменом через DNS или заг­рузкой на него задан­ного фай­ла. Через нес­коль­ко минут сайт сге­нери­рует твой сер­тификат и пред­ложит его ска­чать, а что делать даль­ше — не мне тебя учить.

TestTLS

testtls.com — это оче­ред­ной сер­вис для про­вер­ки SSL/TLS, ана­лог SSLLabs.

Ре­зуль­тат про­вер­ки xakep.ru
Ре­зуль­тат про­вер­ки xakep.ru

С его помощью мож­но лег­ко про­верить, пра­виль­но ли нас­тро­ен HTTPS на тво­ем (или чужом) сай­те.

Полезные сайты и сервисы

Вот еще нес­коль­ко ссы­лок, которые не вхо­дят в катего­рию ути­лит коман­дной стро­ки, но могут ока­зать­ся полез­ными.

Public API

Public API — сайт, на котором соб­рана информа­ция о пуб­личных интерфей­сах самых раз­ных сер­висов и ссыл­ки на докумен­тацию. Может при­годить­ся в самых раз­ных слу­чаях — от мар­кетин­га до OSINT.

GitExplorer

GitExplorer — хорошая инте­рак­тивная шпар­галка по Git.

При­мер
При­мер

Grep.app

Те­перь мож­но греп­нуть по все­му GitHub нуж­ное нам вхож­дение пря­мо из бра­узе­ра. При­годит­ся для поис­ка сек­ретов при пен­тесте (или на прог­рамме bug bounty) или фла­гов от CTF, нап­ример.

-17

Authenticator

Ес­ли ты поль­зуешь­ся двух­фактор­ной аутен­тифика­цией — тебе явно при­ятно было бы иметь клю­чи для вхо­да под рукой, а не в телефо­не, который еще най­ти надо. Пла­гин Authenticator для Chrome, Firefox и Microsoft Edge уме­ет генери­ровать коды для 2FA пря­мо в бра­узе­ре. Так­же дела­ет бэкап с шиф­ровани­ем на Google Drive, Dropbox или OneDrive. Под­держи­вает клас­сичес­кие TOTP и HOTP, а еще Steam Guard и Blizzard Authenticator, на слу­чай, если ты поль­зуешь­ся эти­ми пло­щад­ками.

-18

Free for Dev

Free for Dev — под­борка бес­плат­ных сер­висов, которые могут быть полез­ны для раз­работ­чиков. Разуме­ется, не все они бес­плат­ны, но вез­де ука­зан срок или лимит бес­плат­ного исполь­зования, которо­го поч­ти всег­да более чем дос­таточ­но для лич­ного исполь­зования или тес­тов.

-19

ИТОГИ

Ко­неч­но, ты можешь ска­зать, что лег­ко про­жить без все­го это­го, а рутин­ные задачи авто­мати­зиро­вать самопис­ными скрип­тами. Но зачем, если есть готовые отла­жен­ные инс­тру­мен­ты, которые бес­плат­но улуч­шат твою работу и сэконо­мят вре­мя и нер­вы? Хакер — он на то и хакер, что может сде­лать свое рабочее мес­то луч­ше, чем у дру­гих.

Источник