Detectando se um proxy é HTTP ou SOCKS

Detectando se um proxy é HTTP ou SOCKS

Com base na longa pesquisa na rede, descobri que o SOCKS usa um protocolo de handshake para informar ao 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 podemos usar ambos também.

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

Responder1

Experimente este pequeno script python:

#!/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

Responder2

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

Por exemplo:

nmap -sV -p{port} {server}

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

https://nmap.org/book/man-version-detection.html

informação relacionada