• XSS.stack #1 – первый литературный журнал от юзеров форума

[EXAMPLE] SOCKS4\SOCKS5 python checker

Guron_18

floppy-диск
Пользователь
Регистрация
13.12.2018
Сообщения
1 420
Решения
2
Реакции
2 325
Пример чекера проксей SOCKS4 и SOCKS5 по сокетам на питоне.
Проверяем тип прокси и валид всего двумя байтами.

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()

Прикрутил многопоток и наговнокодил

Почитать чо как
 
Последнее редактирование:
Вот и ошибка
data_socket4 = struct.pack('BBH', 0x05, 0x01, port)
заменить на (для этой версии протокола)
data_socket4 = struct.pack('BBH', 0x04, 0x01, port)
 
А зачем multiprocessing если намного быстре асинхронно?
 
А зачем multiprocessing если намного быстре асинхронно?
я не кодер я хз. по сути изменить 2 строки. Тем более пример заключается совсем не в этом.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх