Como verificar se um proxy Socks5 funciona


36

Existe uma maneira fácil, de preferência usando o terminal Linux, para verificar se um proxy Socks5 funciona?

Respostas:


40

Se você criou o proxy por conta própria, verifique primeiro se existe uma porta aberta (o pargumento só funciona se o processo relacionado for seu ou se você for root):

netstat -tlnp

Isso deve fornecer uma linha como: (Eu tenho um proxy ativado localhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

Se você encontrou essa linha ou o proxy não é seu, tente enviar pacotes por ela. Por exemplo, solicite uma página da web com curl:

curl --socks5 localhost:8888 binfalse.de

Deve produzir algumas coisas em HTML. Espero que isso ajude a procurar erros ;-)


Aux : Para o meu exemplo, criei o proxy via:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

Substitua someonepelo seu nome de usuário e somewherepelo servidor de destino. É claro que o uso do OpenSSH é apenas um método em um monte de possíveis proxies socks5.


1
ssh: Não foi possível resolver o nome do host em algum lugar: Nome ou serviço desconhecido
tony_sid 28/06

6
Claro que você tem que substituir someone@somewherecom seu nome de usuário e seu servidor, por exemplo ssh -D8888 YOURUSER@YOURHOST;-)
binfalse

No Windows, o comando netstat é: nestat -an ou netstat -an | grep LISTENse você tiver grep no seu caminho.
Erik Aronesty

Obrigado pela curldica. FWIW, o curl também suporta o --socks5-hostnameque é semelhante, --socks5mas não tenta resolver localmente o nome do host da URL enviada (o que pode ser super útil para conectar-se às intranets).
kostix 17/10

7

Para obter ondulação para resolver o DNS do outro lado, altere --socks5com --socks5-hostname.

Veja a página de manual para mais informações.


Obrigado, não percebi por que minha solicitação estava falhando até usar isso.
Xamox 10/06

4

O comando a seguir testará se o proxy Socks 5 funciona em localhost:8080:

timeout 5 curl -x socks5://localhost:8080 http://example.com/

Caso contrário, o tempo limite será excedido após 5 segundos. Se você não possui um timeoutcomando, solte-o.


1

Você pode se conectar ao netcat e seguir as regras da RFC 1928 para conversar com o servidor. Você precisa digitar e ler caracteres não imprimíveis ou registrá-los em um arquivo para um exame mais aprofundado.

Por exemplo, para testar se é um servidor SOCKS5 e descobrir quais métodos de autenticação sem autenticação, gssapi ou usr + pwd ele suportaria, envie 0x05 0x03 0x00 0x01 0x02. Um servidor SOCKS5 preparado para usar a autenticação usr + pwd responderia 0x05 0x02.

Ou aqui está como verificar se é um servidor SOCKS5 e se o no-auth (método 0) funciona:

echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}

Após a interrupção, no final de out.txt, ele deverá ter produzido 0x05 0x00 se o servidor suportar esse método (0) ou 0x05 0xFF, se não o fizer.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.