На моей работе заблокирован http://twitter.com, но https://Твиттер не. Там какой-либо путь состоит в том, чтобы иметь весь доступ программ/браузеров этот URL с помощью протокола HTTPS вместо HTTP?
Это конкретно касается клиентов третьей части, которые должны получить доступ к сайту, но обычно трудно кодируются к HTTP без опции изменить их.
ОБНОВЛЕНИЕ: Я пытался создать сценарий скрипача, как предложено ниже, но я не мог получить его работающий правильно. Ответ со сценарием был бы самым полезным, или другой метод, состоящий полностью из доступа.
Интересно, примут ли все сторонние приложения на самом деле настройки прокси во внимание. Или если изменение настроек прокси в масштабе всей системы могло бы вмешаться в другие приложения. (Как то, когда прокси компании требуется для доступа в Интернет, так не может быть изменен только для перенаправления трафика для twitter.com
.) К счастью, когда приложение не использует HTTPS, затем это не может найти man-in-the-middle. Так: настройте man-in-the-middle для twitter.com
на порте 80, с помощью DeleGate.
Следующие шаги были протестированы на Mac OS X 10.6 и Windows XP, с помощью учетных записей с полными административными правами.
Загрузите DeleGate. Не позволяйте домашней странице 1990-х одурачить Вас: программа все еще сохраняется.
Скажите DeleGate передавать все локальные запросы на порте 80 (и 443) к серверу HTTPS, на основе значения заголовка Хоста в Запросе HTTP. Как для Mac на Intel (где sudo
требуется, чтобы использовать привилегированные порты ниже 1024):
sudo ./macosxi-dg -v -P80,443 \
SERVER=https \
RELAY=vhost \
RESOLV=cache,dns \
STLS=-fcl,fsv \
ADMIN=a@b.c
Для Windows, если разархивировано к c:\
:
cd c:\dg9_9_4\bin
dg9_9_4.exe -v -P80,443 SERVER=https RELAY=vhost RESOLV=cache,dns STLS=-fcl,fsv ADMIN=a@b.c
Если Вы будете обязаны использовать прокси своей компании для доступа в Интернет, то DeleGate будет счастливо использовать это, если Вы добавите что-то как PROXY=proxy.example.com:8080
к командной строке.
В Вашем /etc/hosts
файл (c:\windows\system32\drivers\etc\hosts
на Windows XP; посмотрите Википедию для местоположений на другой ОС), добавьте следующую строку для направления всех запросов на twitter.com
к Вашему собственному компьютеру. Обратите внимание, что отображение от доменного имени до IP-адреса не принимает протокол во внимание. Так: это будет не только использоваться для HTTP, но также и для HTTPS (и все остальное, такого как команды как ping
).
127.0.0.1 twitter.com
Удостоверьтесь, что Ваш браузер не настроен, чтобы использовать прокси-сервер или добавить twitter.com
как исключение. На всякий случай Ваш браузер кэшировал IP-адрес Твиттера, Вы могли бы хотеть перезапустить его.
Теперь, http://twitter.com на самом деле получает Вас (и все Ваши приложения) https://twitter.com
.
Вывод показывает, что действительно от сайта HTTPS требуют https://twitter.com
:
REQUEST - GET / HTTP/1.1
REQUEST = https://twitter.com:443/ GET / HTTP/1.1
[..]
ConnectToServer connected [16] {168.143.161.20:443 <- 192.168.1.68:57067}
## SSLway -- TLSxSNI: sent ru=0 ty=0 nm=localhost
## SSLway ## 0.459622 connected/accepted
## SSLway server's cert. =
**subject /
C=US/
O=twitter.com/
OU=GT09721236/
OU=See www.rapidssl.com/resources/cps (c)09/
OU=Domain Control Validated - RapidSSL(R)/
CN=twitter.com
**issuer /
C=US/
O=Equifax Secure Inc./
CN=Equifax Secure Global eBusiness CA-1
При использовании MOUNT="/* https://twitter.com/*"
вместо RELAY=vhost
затем ровный http://localhost
дал бы тот https://twitter.com
:
При явном запросе использования HTTPS https://twitter.com
, затем доверяемая цепочка сертификата повреждается: осведомленное о HTTPS применимое обнаружит атаку "человек посередине" и перестанет работать, если она не может попросить у Вас Вашего разрешения продолжиться:
После тестирования, для выполнения как услуга в Windows, просто удаляют -v
параметр. Это установит программу как услуга. Это будет затем работать в фоновом режиме и спрашивать Вас, если Вы захотите выполнить его на запуске:
Trying to start as a service [DeleGate Server -P80,443] ...
Set Automatic Start on System Startup ? [y] / n :
После выполнения вышеупомянутой команды без -v
параметр: посмотрите Панель управления» Средства администрирования» Сервисы, чтобы вручную запустить или остановить DeleGate. Обратите внимание, что этот сервис обратится к местоположению, с которого Вы первоначально запустили dg9_9_4.exe
программа. Так, Вы не должны удалять или перемещать ту программу; обязательно разархивируйте загрузку к, например, c:\dg9_9_4
избегать ссылки на некоторый каталог Downloads, который Вы могли бы удалить в будущем.
Для удаления сервиса просто удостоверьтесь для определения того же значения для -P
параметр:
dg9_9_4.exe -P80,443 ADMIN=a@b.c
[..]
The service `DeleGate Server -P80,443' exists. Delete it ? [y] / n : y
OK. DELETEd the previous service.
Create a new service ? [y] / n : n
Наконец, можно задаться вопросом, как DeleGate знает IP-адрес twitter.com (поскольку мы отобразили это на 127.0.0.1 в hosts
файл). DeleGate на самом деле получает это само, из-за RESOLV=cache,dns
:
MOUNT[5]X[2] /* https://twitter.com/*
{R} SOA got [162.143.168.in-addr.arpa][ns1.dn.net]
[dnsadmin.enterprise.verio.net] 2008121001 10800 3600 604800 86400
Вам нужен некоторый прокси-сервер с переписать поддержкой правила. Я подозреваю, что в отсутствие лучшего предлагаемого ответа Вы могли записать правило модификатора, чтобы Скрипач сделал это. Правила скрипача записаны в JavaScript и онлайн существует несколько примеров.
Править: Посмотрите и голосуйте, ответ Eric Law на этой странице.
Вы могли выйти из всего осуждения при помощи VPN и туннелирующий из Вашей сети работы.
Туннелирование VPN включает установление и поддержание логического сетевого соединения (который может содержать промежуточные переходы). На этом соединении пакеты, созданные в определенном формате протокола VPN, инкапсулируются в рамках некоторого другого основного или протокола несущей, затем передали между клиентом VPN и сервером, и наконец de-encapsulated на стороне получения.
То, что это означает, - то, что все Ваши пакеты отправляются через посредника в Интернете. Этот посредник не будет обычно блокироваться брандмауэром Вашей компании, и он передает все Ваши пакеты их месту назначения и затем дает полученные ответы к Вашему компьютеру. Кроме того, соединение VPN гарантирует, что все Ваши пакеты оба пути кодируются и защищают от любопытных глаз.
Вы получите лучшее обслуживание от коммерческих продуктов, но некоторые свободны и не слишком плохо. Например, Клиент Туннеля HTTP является очень хорошим продуктом.
Это не свободно, но у Charles (веб-прокси отладки) есть Карта Удаленная функция Настроек, которой можно было сказать отобразиться http://twitter.com
кому: https://twitter.com
легко использование GUI. Можно загрузить пробную версию с сайта, чтобы видеть, удовлетворяет ли он потребности.
Правило Скрипача довольно просто. В OnBeforeRequest добавьте:
if (oSession.fullUrl.StartsWith("http://twitter.com/"))
{
oSession.oRequest.headers.UriScheme = "https";
}
Вы могли записать сценарий Механика с Firefox. Вот один для FriendFeed.
Править: Сценарий для Твиттера.
Я думаю, что нет = /
Кто-то может разоблачить способ сделать это, но рассматривающий это как разработчика программного обеспечения: многим приложениям трудно кодировали http://twitter.com, и с тех пор не, только адрес, но и протокол отличаются, я не вижу способ сделать это автоволшебно, не изменяя приложение. Некоторое приложение может работать с обоими, таким образом, можно настроить его.
Примечание: веб-приложения являются большим количеством hacky, чем настольные.
Править: хороший, crb. Прокси-сервер, в зависимости от способа, которым блокируется Твиттер, мог помочь ему.
В соответствии с Firefox, кажется, что дополнительный TLS силы отвечает на Вашу проблему.
Кавычка:
Вот то, как это работает:
- Сайт x.com, врученный через HTTPS, предоставляет заголовку X-Force-TLS в своем ответе. Заголовок содержит значение макс. возраста (сколько времени помнить принудительный TLS), и дополнительно флаг includeSubDomains.
- Браузер получает этот заголовок и добавляет его к базе данных Force TLS.
- В будущем любые запросы на x.com изменяются, чтобы быть через HTTPS, если они предприняты через HTTP, прежде чем запрос поразит сеть.
- Если какие-либо субдомены, *.x.com требуют через HTTP и флаг includeSubDomains, были установлены, они также вынуждены быть HTTPS.
https
в браузере). Именно о программном обеспечении только соединяется с HTTP, и в котором не может быть изменен URL.
– Arjan
17.09.2009, 15:57
Другое решение, возможно, состояло бы в том, чтобы использовать клиент, как DestroyTwitter или TweetDeck. Они не используют twitter.com непосредственно, но пишут в Твиттере и прочитывают API, который, вероятно, не заблокирован.