Ошибка Socketio: @sio.event AttributeError: у объекта ‘Client’ нет атрибута ‘event’

#websocket #socket.io #python-socketio

#websocket #socket.io #python-socketio

Вопрос:

итак, я пишу код soem для вызова ctf, и в основном я использую socketio для связи с поддельной внутренней сетью, но когда я запускаю следующий код с помощью python3 bridge.py locked_out.logicdata, я получаю следующую ошибку: Ошибка Socketio: ошибка атрибута @sio.event: объект ‘Client’ не имеетатрибут ‘event’. Кто-нибудь знает, почему это может быть? Приветствия!

 #!/usr/bin/python3

'''
Use this script to connect to the Cars network and send your packets. 

A URL must be added bellow in order to connect.

You can either use it as a commandline tool and give the packet as an argument or
change the script to fit your needs
'''

import socketio
import time
import sys

# Insert here provided URL
URL = 'http://some_url_for_ctf_challenge' 

# Init socket
sio = socketio.Client()


@sio.event
def connect():
    print('[!] connection established')

@sio.event
def disconnect():
    print('disconnected from server')


print("[!] Connecting to server..")

# Connect to the network
sio.connect(URL) 

# Give the packet as an argument
packet = sys.argv[1]


# Do NOT remove - Use sleep to not flood the network
time.sleep(0.1) 

print("[!] Sending packet")

# Send data into the network
sio.emit('endpoint', packet)


# close connection
sio.disconnect() 
  

Комментарии:

1. Добавьте вывод pip freeze к вашему вопросу, чтобы я мог видеть, какие пакеты вы установили.

2. на самом деле, когда я переместил свои файлы за пределы папки downloads (я на macOS), все начало работать отлично! Похоже, что он не смог получить доступ к модулю python из папки downloads. Вы знаете, почему это может быть?

3. Да, у вас, вероятно, был socketio.py файл, который скрывал socketio пакет.