Erreur websocket : invalid continuation byte

Hello, j’ai cette erreur dans les logs du démon. Pas de pb particulier à l’utilisation de JC à part que je n’arrive de nouveau plus à lire les vidéos enregistrées des caméras (en local ou 4G).

Jeedom Core : 4.3.10
Version JC : 1.5.1+ stable
DNS Jeedom : non
Statut Démon : Démarré - (2022-11-20 21:01:18)

Equipements :
  Tel Angel : v1.5.0 stable sur android [os : 30] (ws)
  Tel Yacine : v1.5.0 stable sur android [os : 29] (ws)
9973|Exception happened during processing of request from ('79.124.62.106', 2531)
9974|Traceback (most recent call last):
9975|File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
9976|self.finish_request(request, client_address)
9977|File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
9978|self.RequestHandlerClass(request, client_address, self)
9979|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 358, in __init__
9980|StreamRequestHandler.__init__(self, socket, addr, server)
9981|File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
9982|self.handle()
9983|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 369, in handle
9984|self.handshake()
9985|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 524, in handshake
9986|headers = self.read_http_headers()
9987|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 512, in read_http_headers
9988|http_get = self.rfile.readline().decode().strip()
9989|UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 5: invalid continuation byte

C’est grave docteur?

Hello,

ca dépend de quel côté on se place … :slight_smile:

Est ce que tu habites en bulgarie …?

  • si oui, alors il faudrait que j’investigue un peu plus … en gros l’erreur indique qu’un caractères n’est pas correctement encodé dans ce qui est reçu.
  • si non, alors visiblement qlq un essaie de se connecter chez toi. puisque l’adresse IP 79.124.62.106 semble provenir de là-bas …

Non je n’habite pas en Bulgarie, mais mon log est plein de ces erreurs avec plein d’IP différentes. Du coup je mets toutes les erreurs consécutives liées à une IP, on ne sait jamais ça sent peut être l’attaque.

9878|Exception happened during processing of request from ('167.94.138.118', 46172)
9879|Traceback (most recent call last):
9880|File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
9881|self.finish_request(request, client_address)
9882|File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
9883|self.RequestHandlerClass(request, client_address, self)
9884|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 358, in __init__
9885|StreamRequestHandler.__init__(self, socket, addr, server)
9886|File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
9887|self.handle()
9888|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 369, in handle
9889|self.handshake()
9890|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 524, in handshake
9891|headers = self.read_http_headers()
9892|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 512, in read_http_headers
9893|http_get = self.rfile.readline().decode().strip()
9894|File "/usr/lib/python3.7/socket.py", line 589, in readinto
9895|return self._sock.recv_into(b)
9896|ConnectionResetError: [Errno 104] Connection reset by peer
9897|----------------------------------------
9898|----------------------------------------
9899|Exception happened during processing of request from ('167.94.138.118', 42376)
9900|Traceback (most recent call last):
9901|File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
9902|self.finish_request(request, client_address)
9903|File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
9904|self.RequestHandlerClass(request, client_address, self)
9905|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 358, in __init__
9906|StreamRequestHandler.__init__(self, socket, addr, server)
9907|File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
9908|self.handle()
9909|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 369, in handle
9910|self.handshake()
9911|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 527, in handshake
9912|assert headers["upgrade"].lower() == "websocket"
9913|KeyError: 'upgrade'
9914|----------------------------------------
9915|----------------------------------------
9916|Exception happened during processing of request from ('167.94.138.118', 42252)
9917|Traceback (most recent call last):
9918|File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
9919|self.finish_request(request, client_address)
9920|File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
9921|self.RequestHandlerClass(request, client_address, self)
9922|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 358, in __init__
9923|StreamRequestHandler.__init__(self, socket, addr, server)
9924|File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
9925|self.handle()
9926|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 369, in handle
9927|self.handshake()
9928|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 524, in handshake
9929|headers = self.read_http_headers()
9930|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 512, in read_http_headers
9931|http_get = self.rfile.readline().decode().strip()
9932|File "/usr/lib/python3.7/socket.py", line 589, in readinto
9933|return self._sock.recv_into(b)
9934|ConnectionResetError: [Errno 104] Connection reset by peer
9935|----------------------------------------
9936|----------------------------------------
9937|Exception happened during processing of request from ('167.94.138.118', 44042)
9938|Traceback (most recent call last):
9939|File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
9940|self.finish_request(request, client_address)
9941|File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
9942|self.RequestHandlerClass(request, client_address, self)
9943|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 358, in __init__
9944|StreamRequestHandler.__init__(self, socket, addr, server)
9945|File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
9946|self.handle()
9947|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 369, in handle
9948|self.handshake()
9949|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 524, in handshake
9950|headers = self.read_http_headers()
9951|File "/var/www/html/plugins/JeedomConnect/resources/JeedomConnectd/websocket_server/websocket_server.py", line 512, in read_http_headers
9952|http_get = self.rfile.readline().decode().strip()
9953|UnicodeDecodeError: 'utf-8' codec can't decode byte 0xee in position 4: invalid continuation byte

C’est toujours les mêmes séquences mais pour des adresses différentes.

J’ai fail2ban installé sur mon serveur mais ça n’a pas l’air de le déclencher. Il y a une config à faire pour arrêter de remplir mon log avec ces erreurs, tout en gardant la possibilité de me connecter depuis l’extérieur?

La question était évidemment rhétorique :slight_smile:


une partie des erreurs disparaitra dans la prochaine version, au profil d’une ligne de log plus simple et clair que tu pourras utiliser dans fail2ban

Super merci!

Quelle réactivité, comme toujours! :ok_hand:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.