Ankündigung

Einklappen
Keine Ankündigung bisher.

Smarthome NG - Plugin um Kaco Blueplanet Hybrid 10.0 tl3 auszulesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Smarthome NG - Plugin um Kaco Blueplanet Hybrid 10.0 tl3 auszulesen

    Hallo,

    ich bin neu hier und habe SH NG bei mir auf einem raspberry pi laufen --> einfach klasse, was ihr da auf die Beine gestellt habt.

    Ich versuche, meinen Wechselrichter ber plugin auszulesen und mir die Daten in SH NG anzeigen zu lassen.

    Um der Frage vorzubeugen: Nein, der Kaco Blueplanet Hybid kann kein ModBus. Es handelt sich um ein proprietäres TCP/IP-Protokoll, dass der Wechselrichter spricht und die Daten in einer Win-APP anzeigen kann. Den Datenverkehr habe ich "geknackt" und mir ein python Programm unter Windows (bitte nicht schimpfen, aber ich bin kein "Linux-Kind", Windows war für mich am einfachsten) geschrieben, dass mir die Daten ausliest (das sieht dann so aus, wie im Screenshot zu sehen).

    Ich verwende die Scapy-Lib, um den WR per TCP anzupingen und die Daten, die dieser dann auf den Bus packt zu lesen und zu übersetzen.
    Nun habe ich versucht, den Code in ein Plugin zu integrieren und scheitere auf voller Linie. Ich mache beim Aufruf der scapy-Befehle irgendetwas falsch. Ich blicke es aber nicht - was auch daran liegen mag, dass ich im Programmieren sehr unerfahren bin :-(
    Scapy habe ich installiert und im requirements.txt steht es drin.

    Wenn ich das plugin __init__.py um die Funktionsaufrufe, die die scapy-Befehle beinhalten, reduziere, läuft das Plugin sauber durch und ich kann in der Visu statische Werte (irgendwelche Werte, die ich den Variablen zuweise) anzeigen.


    Die Ausgabe im Log-Bildschirm sieht so aus ( send_packet_init​ beinhaltet den "sr1()-Befehl" und dabei klemmt es dann 😥):

    2024-05-12 15:14:56 ERROR plugins.ek_kaco.poll_device Method plugins.ek_kaco.poll_device exception: [Errno 1] Die Operation ist nicht erlaubt
    > Traceback (most recent call last):
    > File "/usr/local/smarthome/lib/scheduler.py", line 690, in _task
    > obj()
    > File "/usr/local/smarthome/plugins/ek_kaco/__init__.py", line 246, in poll_device
    > (response_flag, ack_number, seq_number, window_length, combined_bytes)=self.send_packet_init(self.src_ip, self.src_port, self.dst_ip, self.dst_port, self.tcp_options, self.window_size, self.payload)
    > File "/usr/local/smarthome/plugins/ek_kaco/__init__.py", line 568, in send_packet_init
    > sr1(tcp_packet, timeout=1, verbose=0)
    > File "/home/smarthome/.local/lib/python3.9/site-packages/scapy/sendrecv.py", line 663, in sr1
    > ans, _ = sr(*args, **kargs)
    > File "/home/smarthome/.local/lib/python3.9/site-packages/scapy/sendrecv.py", line 650, in sr
    > s = conf.L3socket(promisc=promisc, filter=filter,
    > File "/home/smarthome/.local/lib/python3.9/site-packages/scapy/arch/linux.py", line 484, in __init__
    > self.ins = socket.socket(
    > File "/usr/lib/python3.9/socket.py", line 232, in __init__
    > _socket.socket.__init__(self, family, type, proto, fileno)
    > PermissionError: [Errno 1] Die Operation ist nicht erlaubt​

    Hat jemand einen Rat für mich? 1000 Dank vorab.


    grafik.png

    #2
    Moin Ebsele,

    das sieht nach einem Berechtigungsproblem aus. shNG verwendest Du mit dem User „smarthome“. D.h. für alle Zugriffe, die Du neu einrichtest, muss dieser User autorisiert werden.

    Zunächst einmal muss Dein eigenes Script in einem Ordner liegen, der dem User gehört, bzw. einer Gruppe, in der der User Mitglied ist. Das kannst Du mit dem Befehl „chown …“ erreichen. Zudem muss der User Lese- und Schreibrechte in diesem Ordner haben („chmod“). Der Befehl „ls -l“ zeigt Dir Ordner und Dateien mit den jeweiligen Rechten an.

    Die Installation von scapy solltest Du shNG überlassen. Das sucht sich beim Neustart die requirements aller Plugins und installiert diese. Alternativ kann das manuell mit pip und der Option —user gemacht werden wie in der Komplettanleitung beschrieben.

    Gruß
    Wolfram

    Kommentar


      #3
      Hallo,

      ich habe zunächst an einen Berechtigungsproblem nicht bezüglich der Dateien, sondern bezüglich des Netzwerk zugriffes gedacht...
      Denn da passiert ja der Fehler nicht beim Lesen einer Datei.
      Allerdings hat smart home ja normalerweise diese Rechte....

      Wie auch immer:
      Ich denke, wichtig ist, dass du das Paket ordentlich installiert hast.
      Ich würde deshalb zunächst versuchen, das Skript unverändert an der kommandozeile auf dem raspi zu starten.

      Wenn das funktioniert, würde ich entweder das executor Plugin oder eine Logik verwenden, um es zu starten. Beides hat den Vorteil, dass du kein Problem mit den dateiberechtigungen hast und dass du smart home nicht neu starten musst, wenn du Veränderungen an dem Skript durchführst,.

      Wenn es nicht an deinem stolz kratzt, kannst du es natürlich auch permanent in einer logik statt in einem Plugin laufen lassen.

      Kommentar


        #4
        Hallo wvhn und henfri,

        Danke für Eure Ratschläge. Sie klingen beide vielversprechend und ich werde sie am Wochenende ausprobieren und hoffentlich bald hier eine Erfolgsmeldung posten 😉

        Grüße
        Ebsele

        Kommentar


          #5
          Hallo wvhn und henfri,

          Eure Tipps haben mich weiter gebracht. Danke nochmal dafür!

          Tatsächlich ist es ein Rechte-Thema.
          Ich habe mein Verzeichnis mit Euren Tipps auf die Berechtigungen geprüft und geändert, aber es lief dennoch nicht. Auch habe ich scapy noch mal manuell deinstalliert und es durch SH NG automatisch installieren lassen. Leider ohne Erfolg.

          Am Ende brauchen die scapy-Funktionen wohl root Rechte und es scheint so, als wären die seitens SH NG nicht vorhanden, auch nicht nach der Installation der scapy lib durch SH NG.
          Daher habe ich versuchsweise auf dem raspberry für alle Nutzer scapy installiert UND habe dann mein Script mit sudo-Rechten laufen lassen: —> keine Fehlermeldungen, das Script lief durch.

          Es gibt scheinbar auf Git eine lib namens scapy-unroot, mit der das Problem umgangen werden kann, aber das habe ich noch nicht zum Laufen gebracht (da komme ich mit meinen bescheidenen Linux Kenntnissen leider an meine Grenzen 😢).

          Weiß von Euch jemand, wie ich SH NG dazu bringen kann, das Rechteproblem zu umgehen? Vielleicht nutzt ja bereits ein anderes Plugin scapy-Befehle, aber da habe ich leider (noch) keinen detaillierten Überblick.

          Viele Grüße
          Ebsele

          Kommentar


            #6
            Der Raw Zugriff auf sockets benötigt wohl die Root Rechte. Evtl. hilft dir dieser Beitrag weiter.

            Kommentar


              #7
              Danke für den Tipp.
              Am Ende hat mich es etwas verunsichert, die Rechte so zu vergeben wie hier (https://stackoverflow.com/questions/...f-without-root) angegeben.

              Ich bin den kleinen Umweg via "scapy-unroot" gegangen und mit chatGPT als Hilfe hat auch die Konfig per Kommandozeile geklappt.
              Das kleine Testscript:
              #test_scapy.py
              from scapy.all import *
              sniff(prn=lambda x: x.summary(), count=10)

              ist mit dem Aufruf
              > python test_scapy.py
              auch ohne "sudo" erfolgreich durchgelaufen 🙏

              Jetzt kann ich mich daran machen, das plugin zum Laufen zu bringen ...

              Kommentar


                #8
                Das Plugin läuft nun.
                Ich habe aber tatsächlich mit scapy unter Linux nach wie vor Probleme gehabt. Daher habe ich es mit den Befehlen in der socket-Library umgesetzt.

                Jetzt hätte ich nur noch 2 Fragen.
                Wie bekomme ich die Files auf dev und wer könnte es -außer mir- testen. Es müsste sich halt jemand mit dem kaco-Wechselrichter finden, der auch interessiert wäre.

                Viele Grüße

                Kommentar


                  #9
                  In dev bekommst Du es in dem Du
                  a) den üblichen github Weg beschreitest:
                  Plugin Repository forken, lokal clonen, Änderungen lokal einpflegen (commit), dann in Deinen Fork pushen und von dort einen PR stellen.

                  Oder
                  B) Du suchst Dir jemand der die Plugins pflegen kann, schickst ein ZIP File, derjenige schaut sich das an und stellt noch die eine oder andere Frage und schiebt das ganze dann in develop.

                  Wichtig wäre eine vernünftige Dokumentation (userdoc.rst)
                  Gerne - wenn möglich - ein Webinterface für das Plugin.
                  Dann noch einen Support Thread im Forum einrichten und den in der Plugin.yaml hinterlegen.

                  Kommentar


                    #10
                    Hallo Ebsele,
                    habe seit einen paar Tagen einen Kaco Blueplanet Hybrid 10.0 tl3 mit Batterie bei mir am laufen und suche nach einer Lösung an die Daten des WR zu kommen.

                    Außer der openEMS-Lösungen und der Möglichkeit den WR per RS485 auszulesen https://kaco-newenergy.com/index.php...aa4dd67ba3934e, habe ich bis auf deinen Post nichts brauchbares gefunden.

                    Ich habe mir gerade die Kommunikation zwischen WR und hy-sys mit WireShark angeschaut, Hut ab das du da einen Ansatzt gefunden hast - das waren sicher ettliche Stunden.

                    Gerne würde ich dich bei der Umsetzung (programmieren/dokumentieren) und dem Testen unterstützen.

                    Gruß
                    Alex



                    Kommentar


                      #11
                      Hallo StaLex,

                      habe Dir ne PN mit meinem Code geschrieben. Es würde mich super freuen, wenn wir es bei Dir zum Laufen bekommen.

                      Wichtige Info, weil ich an einer Stelle noch nicht weiter gekommen bin:
                      Die Infos, die ich auslese, beschränken sich auf die Daten, die der Kaco auch ohne "Anmeldung" als User oder als Manager sendet. Ein Beispiel: die Temperatur des WR versendet der Kaco nur via TCP, wenn man sich auch als Manager am Kaco anmeldet. Aus Sicht des Herstellers natürlich sinnvoll, weil nicht nutzlos Daten versendet werden, sondern nur bei konkretem Bedarf. Für mich und ggf. andere Nutzer halt doof :-(
                      Anderes Beilspiel: Wenn eine Batterie am Kaco hängt, dann kommen die Batteriedaten wie SOH und Temperaturen halt leider nicht mit, sondern "nur" der SOC. Daher habe ich mir ein einfaches BYD-HVS-Plugin dafür geschrieben, mit dem ich direkt die Daten über die BYD-Schnittstelle auslese (es gibt bei SHNG auch ein fertiges plugin für die BYD, aber das habe ich zu spät gesehen )

                      Viele Grüße
                      Ebsele

                      Kommentar


                        #12
                        Hallo Ebsele (und hallo bmx und StaLex),
                        bin ganz neu hier und freudig überrascht. Bei mir läuft besagter Kaco Blueplanet Hybrid 10.0 tl3 mit BYD Akku und 10 kWp mit Notstromlizenz seit Febr. 2023. Das Gerät entsprach genau meinen Anforderungen. Meine ungläubigen Blicke bei der Inbetriebnahme galten einzig dem fehlenden Web-Interface. Seit dem suche ich nach einer Lösung um an die Daten zu kommen: Die offiziellen Angebote sind alle bekannt. Meine aktuelle Lösung: Ein Windows thin client betreibt die Win-App und ich kann dann über einen Remote-Desktopclient auf Android auf die App zugreifen. Ebsele, deine Lösung läßt meine Lösung wie einen kompletten Irrweg aussehen. :-) Zum Punkt: die Frage ist, wie kann ich mich beteiligen? Allerdings habe ich Scapy noch nicht mal gekannt. Wo finde ich den Anfang um ins Spiel kommen? Da benötige ich Hilfe..

                        Gruß Arnold​

                        Kommentar


                          #13
                          Hallo ArniG,

                          willkommen im Club
                          1. Zunächst kann ich Dir sagen, dass jeder Weg okay ist, sofern er Deine Erfordernisse erfüllt. Ich finde das hier in dem Forum total klasse, denn die "Cracks" machen niemandem einen Vorwurf, nur, weil er neu ist oder einen anderen Weg gegangen ist. Das macht dann einfach super viel Spaß und man sucht gemeinsam nach Lösungen und verzichtet auf oberlehrerhafte Posts. Sehr erfrischend und konstruktiv.
                          2. StaLex hat meinen Weg bei seinem Kaco kürzlich getestet und - anders als ich mit einem SHNG-Plugin- das Skrpt um einen MQTT-Broker ergänzt. Soweit ich verstanden habe, nurtzt er seine Lösung nicht mit SHNG. Er hat mir total geholfen, weil ich zunächst nicht wusste, ob meine Lösung ausschließlich mit meinem WR funktioniert. Was ich aus meinem PN-Ping-Pong rauslesen konnte, ist er ein sehr versierter Coder und kann uns ebenfalls bei Problemen helfen. Was die wichtige Erkenntnis aus seinem Testing ist: Der Weg funktioniert nicht nur mit meinem WR, sondern auch mit seinem --> wir haben daher einen allgemein funktionierenden Zugang zum Kaco BluePlanet hergestellt.
                          3. Meine Empfehlung wäre, dass Du das im Anhang befindliche Skript einfach mal (entweder unter LNX oder WIN testest). Das ist einfacher, weil Du zunächst nicht die SmartHomeNG-Hürden nehmen musst. Ist das Python-Programm von mir gut programmiert? Nein, ist es sicher nicht - ich habe mich ja schon als Python-Neuling weiter oben geoutet ;-) Aber es ist geeignet, den Zugang zu testen. Mehr brauchen wir im Moment nicht.
                          4. Wenn das bei Dir funktioniert, helfe ich Dir bei einem SHNG-Plugin gerne.

                          Anleitung:
                          - Entpacken
                          - Im Pyton Programm in den Zeilen 128 und 129 Deine IP-Adressen von Rechner und WR eintragen. Achtung: Die müssen im gleichen Subnetz liegen.
                          - dann unter win in einer Powershell ausführen (oder in LNX). Die Ausgabe sollte dann ungefähr so aussehen wie ganz oben hier im Thread.

                          Da ich nicht weiß, welche Kenntnisse Du hast: Bitte einfach melden, wenn Du nicht weiter kommst.

                          Viele Grüße
                          Ebsele

                          Nachtrag zu Deiner Scapy-Frage: scapy brauche ich nicht mehr. Anfänglich diente mir Scapy dazu, den Datenverkehr zwischen Quelle und Ziel genauer zu verstehen und nachzubilden. Ich löse es nun mit der "socket-lib" - viel robuster und einfacher.

                          Angehängte Dateien
                          Zuletzt geändert von Ebsele; 27.07.2024, 18:03.

                          Kommentar


                            #14
                            Moin Ebsele, ich hab mal send_request_V16_socket_int.py ausgeführt.

                            Zuvor habe ich:
                            - src_ip = die IP meines Rechners eingetragen
                            - dst_ip = die IP des Kaco's eingetragen
                            - pip install scapy
                            - pip install --upgrade cryptography
                            - PowerShell Console (run as admin)
                            - Python 3.9

                            Code:
                            WARNING: No libpcap provider available ! pcap won't be used
                            ERROR: Loading module scapy.layers.dcerpc
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\dcerpc.py", line 31, in <module>
                                from scapy.layers.ntlm import NTLM_Header
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.dot11
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\dot11.py", line 65, in <module>
                                from cryptography.hazmat.primitives.ciphers import Cipher, algorithms
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\ciphers\__init__.py", line 11, in <module>
                                from cryptography.hazmat.primitives.ciphers.base import (
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\ciphers\base.py", line 10, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.ipsec
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\ipsec.py", line 161, in <module>
                                from cryptography.exceptions import InvalidTag
                              File "C:\Python39\lib\site-packages\cryptography\exceptions.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.ldap
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\ldap.py", line 33, in <module>
                                from scapy.layers.ntlm import NTLM_Client
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.mspac
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\mspac.py", line 38, in <module>
                                from scapy.layers.dcerpc import (
                              File "C:\Python39\lib\site-packages\scapy\layers\dcerpc.py", line 31, in <module>
                                from scapy.layers.ntlm import NTLM_Header
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.ntlm
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.smb
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\smb.py", line 42, in <module>
                                from scapy.layers.gssapi import (
                              File "C:\Python39\lib\site-packages\scapy\layers\gssapi.py", line 57, in <module>
                                from scapy.layers.ntlm import (
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.smb2
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\smb2.py", line 52, in <module>
                                from scapy.layers.gssapi import GSSAPI_BLOB
                              File "C:\Python39\lib\site-packages\scapy\layers\gssapi.py", line 57, in <module>
                                from scapy.layers.ntlm import (
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.smbclient
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\smbclient.py", line 11, in <module>
                                from scapy.layers.ntlm import (
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            ERROR: Loading module scapy.layers.smbserver
                            Traceback (most recent call last):
                              File "C:\Python39\lib\site-packages\scapy\main.py", line 156, in _load
                                mod = importlib.import_module(module)
                              File "C:\Python39\lib\importlib\__init__.py", line 127, in import_module
                                return _bootstrap._gcd_import(name[level:], package, level)
                              File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                              File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                              File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                              File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                              File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                              File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                              File "C:\Python39\lib\site-packages\scapy\layers\smbserver.py", line 13, in <module>
                                from scapy.layers.ntlm import (
                              File "C:\Python39\lib\site-packages\scapy\layers\ntlm.py", line 74, in <module>
                                from cryptography.hazmat.primitives import hashes, hmac
                              File "C:\Python39\lib\site-packages\cryptography\hazmat\primitives\hashes.py", line 9, in <module>
                                from cryptography.hazmat.bindings._rust import openssl as rust_openssl
                            ImportError: DLL load failed while importing _rust: The specified procedure could not be found.
                            data_stream nr.:  data_1
                            data_stream nr.:  data_2
                            data_stream nr.:  data_3
                            Traceback (most recent call last):
                              File "C:\Users\a\Desktop\kaco_py\send_request_V16_socket_int\send_request_V16_socket_int.py", line 195, in <module>
                                combined_bytes_1 = client.recv(BUFFER_SIZE)
                            socket.timeout: timed out​
                            Ich kenne scapy gar nicht, weshalb ich nicht weiß was hier das Probleme ist. ChatGPT wusste auch nucht wirklich eine Antwort.

                            Kommentar


                              #15
                              Hast Du evtl. vergessen NPCAP zu installieren bevor Du scapy installiert hast? Steht zumindest so auf der Seite von scapy.

                              Kommentar

                              Lädt...
                              X