Инструменты прокси для клиента HTTP и веб-отладки

Инструменты прокси для клиента HTTP и веб-отладки

the Matrix

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

Содержание
  • Что такое отладка?
  • Что такое HTTP-клиент?
  • Различия между HTTP-клиентом и сервером
  • Примеры HTTP-запросов
  • HTTPie
  • Fiddler
  • RESTer
  • Paw
  • Requester
  • Postman
  • cURL
  • Charles Proxy
  • Whistle
  • mitmproxy
  • Proxyman
  • HTTP Toolkit
  • Заключение
  • Что такое отладка?

    Отладка – это процесс, и он включает в себя множество тактик.

    Это систематический поиск и устранение проблем и ошибок в программе.

    Кроме того, отладка устраняет все проблемы, которые могут помешать корректной работе программного обеспечения или, в данном случае, веб-приложения.

    Процесс отладки вашего API или веб-приложения в первую очередь включает в себя попытку воспроизвести проблему.

    Следовательно, возникает необходимость отправить API-запрос.

    Вот здесь-то и возникает проблема.

    Большинство браузеров не позволят вам изменить заголовок origin и даже ограничения на размер URL.

    Другими словами, чтобы воспроизвести проблему, вам может понадобиться выполнить некоторые манипуляции с HTTP.

    👵 Лучшие HTTP-клиенты командной строки для Linux

    А для этого потребуются мощные инструменты отладки.

    Интересно знать, что некоторые HTTP-клиенты, то есть веб-браузеры, имеют встроенные инструменты веб-разработчика.

    Эти инструменты можно использовать для отладки API.

    Что такое HTTP-клиент?

    Предположим, вы думаете о создании системы, использующей протокол HTTP для распределенной коммуникации или HTTP-aware, например, веб-приложения.

    Тогда вы, возможно, захотите взглянуть на компонент HTTP-клиента.

    HTTP, или HyperText Transfer Protocol, – это причина, по которой вы можете общаться или передавать данные в Интернете, каждый раз, когда вы вводите URL.

    Это прикладной протокол, который делает возможным просмотр Интернета.

    Итак, HTTP-клиент – это система, которая отправляет запросы на сервер в текстовом формате HTTP и, в свою очередь, получает ответ от того же сервера.

    Очень важно знать разницу между HTTP-клиентом и HTTP-сервером.

    Различия между HTTP-клиентом и сервером

    В то время как HTTP-клиентом часто являются веб-браузеры или утилиты, HTTP-серверы выступают в качестве прокси-серверов для серверов приложений.

    Проще говоря, ваши смартфоны, телевизоры, PlayStation, да вообще любое устройство, которое может подключаться к Интернету, скорее всего, использует HTTP-клиент.

    Аналогично, HTTP-сервер – это сетевой компьютер, к которому подключается HTTP-клиент.

    Их отношения больше похожи на разговор.

    ⚓ cURL – Как отобразить заголовки запроса и заголовки ответа

    HTTP-клиент посылает запрос, а HTTP-сервер отвечает.

    Примеры HTTP-запросов

    ЗапросыРезультатыGETЗапрашивает весь ресурсHEADЗапрашивает ресурс без телаPOSTДобавляет контент на существующий веб-ресурсPUTИзменяет существующий веб-ресурсDELETEУдаляет указанный ресурсTRACEПоказывает изменения в веб-ресурсеOPTIONSПоказывает доступные методы HTTP для URLCONNECTПреобразование соединения запроса в прозрачный туннель TCP/IPPATCHЧастично изменяет веб-ресурс

    ⚓ Выполнение POST-запроса с помощью Curl [Практические примеры]

    HTTPie

    Конечная цель HTTPie – сделать взаимодействие CLI с веб-сервисами удобным для пользователя.

    Этот инструмент предоставляет HTTP-команду для отправки запросов с использованием естественного синтаксиса.

    см. подробнее:

    HTTPie – современный HTTP-клиент, похожий на команды Curl и Wget

    Fiddler

    Fiddler – это кроссплатформенный прокси-сервер для отладки веб-сеансов.

    С его помощью можно манипулировать веб-сессиями, проверять трафик HTTPS и отслеживать трафик между вашим компьютером и Интернетом.

    Вы можете установить Fiddler на Windows, macOS и Linux. Это, вероятно, самый популярный инструмент для отладки трафика.

    см. подробнее:

    ⛕ Использование Fiddler для захвата трафика VirtualBox

    RESTer

    RESTer доступен в качестве расширения для Google Chrome и Firefox.

    Основные моменты

    • Заголовки авторизации с аутентификацией Basic или Auth2
    • Просмотр истории запросов
    • Выполнение запросов с любым методом, URL, телом и пользовательскими заголовками
    • Тестирование и отладка API

    Paw

    Paw – это полнофункциональный HTTP-клиент, который позволяет отправлять все виды HTTP-запросов.

    С помощью Paw вы можете тестировать свои API, а также изучать новые.

    Paw создан исключительно для macOS и обладает простыми в использовании функциями.

    Вы можете импортировать и генерировать swagger, RAML и т.д., и он поддерживает схему JSON.

    Основные моменты

    • Поддерживает множество аутентификаций, таких как basic, OAuth, hawk, digest
    • Динамические значения
    • Среды
    • Расширения на основе java-script
    • Куки и манипуляции с сессиями

    Requester

    Requester – это надежный клиент, сочетающий в себе возможности HTTPie, Postman и Paw.

    Он работает только с редактором Sublime Text.

    Основные моменты

    • Поддерживает JSON
    • Коллекции и история запросов
    • Цветной вывод с подсветкой синтаксиса
    • Современный пользовательский интерфейс
    • Cookies, пользовательские заголовки, тело запроса и параметры запроса легко настраиваются.
    • Поддержка GraphQL

    Postman

    Постоянно работаете с API?

    Вы влюбитесь в Postman.

    Postman – бесспорно, один из самых популярных HTTP-клиентов, используемых для отладки веб-приложений.

    Он позволяет быстрее и проще разрабатывать API.

    Основные моменты

    • Мощный GUI с удобным интерфейсом
    • История запросов
    • Автоматизированное тестирование с помощью бегущей строки коллекции
    • Гибкий мониторинг API
    • Поддержка REST, GraphQL, SOAP
    • Поддержка нескольких полезных нагрузок, включая JSON и HTML

    💉 Astra – автоматизированное тестирование безопасности для REST API

    cURL

    cURL – это инструмент командной строки, который используется для отправки данных с помощью синтаксиса URL.

    Хорошо, что cURL по умолчанию установлен на большинстве операционных систем с поддержкой UNIX.

    Он поддерживает множество протоколов, включая FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS и SCP.

    см. также:

    Charles Proxy

    Как видно из названия, Charles proxy – это HTTP и обратный прокси.

    Он работает путем маршрутизации локального трафика через него.

    Вы можете использовать Charles для SSL-проксирования, дросселирования полосы пропускания, отладки AJAX, точек останова и многого другого.

    Whistle

    Whistle – это кроссплатформенный инструмент отладки на базе NodeJS для захвата и манипулирования HTTP, HTTPS, WebSocket и TCP трафиком.

    Сначала необходимо установить NodeJS, а затем Whistle с помощью npm.

    npm install -g whistle

    Вы всегда можете расширить возможности плагина, если стандартные функции не соответствуют вашим требованиям.

    mitmproxy

    mitmproxy – это популярный HTTPS-прокси с открытым исходным кодом среди исследователей безопасности.

    Используйте его как CLI, веб или Python API.

    🕵️ Обзор инструментов MITM атак для исследователей безопасности

    Proxyman

    Как и вышеупомянутый Paw, Proxyman – это премиум-приложение для отладки веб-прокси на macOS.

    Он действует как “человек посередине” для веб-трафика и предлагает множество функций, включая следующие.

    • SSL-прокси
    • Повторять запросы
    • Protobuf
    • Сценарии ReWrite
    • Локальная и удаленная карта
    • Фильтрация содержимого
    • Подсветка синтаксиса

    HTTP Toolkit

    HTTP Toolkit – это отладчик HTTP с открытым исходным кодом.

    Это настольное приложение, доступное для Windows, Mac и Linux.

    В отличие от других отладчиков HTTP, HTTP Toolkit обеспечивает автоматический целевой перехват для определенных клиентов, включая настройку HTTPS, а не перехватывает все данные со всего компьютера, что позволяет избежать перехвата нерелевантного трафика или нарушения работы других приложений.

    Заключение

    Перечисленные выше HTTP-клиенты и прокси для веб-отладки могут помочь вам во многих отношениях.

    Большинство из них бесплатны или предлагают пробную версию, поэтому попробуйте некоторые из них, чтобы увидеть, что подходит именно вам.


    Источник

    Наши проекты:

    - Кибер новости: the Matrix
    - Хакинг: /me Hacker
    - Кодинг: Minor Code
    👁 Пробить человека? Легко через нашего бота: Мистер Пробиватор

    Report Page