Моя общая цель - не прерывать производственную систему при захвате HTTP-сообщений в веб-приложение, чтобы я мог реконструировать телеметрию, поступающую из закрытого приложения. У меня есть контроль над передатчиком HTTP-сообщений, но не над принимающим веб-приложением.
Вроде как мне нужен запрос "разветвления" прокси. Сорт обратного прокси, который отправляет запрос на 2 конечные точки, ведущую и ведомую, только ретранслируя ответ от главной конечной точки обратно запрашивающей стороне. Я не компьютерный компьютерщик, поэтому может существовать что-то подобное, но я не знаю терминологии, обозначающей то, что я ищу.
Другой возможностью может быть простой прокси для ведения журнала. Захватите журнал веб-запросов. Перепишите журнал, чтобы настроить таргетинг на мое «подчиненное» веб-приложение. Воспроизведите журнал с помощью curl или что-то в этом роде.
Спасибо за помощь.
Попробуйте берпсуит. BurpSuite
Бесплатная версия позволит вам отправлять запросы / ответы через прокси. Затем вы можете изменить и воспроизвести их. В версии Pro есть несколько хороших инструментов для сканирования.
Проверьте бесплатную версию и посмотрите, подойдет ли она вам.
Где я работаю, в последнее время мы много работали с языком программирования Go и этим инструментом. https://github.com/buger/gor похоже, это именно то, что вы ищете. Он прост в использовании, имеет открытый исходный код и отлично работает практически со всем. Однако это только одно из множества решений, которые существуют, и если вы посмотрите вокруг, вы, вероятно, найдете что-то более подходящее для вашего стека.
Еще три варианта:
Надстройки браузера: Почтальон для Chrome или RESTClient для Firefox они позволяют воспроизводить запросы.
Как настольное приложение, очень мощным является Скрипач для Windows, также доступно для Linux / Mac (альфа) в рамках Mono.
На ум приходят wirehark, ettercap, tcpdump и snort. Практически любое приложение libpcap сделает это. Вы можете попробовать freshmeat.net или sourceforge.net, чтобы найти приложения для захвата пакетов. Я уверен, что кто-то разработал что-то, что позволит вам выполнять воспроизведение / анализ WWW.
Если вы можете контролировать источник, вы даже можете поставить между ними маршрутизатор, который позволит вам захватывать трафик. Так работает Man in the Middle Attack.
Однако, если не считать написания некоторых сложных правил с помощью snort, я не уверен, насколько легко вы получите данные, которые ищете. tcpdump может записывать файлы для каждой «транзакции», но вам все равно нужно немного декодировать полученные файлы.
Любое решение, вероятно, будет проблематичным, если машина POST использует https: //
Если вы хотите повторно отправить / воспроизвести захваченные запросы из браузера, вам необходимо войти в режим веб-разработчика в браузере и просмотреть сетевые запросы. Затем щелкните правой кнопкой мыши интересующий запрос, и в большинстве современных браузеров есть возможность Скопировать как cURL после чего вы можете вставить полученную команду в терминал и повторно запустить захваченную команду по своему усмотрению, используя curl
инструмент. Некоторые браузеры (например, Mozilla) также предлагают возможность редактирования и повторной отправки из браузера.