Detectando se um proxy é HTTP ou SOCKS

0

Com base na longa pesquisa na net, soube que o SOCKS usa um protocolo de handshake para informar o software proxy sobre a conexão que o cliente está tentando fazer e, então, age da forma mais transparente possível, enquanto um proxy HTTP pode interpretar e reescrever cabeçalhos. E nós também podemos usar os dois.

O que eu quero saber é, como podemos descobrir se o proxy é HTTP, SOCKS4, SOCKS4a ou SOCKS5? Existe alguma maneira de descobrir? E eu posso adivinhar que não podemos diferenciá-lo com base no número da porta porque há muitos números de porta disponíveis para cada um dos tipos. Por favor me ajude a diferir o proxy baseado em HTTP ou SOCKS.

    
por yasmuru 19.08.2013 / 12:57

2 respostas

0

Experimente este pequeno script python:

$ cat get_version.py 
#!/usr/bin/python

import struct
import socket
import sys


try:
        server = sys.argv[1]
        port = sys.argv[2]
except:
        print "Usage: server port"

try:
        sen = struct.pack('BBB', 0x05, 0x01, 0x00)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect(( server , int( port )  ))
        s.sendall(sen)
        data = s.recv(2)
        s.close()
        version, auth = struct.unpack('BB', data)
        print 'server : port  is  ', server, ':', port, '; varsion: ', version
except Exception as e:
        print e
    
por 01.09.2013 / 00:38
0

Você pode tentar usar a ferramenta 'nmap' para tentar detectar a versão do serviço nessa porta.

Por exemplo: nmap -sV -p {port} {servidor}

No exemplo abaixo, você pode ver que é um proxy HTTP (versus SOCKS):

my-desktop ~ # nmap -sV -p8080 192.168.3.40

Starting Nmap 6.40 ( http://nmap.org ) at 2016-02-23 10:46 CST Nmap scan report for 192.168.3.40 Host is up (0.00036s latency). PORT STATE SERVICE VERSION 8080/tcp open http-proxy Squid http proxy 3.3.8

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 7.45 seconds

link

    
por 23.02.2016 / 18:04