Я пытаюсь отладить несколько неудачных HTTP-запросов POST, содержащих большие загрузки файлов (~ 500 МБ). Конечный пользователь получает странные HTTP-ответы, которые не регистрируются ни в varnishncsa, ни в varnishlog, ни во внутренних журналах веб-сервера. Поскольку я не могу продублировать проблему (это может быть результатом прокси-сервера поставщика услуг Интернета), я пытаюсь найти несколько вариантов для регистрации всего запроса (идентифицированного URL-адресом) и его воспроизведения позже на сервере разработки или промежуточном сервере.
Похоже, что Snort может быть лучшим способом решения проблемы, поскольку он позволяет нам регистрировать входящие пакеты до того, как они (неверно) интерпретируются, но я обеспокоен тем, что это может привести к значительной задержке, накладным расходам памяти или другим непредвиденным проблемам. с такими большими запросами. Все сопоставления, которые нам нужно будет сделать, будут основаны на URL-адресе, поэтому на самом деле нужно будет отфильтровать только первый килобайт или около того, но нам нужна остальная часть запроса для воспроизведения.
Я смотрю readme.stream5 в документации по snort, что делает это возможным и разумным, но разрыв между документами и реальным миром может быть довольно большим.
Подходит ли Snort для этой задачи? Могу ли я применить какие-либо оптимизации, чтобы избежать чрезмерных затрат памяти, диска или процессора? Если вы не считаете, что Snort хорошо подходит для этой задачи, какой подход вы бы предложили?
Установка сервера глобально распространяется на безголовых компьютерах, на которых запущена последняя установка Linux, поэтому любое решение должно быть скриптовым, автоматизированным и способным каким-либо образом сообщать мне, что оно захватило запросы.