Изменение исходящих заголовков HTTP на общесистемном уровне Mac OS X Lion

Я хотел бы написать программу, которая изменяет все исходящие (запросные) HTTP-запросы, чтобы изменить один из исходящих заголовков на лету в моей системе Mac OS X Lion. Существуют ли какие-либо системные API, которые позволили бы мне переписать трафик порта 80 таким образом?

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

P.S. Я нашел информацию о том, как сделать это в Linux, по адресу https://stackoverflow.com/questions/8107848/modify-http-headers-on-system-level-linux, однако я почти уверен, что Mac OS X lion не поддерживает iptables, и хотя он поддерживает ipfw, он устарел в пользу PF.


person Adam M-W    schedule 25.06.2012    source источник
comment
Какой заголовок вы хотите переписать?   -  person Trott    schedule 25.06.2012
comment
Это имеет значение? Это стандартный вариант, если поможет, но я бы не хотел подробно его обсуждать.   -  person Adam M-W    schedule 25.06.2012
comment
На самом деле, это даже не так много переписывания - мне просто нужно сделать существующий заголовок строчным из-за прозрачного прокси (технически DPI), который я вынужден использовать. Общесистемный позволит всем программам работать без необходимости изменять каждую из них.   -  person Adam M-W    schedule 25.06.2012


Ответы (1)


Вы действительно уверены, что вам это нужно «для всей системы», а не плагин для браузера, такой как https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/ или изменить -headers достаточно?

Если вы уверены, что вам это нужно, возможно, вам поможет этот инструмент атаки: middler.

или: скрипач

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

person snies    schedule 25.06.2012
comment
вас также может заинтересовать базовый scapy, здесь ссылка, показывающая, как создать http-рукопожатие с помощью scapy (GET REQUEST). - person snies; 25.06.2012
comment
Я использовал Fiddler раньше, но это, по сути, модифицирующий прокси-сервер HTTP, и поэтому требуется, чтобы каждое программное обеспечение было настроено на использование его в качестве прокси-сервера, а программное обеспечение даже поддерживало прокси-серверы HTTP. Кроме того, я работаю в Mac OS X, поэтому Fiddler становится очень сложным, но я использую аналогичное временное решение через собственный прокси-сервер Node.js. Тем не менее, я ищу что-то системное, чтобы быть лучшей заменой. Кроме того, scapy выглядит так, как будто он может работать, но похоже, что он может только обнюхивать, отправлять и получать пакеты, но не модифицировать их. - person Adam M-W; 25.06.2012