Пример чекера проксей SOCKS4 и SOCKS5 по сокетам на питоне.
Проверяем тип прокси и валид всего двумя байтами.
Прикрутил многопоток и наговнокодил
pastebin.com
Почитать чо как
ru.wikipedia.org
Проверяем тип прокси и валид всего двумя байтами.
Python:
# Задаем хост и порт прокси к которому нужно произвести подключение
host = 'localhost'
port = 9150
# Создаем пакет байтов который будет отослан на прокси
data_socket5 = struct.pack('BBB', 0x05, 0x01, 0x00)
# Для SOCKS4 надо указать порт подключения
data_socket4 = struct.pack('BBH', 0x05, 0x01, port)
# Создаем и указываем тип подключения
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Устанавливаем таймаут в секундах
s.settimeout(15)
# Подключаемся
s.connect((host, port))
# Отсылаем данные
s.sendall(data_socket5)
# Получаем ответ от сервера
response = s.recv(2)
# Проверяем ответ (5 - это версия прокси, 0 - авторизация не требуется), если \x05\x00 то все отлично
if response == b'\x05\x00':
print(f'SOCKS5: {host}:{port}')
# Если мы посылаем data_socket4,
# то сервер должен вернуть NULL BYTE (нул байт).
if response == b'':
print(f'SOCKS4: {host}:{port}')
# Закрываем соединение
s.close()
Прикрутил многопоток и наговнокодил
SOCKS4\SOCKS5 python checker - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Почитать чо как
SOCKS — Википедия
Последнее редактирование: