Я делаю домашнее задание по MitM-атаке. Это требует от меня изменения полезных данных HTTP (добавления тегов сценария к содержимому HTML). Мне удалось внедрить сценарий, но я обнаружил, что контент, получаемый на стороне пользователя, всегда обрезается. Затем я понял, что поле Content-Length в HTTP-заголовке не было увеличено для размещения более длинных HTTP-данных.
Я попытался установить заголовок Content-Length таким образом. new_packet.show() печатается нормально, показывая обновленную длину содержимого. Но когда я проверил на стороне клиента, он по-прежнему видит исходную длину содержимого, как будто ничего не было изменено.
Код: Выделить всё
res: HTTPResponse = tcp[HTTPResponse]
res.fields["Content_Length"] = content_len
new_packet = IP(src=ip.src, dst=ip.dst) / tcp
new_packet.show()
Я проверил другие похожие ответы здесь и на странице проблем Scapy на GitHub, но обсуждения кажутся очень устаревшими. Кто-нибудь успешно изменил поля заголовка таким образом? Должен ли я использовать другой метод для изменения полей заголовка? Любые указатели приветствуются. Спасибо за помощь!
Подробнее здесь:
https://stackoverflow.com/questions/792 ... -no-effect