Gostaria de saber se todos os aplicativos de terceiros terão as configurações de proxy em consideração. Ou se a alteração das configurações de proxy em todo o sistema puder interferir em outros aplicativos. (Por exemplo, quando o proxy da empresa é necessário para acesso à Internet, não é possível alterá-lo apenas para redirecionar o tráfego para twitter.com
.) Felizmente, quando o aplicativo não usa HTTPS, ele não consegue encontrar um intermediário. Então, configure um man-in-the-middle para twitter.com
na porta 80, usando DeleGate .
As etapas a seguir foram testadas no Mac OS X 10.6 e no Windows XP, usando contas com direitos administrativos completos.
-
Download DeleGate. Não deixe a homepage dos anos 90 te enganar: o programa ainda é mantido.
-
Informe o DeleGate para encaminhar todas as solicitações locais na porta 80 (e 443) para o servidor HTTPS, com base no valor do cabeçalho do Host na solicitação HTTP. Como para um Mac na Intel (onde
sudo
é necessário para usar portas com privilégios abaixo de 1024):sudo ./macosxi-dg -v -P80,443 \ SERVER=https \ RELAY=vhost \ RESOLV=cache,dns \ STLS=-fcl,fsv \ [email protected]
Para o Windows, se descompactado para
c:\
:cd c:\dg9_9_4\bin dg9_9_4.exe -v -P80,443 SERVER=https RELAY=vhost RESOLV=cache,dns STLS=-fcl,fsv [email protected]
Se você precisar usar o proxy de sua empresa para acesso à Internet, o DeleGate terá prazer em usá-lo se adicionar algo como
PROXY=proxy.example.com:8080
à linha de comando. -
Em seu arquivo
/etc/hosts
(c:\windows\system32\drivers\etc\hosts
no Windows XP; consulte para os locais em outros sistemas operacionais), adicione a seguinte linha para direcionar todas as solicitações detwitter.com
para seu próprio computador. Observe que o mapeamento do nome do domínio para o endereço IP não leva o protocolo em consideração. Então, isso não só será usado para HTTP, mas também para HTTPS (e tudo mais, como comandos comoping
).127.0.0.1 twitter.com
-
Verifique se o seu navegador não está configurado para usar um servidor proxy ou adicione
twitter.com
como uma exceção. Apenas para o caso de seu navegador ter armazenado o endereço IP do Twitter, convém reiniciá-lo. -
Agora, o link na verdade faz com que você (e todos os seus aplicativos)
https://twitter.com
.
A saída mostra que, de fato, o site HTTPS é solicitado a partir de 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
Ao usar MOUNT="/* https://twitter.com/*"
em vez de RELAY=vhost
, então, mesmo http://localhost
forneceria um https://twitter.com
:
AosolicitarexplicitamenteoHTTPSusandohttps://twitter.com
,acadeiadecertificadosconfiáveiséinterrompida:umaplicativocomreconhecimentoHTTPSirádescobriroataqueman-in-the-middleefalharásenãopuderpedirsuapermissãoparacontinuar:
Após o teste, para executar como um serviço no Windows, basta remover o parâmetro -v
. Isso instalará o programa como um serviço. Em seguida, ele será executado em segundo plano e perguntará se você deseja executá-lo na inicialização:
Trying to start as a service [DeleGate Server -P80,443] ...
Set Automatic Start on System Startup ? [y] / n :
Depois de executar o comando acima sem o parâmetro -v
: consulte Painel de Controle »Ferramentas Administrativas» Serviços para iniciar ou parar manualmente o DeleGate. Observe que esse serviço se referirá ao local do qual você iniciou inicialmente o programa dg9_9_4.exe
. Portanto, você não deve excluir ou mover esse programa; não se esqueça de descompactar o download para, por exemplo, c:\dg9_9_4
para evitar uma referência a algum diretório de downloads que você possa excluir no futuro.
Para remover o serviço, apenas especifique o mesmo valor para o parâmetro -P
:
dg9_9_4.exe -P80,443 [email protected]
[..]
The service 'DeleGate Server -P80,443' exists. Delete it ? [y] / n : y
OK. DELETEd the previous service.
Create a new service ? [y] / n : n
Finalmente, pode-se imaginar como o DeleGate sabe o endereço IP do twitter.com (como mapeamos para 127.0.0.1 no arquivo hosts
). DeleGate, na verdade, recupera isso por causa de 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