Я пишу клиента, который разговаривает с удаленным сервером через HTTP. Я хотел бы поместить злой прокси между клиентом и сервером, который (случайно?) Повлияет на трафик на проводе.Evil proxy для тестирования взаимодействия клиент/сервер
Некоторых вещей, которые я хотел бы случиться:
- произвольных задержек для ответа
- произвольных ошибок HTTP
- этого сценарий трудно представить с TCP, но какой черт: усеченные ответов (т.е. неверные данные)
- Временная недоступность (хотя это кажется трудным, учитывая, что это нужно делать на более низком уровне сети).
- предопределенные пользовательские ошибки (например: каждый запрос возвращается с ошибкой службы)
В основном я хочу, чтобы имитировать диапазон сетевых условий, пользователи этого программного обеспечения собираются испытать в реальном мире и убедитесь, что клиент обрабатывает их изящно.
Я подозреваю (надеюсь), что что-то подобное уже существует. Пожалуйста, указывайте мне в правильном направлении!
Благодаря
IIRC некоторые компании построили аналогичные модули для внутреннего тестирования ... Я не знаю ни о каком свободном или коммерческом прокси-сервере, позволяющем использовать этот большой контроль ... в основном вы начинаете с существующего прокси-сервера opensource и модифицируете/расширяете его для своих нужд ... – Yahia
Да, я нашел [Мэллори] (http://intrepidusgroup.com/insight/mallory/). Он поддерживает плагины, но я хочу посмотреть, есть ли что-то там, прежде чем я инвестирую время в изучение Python. – EightyEight
Я думаю, что лучший выбор состоит в том, чтобы высмеять классы сетевого взаимодействия, поэтому вы можете легко описать такие сценарии в коде тестового кода, иначе было бы довольно сложно управлять такой системой. – kan