Предполагая, что мой компьютер с Windows (xp, vista, 2003, 2008 или Windows 7) подключен напрямую к Интернету и не имеет промежуточного маршрутизатора ...
Есть ли способ отфильтровать весь трафик, идущий на порт 80, чтобы он вместо этого шел на 3128 (прокси-сервер Squid HTTP)?
я нашел это программное обеспечение для отображения портов, но вам нужен другой компьютер, потому что он не может перенаправлять исходящие запросы.
Условно-бесплатная PC Port Forwarding - это все, что нужно для перенаправления исходящего трафика с простым в использовании графическим интерфейсом под Windows. Получите это от http://www.verigio.com/products/pc-port-forwarding/
Я понимаю, что это не отвечает на ваш вопрос, но вы действительно должны установить настоящий брандмауэр / маршрутизатор, чтобы сделать это: я бы рекомендовал либо pfSensе или Гладкостенный.
Если по какой-то причине это должен быть Windows, лучше всего ISA-сервер - хотя обычно он лучше обрабатывает входящую маршрутизацию, поэтому это может быть даже невозможно. Насколько мне известно, Microsoft не предоставила стек IP таким образом, чтобы вы могли добавлять пользовательские маршруты / переводы без написания специального драйвера для размещения в сетевом стеке.
Отличный ресурс ISA: http://www.isaserver.org/
Эта статья от Microsoft ( http://support.microsoft.com/kb/819961 ) обсуждает настройку прокси-сервера для системы. Для других браузеров, таких как firefox, вам может потребоваться настроить параметры прокси независимо.
Продукт, который вы ищете, NetCat и делает именно то, что вам нужно. Проверить Википедия страница. Вам нужна конкретная командная строка
nc -l -p 80 | NC localhost 3128
Я не верю, что это можно сделать изначально в Windows. Почему бы вам просто не настроить Squid на прослушивание порта 80?
Вы жестяная банка делай то, что ты ищешь с SoftPerfect Bandwidth Manager и Squid на одном сервере.
Если вы не можете справиться с затратами на SoftPerfect Bandwidth Manager, вам, вероятно, стоит приобрести любой из «консервированных» дистрибутивов Linux, которые поставляются с предустановленным Squid, и просто использовать его.
Если вы используете Linux, лучший способ сделать это - iptables.
Убедитесь, что ip_forward включен
echo 1 >/proc/sys/net/ipv4/ip_forward
Замените IP_ADDRESS своим IP-адресом назначения
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination IP_ADDRESS
iptables -t nat -A POSTROUTING -p tcp -d IP_ADDRESS --dport 80 -j MASQUERADE
Я регулярно использую его для перенаправления всего трафика с одного сервера на другой, обычно после миграции сервера в другой центр обработки данных.