TGViewer
Channel Public Channel
Сетевик Джонни // Network Admin

Сетевик Джонни // Network Admin

@iscode

Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме!

Сотрудничество: @stein_media
Subscribers
5.79K
Photos
518
Videos
65
Links
393

Showing posts older than #903 · Back to latest

Older Posts 16 shown
Post #900 4.23K
😊 Более подробное описание по часто встречающимся кодам статусов ответов

1. 1ХХ (информация)
101 Switching Protocols — Запрос принят, сервер предлагает дальнейшее взаимодействие выполнять по другому протоколу (например, WebSocket).

2. 2ХХ (успешное выполнение)
200 OK — Запрос выполнен успешно.
201 Created — В результате выполнения запроса на сервере был успешно создан ресурс (например, в ответ на запрос PUT).

3. 3ХХ (перенаправление)
301 Moved Permanently — Запрошенный ресурс был перемещен. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать новый URL.
302 Found — Запрошенный ресурс был временно перемещен в другое место. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать старый URL, т.к. перемещение временное.
304 Not Modified — Запрошенный ресурс не был изменен, поэтому можно взять ресурс из кэша, а не передавать его по сети.

4. 4ХХ (ошибка клиента)
400 Bad Request — Запрос не может быть обработан из-за ошибки синтаксиса.
403 Forbidden — Доступ к запрошенному клиентом ресурсу запрещен.
404 Not Found — Запрошенный ресурс не найден на сервере.

5. 5ХХ (ошибка сервера)
500 Internal Server Error — Запрос не может быть выполнен из-за внутренней ошибки в программном обеспечении сервера.
501 Not Implemented — Сервер не поддерживает запрошенную функциональность, например, не может выполнить запрошенный метод HTTP для указанного ресурса.
505 HTTP Version Not Supported — Версия HTTP, указанная в запросе, не поддерживается.

Полный список кодов ответов с описанием можно посмотреть в разделе «Status Codes» документа RFC 9110.

#HTTP #Status | 😏 @iscode
  • 👍 11
  • 🔥 1
Post #898 3.28K
🥷 Протокол HTTP: коды состояния ответов и ошибки

Первая строка ответа HTTP содержит код статуса ответа – число в диапазоне от 100 до 599, которое характеризует результат выполнения запроса. Возможные коды статусов ответов описаны в документе RFC 9110 HTTP Semantics.

❗️ Коды статусов ответов разделены на пять классов, которые определяются по первой цифре кода:
· 1ХХ (информация): запрос получен, обработка продолжается
· 2ХХ (успешное выполнение): запрос был успешно принят и понят
· 3ХХ (перенаправление): для выполнения запроса необходимо предпринять дополнительные действия.
· 4ХХ (ошибка клиента): запрос содержит синтаксическую ошибку или не может быть выполнен.
· 5ХХ (ошибка сервера): запрос от клиента оформлен правильно, но при его обработке произошла ошибка на стороне сервера.

#HTTP | 😏 @iscode
  • 👍 16
Post #896 3.42K
🥷 Протокол HTTP: принцип работы и методы

Протокол HTTP работает в режиме запрос-ответ. Клиент, например, браузер, передает на сервер запрос к определенному ресурсу, например, Web-странице. Сервер в ответ отправляет клиенту этот ресурс или сообщение об ошибке, если ресурс передать нельзя.

- На транспортном уровне HTTP использует протокол TCP (кроме HTTP/3, в котором применяется QUIC), порт Web-сервера по-умолчанию: 80.

🕹 Запрос HTTP состоит из трех основных частей:
· Запрос
· Заголовки (не обязательно)
· Тело сообщения (не обязательно)

Пример простого запроса HTTP в текстовом режиме:
GET /posts/http HTTP/1.1
Host: johnny.ru

Начинается всё с метода HTTP, в нашем случае это - GET, он указывает, какое действие требуется выполнить с ресурсом. В примере метод GET говорит о том, что мы хотим получить (загрузить) ресурс, далее адрес ресурса /posts/http – путь к странице на Web-сервере, которую мы хотим загрузить и далее идёт версия протокола.

- Во второй строке указывается заголовок Host. Этот заголовок является обязательным в версии HTTP/1.1, в нем задается доменное имя сервера, к которому направлен запрос.

❗️ Методы HTTP: они говорят нам, какое действие с ресурсом мы хотим совершить. В примере запроса мы видели метод GET, который предназначен для получения ресурса. Кроме GET в HTTP есть и другие методы, наиболее важные из которых определены в документе RFC 9110 HTTP Semantics.

1. GET — Запрос на передачу ресурса.
2. HEAD — Запрос на передачу ресурса, но сам ресурс в ответе не передается, только заголовки.
3. POST — Передача данных на сервер для обработки указанного ресурса.
4. PUT — Размещение ресурса на сервере (если такой ресурс уже есть на сервере, то он замещается).
5. DELETE — Удаление ресурса на сервере.
6. CONNECT — Установка соединение с сервером на основе ресурса.
7. OPTIONS — Запрос поддерживаемых методов HTTP для ресурса и других параметров коммуникации.
8. TRACE — Запрос на трассировку сообщения: сервер должен включить в свой ответ исходный запрос, на который он отвечает. Это полезно, когда запрос проходит через промежуточные устройства, которые могут изменить запрос, например, добавить заголовки.


Полный список всех существующих методов HTTP находится в документе Hypertext Transfer Protocol (HTTP) Method Registry, который сопровождается организацией Internet Assigned Numbers Authority (IANA).

Жду от вас реакшена и делаю пост о кодах статусов ответов HTTP!

#HTTP #Method #Request | 😏 @iscode
  • 👍 31
  • ⚡ 5
  • 🔥 4
Post #894 3.23K

Forwarded from STEIN: ИБ, OSINT

😟 Как сделать и настроить собственный VPN

В этой статье я подробно расскажу как оформить сервер и поднять свой VPN на протоколе VLESS с XTLS-Reality, который выделяется на общем плане тем, что трафик шифруется и маскируется под подключение к популярным сайтам (доменам), тем самым станет тёмной лошадкой для ТСПУ.

↘️ habr.com/ru/users/stein_osint/

— Дорогие сабчики, канал разрастается, а анимированных эмодзи всё меньше, просьба к вам - проголосовать за меня.

#VPN #VLESS #Reality #РКН | 😈 @secur_researcher
  • 👍 22
  • 🔥 2
  • ⚡ 1
  • 👎 1
Post #893 3.58K
🥷 HTTP: Uniform Resource Locator — или просто URL

Важную роль в работе HTTP играет Uniform Resource Locator, сокращенно URL – единообразный определитель местонахождения ресурса. Именно URL используется для того, чтобы указать, к какой странице мы хотим получить доступ.

❗️ URL состоит из трех основных частей(см. приложение):

1. Название протокола, в примере на рисунке протокол HTTP.
2. Адрес сервера, на котором размещен ресурс. Можно использовать IP-адрес или доменное имя. Адрес сервера отделяется от названия протокола двоеточием и двумя слешами.
3. Адрес ресурса на сервере. Это может быть HTML-страница, изображение, видео или ресурс другого типа. В примере на рисунке адрес страницы: /posts/http.

В URL не обязательно использовать только протокол HTTP, вот примеры с другими протоколами:

https://ya.ru | ftp://example.com

URL может включать достаточно большое количество других компонентов, кроме протокола, адреса сервера и адреса ресурса. Более подробно почитать о них можно в документе RFC 1738, Uniform Resource Locators (URL).

#HTTP #URL | 😏 @iscode
  • 👍 11
  • 🔥 2
Post #892 3.31K

Forwarded from STEIN: ИБ, OSINT

Хочешь стать невидимкой в мире хакинга?

Тогда лови шанс выиграть крутые призы в моём розыгрыше!

Разыгрываются:

🥇 1 место: Flipper Zero - карманный мультитул хакера!
🥈 2 место: Книга "Анализ личности через профиль соцсетей. Интернет-разведка" - научись читать между строк и узнавать людей лучше!
🥉 3 место: Книга "Bash и кибербезопасность: атака, защита и анализ из командной строки Linux" - освой мощь командной строки и стань мастером сферы ИБ!

Чтобы стать участником, тебе нужно:

1. Быть подписанным на мои каналы: STEIN: ИБ, OSINT ✖ OSINT ✖ Арсенал Безопасника
2. Нажать на кнопку «Участвовать».
Итоги подведем через неделю - 25 октября.
 
Учитывайте, что бот может немного подвиснуть — не переживайте, просто нажмите еще раз на кнопку «Участвовать».

Не упусти свой шанс!
  • 👍 3
  • 🤣 3
  • 🔥 2
  • ⚡ 1
Post #891 3.34K
🥷 Docker в виртуальной машине

#meme | 😊 @iscode
  • 🤣 33
  • 🔥 12
  • 👍 3
Post #889 4.33K
🥷 Джонни вещает: управление ключами SSH

Теория в "двух словах": SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя, «которым» заходят на сервер, закрытая — в домашний каталог пользователя, который идёт на удалённый сервер. Половинки сравниваются (я утрирую) и если всё ок — пускают.

🖥 Важно: авторизуется не только клиент на сервере, но и сервер по отношению к клиенту (то есть у сервера есть свой собственный ключ). Главной особенностью ключа по сравнению с паролем является то, что его нельзя «украсть», взломав сервер — ключ не передаётся с клиента на сервер, а во время авторизации клиент доказывает серверу, что владеет ключом (та самая криптографическая магия).

Генерация ключа и его структура: cвой ключ можно сгенерировать с помощью команды ssh-keygen. Если не задать параметры, то он сохранит всё так, как надо. Сменить пароль на ключ можно с помощью команды ssh-keygen -p.

~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. Если вы в письмо/чат скопипастите его вместо pub, то нужно генерировать новый ключ. (Я не шучу, примерно 10% людей, которых просишь дать ssh-ключ постят id_rsa).

🎙 Если подобный формат постов вам понравиться, сделаю и на другие темы.

#SSH | 😊 @iscode
  • 👍 54
  • 🔥 7
  • ⚡ 3
  • 🤣 2
Post #886 3.92K
  • 👍 10
  • 🤣 4
Post #882 4.18K
Обычный день с СДВГ

#meme | 😊 @iscode
  • 🤣 28
  • 👍 3
Post #880 4.64K
Сетевик Джонни // Network Admin 🥷 Джонни вещает: вложенные туннели (естественно, туннели можно перенаправлять) Усложним задачу: теперь нам хочется показать коллеге приложение, запущенное на localhost на сервере с адресом 10.1.1.2 (на 80ом порту). 🆘 Для понимания ситуации, пример ниже будет…
🥷 Джонни вещает: динамический проброс портов

Перенаправление трафика с нескольких портов на удаленный сервер: ssh -D 3000 ssh-server. Тут мы поднимаем SOCKS-прокси на порту 3000 для всех интерфейсов в локальной системе. Теперь трафик, отправленный через прокси-сервер на SSH-сервер, можно адресовать на любой порт или конечный хост.

— По умолчанию используется протокол SOCKS5, поддерживающий TCP и UDP.

ssh -D 127.0.0.1:3000 ssh-server (поднимаем SOCKS-прокси на 127.0.0.1:3000 в локальной системе)

При работающем SOCKS-прокси можно настроить браузер на его использование для доступа к ресурсам так, как будто соединения исходят от SSH-сервера. Например, если у SSH-сервера есть доступ к другим серверам в частной сети, с помощью SOCKS-прокси можно заходить на эти серверы локально (словно вы находитесь в той же сети), и не нужно настраивать VPN.

🖥 Работу SOCKS-прокси можно проверить командой: curl -x socks5://127.0.0.1:12345 https://example.org

#SSH #Socks #Proxy | 😊 @iscode
  • 👍 12
  • 🔥 6
Post #878 4.52K
Ценно, когда люди так относятся к своей деятельности
  • 👍 47
  • 🔥 7
  • ⚡ 3
  • 👎 1
Post #876 4.31K
🥷 Джонни вещает: вложенные туннели (естественно, туннели можно перенаправлять)

Усложним задачу: теперь нам хочется показать коллеге приложение, запущенное на localhost на сервере с адресом 10.1.1.2 (на 80ом порту).

🆘 Для понимания ситуации, пример ниже будет ссылаться на вот эту схему (click)

ssh -L 192.168.0.2:8080:127.1:9999 user@8.8.8.8 ssh -L 127.1:9999:127.1:80 user2@10.1.1.2

Твою мать, чё у вас здесь происходит? 😄 Мы говорим SSH перенаправлять локальные запросы с нашего адреса на localhost сервера Б и сразу после подключения запустить SSH (то есть клиента SSH) на сервере Б с опцией слушать на localhost и передавать запросы на сервер 10.1.1.2 (куда клиент и должен подключиться).

💬 Порт 9999 выбран произвольно, главное, чтобы совпадал в первом вызове и во втором. (ставим пальцы, и расскажу о динамическом пробросе портов)

#SSH #TCP | 😊 @iscode
  • 👍 38
  • 🔥 3
  • ⚡ 1
Post #875 4.35K
  • 👍 19
  • 👎 4
Post #874 4.25K
🥷 Джонни вещает: ключ сервера SSH

Прошлый пост(click) оказался для вас hard-level, поэтому сегодня тема попроще(про пальчики вверх не забываем, я для кого стараюсь 😄)

🖥 Первый раз, когда вы заходите на сервер, SSH вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts. Узнать, где какой ключ нельзя (ибо несекьюрно).

— Если ключ сервера поменялся (например, сервер переустановили), SSH вопит от подделки ключа. Обратите внимание, если сервер не трогали, а SSH вопит, значит вы не на тот сервер ломитесь (например, в сети появился ещё один компьютер с тем же IP, особо этим страдают всякие локальные сети с 192.168.1.1, которых в мире несколько миллионов). Сценарий «злобной man in the middle атаки» маловероятен, чаще просто ошибка с IP, хотя если «всё хорошо», а ключ поменялся — это повод поднять уровень паранойи на пару уровней (а если у вас авторизация по ключу, а сервер вдруг запросил пароль — то паранойю можно включать на 100% и пароль не вводить).

🕹 Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1.

Ключ сервера хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub. Их можно:
а) скопировать со старого сервера на новый.
б) сгенерировать с помощью ssh-keygen. Пароля при этом задавать не надо (т.е. пустой). Ключ с паролем ssh-сервер использовать не сможет.

🔍 Заметим, если вы сервера клонируете (например, в виртуалках), то SSH-ключи сервера нужно обязательно перегенерировать. Старые ключи из know_hosts при этом лучше убрать, иначе SSH будет ругаться на duplicate key.

#SSH #host | 😊 @iscode
Telegram Сетевик Джонни // Network Admin 🥷 Джонни вещает: проброс портов Мы переходим к крайне сложной для понимания части функционала SSH, позволяющей осуществлять головоломные операции по туннелированию TCP «из сервера» и «на сервер». 🆘 Для понимания ситуации пример ниже будет ссылаться на…
  • 👍 35
  • 🔥 2
Post #867 5.1K
Сколько часов на вашем жестком диске?

640 КБ на самом деле хватит всем 👨‍🦳

#meme | ✋ @iscode
  • 🔥 8
  • 👍 4
  • 🤯 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →