Основываясь на долгом поиске в сети, я узнал, что SOCKS использует протокол квитирования для информирования прокси-программного обеспечения о соединении, которое пытается установить клиент, и затем действует максимально прозрачно, тогда как HTTP-прокси может интерпретировать и переписывать заголовки. , И мы можем использовать оба.

То, что я хочу знать, как мы можем найти, если прокси HTTP, SOCKS4, SOCKS4a или SOCKS5? Есть ли способ узнать? И я могу предположить, что мы не можем отличить его по номеру порта, потому что для каждого из типов доступно много номеров портов. Пожалуйста, помогите мне отличить прокси на основе HTTP или SOCKS.

2 ответа2

0

Вы можете попробовать использовать инструмент 'nmap', чтобы попытаться определить версию службы на этом порту.

Например: nmap -sV -p {порт} {сервер}

В приведенном ниже примере вы можете видеть, что это HTTP (против SOCKS) прокси:

my-desktop ~ # nmap -sV -p8080 192.168.3.40

Запуск Nmap 6.40 ( http://nmap.org ) в 2016-02-23 10:46 Отчет о сканировании CST Nmap для 192.168.3.40 Хост работает (задержка 0,00036 с). ВЕРСИЯ ГОСУДАРСТВЕННОГО СЕРВИСА ПОРТА 8080/tcp open http-proxy Squid http proxy 3.3.8

Обнаружение службы выполнено. Пожалуйста, сообщайте о любых неверных результатах на http://nmap.org/submit/ . Nmap выполнено: 1 IP-адрес (1 хост) сканируется за 7,45 секунд

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

0

Попробуйте этот маленький скрипт на 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .