Wie sende ich DNS Cookies mit dnslib?

Ich möchte mit dnslib die DNS-Antworten von den jeweiligen Anfragen mit einem DNS-Cookie versehen. Ich habe auch bereits etwas dafür in meinen Code implementiert, jedoch funktioniert das noch nicht so. Kann mir jemand sagen, was ich da brauche?

Der Code:

import socket
from dnslib import *

DNS_PORT = 53

dns_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
dns_socket.bind(('', DNS_PORT))

print(f"DNS-Server hört auf Port {DNS_PORT}...")

def dns_forward(domain):
    try:
        ip_address = socket.gethostbyname(domain)
        return ip_address
    except socket.error:
        return '185.199.111.153' #Error 404

while True:
    data, address = dns_socket.recvfrom(1024)

    dns_message = DNSRecord.parse(data)
    dns_request = str(dns_message.q.qname)
    
    dns_answer = dns_forward(dns_request)
    
    client_ip = address[0]
    client_port = address[1]

    dns_cookie = ("4096")

    if client_ip == '192.168.0.113'
        dns_response = DNSRecord(DNSHeader(id=dns_message.header.id, qr=1, aa=1, ra=1), q=dns_message.q)
        dns_response.add_answer(RR(dns_request, QTYPE.A, rdata=A(dns_answer)))
        dns_response.add_ar(RR(dns_request, QTYPE.OPT, rdata=TXT(dns_cookie)))
        dns_socket.sendto(dns_response.pack(), address)
    
    print(f"DNS-Anfrage von {client_ip} mit Port {client_port} für {dns_request} die Antwort ist {dns_answer}")

Die Fehlermeldung:

Traceback (most recent call last):
 File "c:\Users\Stoppersocke\Documents\Projects\MDM Bypass\test5.py", line 35, in <module>
  dns_socket.sendto(dns_response.pack(), address)
           ^^^^^^^^^^^^^^^^^^^
 File "C:\Users\Stoppersocke\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\dnslib\dns.py", line 339, in pack
  ar.pack(buffer)
 File "C:\Users\Stoppersocke\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\dnslib\dns.py", line 885, in pack
  for opt in self.rdata:
TypeError: 'TXT' object is not iterable
DNS, Netzwerktechnik, Programmiersprache, Python, DNS FEHLER, DNS Server, Python 3
Durschnittszeiten mit arrays in python berechnen?

Ich programmiere aktuell einen 1x1 Trainer um Programmieren zu üben/ lernen. Aktuell wird nach eingeben der Aufgabe, die Aufgabe überprüft und Richtig oder Falsch angezeigt. Darunter die benötigte Zeit für die Aufgabe.
Jetzt will ich aber statt der benötigten Zeit pro Aufgabe die Durchschnittszeit pro Aufgabe angezeigt bekommen (Am besten mit Speichern von Daten in Arrays).

Kann mir da jemand helfen?

Hier der aktuelle Code:

from random import randint

import tkinter as tk

import time

status = False

def buttonLos_clicked(event):

    global status

   

    if status == False:

        status = True

        nextTask()

def nextTask():

    global a, b, produkt, zeitanfang

    textbox.delete(0,tk.END)

    zeitanfang = time.time()

   

    a = randint(1,10)

    b = randint(1,10)

    produkt = a * b

    showTask()

def showTask():

    global a, b

   

    labelTask["text"]="Wie viel ist " + str(a) + " x " + str(b) + "?"

def checkAufgabe(event):

    global produkt, zeitanfang, zeitende

   

    antwort = int(textbox.get())

    if antwort == produkt:

        zeitende = time.time()

        labelAnswer["text"] = "Richtig"

        labelTime["text"] = round(zeitende - zeitanfang, 2)

        nextTask()

   

    else:

        labelAnswer["text"] = "Leider falsch. Probiere es nochmal"

        textbox.delete(0,tk.END)

        showTask()

root = tk.Tk()

root.title("1x1-Trainer")

labelBody1 = tk.Label(root, text="Es werden dir zufällige Aufgaben gestellt.")

buttonLos = tk.Button(root, text="Los")

labelTask = tk.Label(root)

textbox = tk.Entry(root)

labelAnswer = tk.Label(root)

labelTime = tk.Label(root)

labelBody1.pack()

buttonLos.pack()

labelTask.pack()

textbox.pack()

labelAnswer.pack()

labelTime.pack()

buttonLos.bind("<Button-1>", buttonLos_clicked)

textbox.bind("<Return>", checkAufgabe)

root.mainloop()

programmieren, Array, Programmiersprache, Python, time, benutzeroberflaeche, Python 3, Tkinter
Python Fehler bei Multiprocessing?

Hallo,

Momentan schreibe ich eine kleine Anwendung die Text sprechen soll. Mein Code:

Voice.py

from loguru import logger
import pyttsx3
import multiprocessing


class Voice():


    def __init__(self):
        import YAML
        self.process = None
        logger.debug("[CONFIG] Reading Config Data")
        self.voiceId = YAML.config['assistant']['Voice']['VoiceID']
        logger.debug("[Start] Voice initialistion")
        self.engine = pyttsx3.init()
        self.engine.setProperty('voice', self.voiceId)
        logger.debug("[Finish] Voice initialistion")


    def __speak__(self, text):
        self.engine.say(text)
        self.engine.runAndWait()
    
    def say(self, text):
        if self.process:
            self.stop()
        logger.debug("[START] Say process")
        p = multiprocessing.Process(target=self.__speak__, args=(text, ))
        p.start()
        self.process = p


    def stop(self):
        if self.process:
            self.process.terminate()
            logger.info("[STOPP] Say process")

Main.py

from loguru import logger
import Voice
logger.info("[START] ...")
self.Voice = Voice.Voice()
logger.info("...")
self.Voice.say("Initalisierung abgeschloßen")

Bei der Ausführung wird mir aber folgender Fehler ausgegeben:

Traceback (most recent call last):
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 15, in <module>
    Assistant = VoiceAssistant()
                ^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 9, in __init__
    self.Voice.say("Initalisierung abgeschloßen")
  File "C:\Users\toni-\Desktop\VoiceAssistant\Voice.py", line 26, in say
    p.start()
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\popen_spawn_win32.py", line 94, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle 'module' object
PS C:\Users\toni-\Desktop\VoiceAssistant> Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\spawn.py", line 106, in spawn_main
    source_process = _winapi.OpenProcess(
                     ^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 87] Falscher Parameter
Programmiersprache, Python, Python 3
(Python) .ts-, .pro-Dateien, QTranslator und Qt Linguist richtig verwenden?

Leider konnte mir nicht einmal ChatGPT helfen, da dieser Bot nur noch für Verwirrung gesorgt hat. Mal brauchte man eine gewisse Datei, mal nicht. Dann musste diese Datei mal dort und mal dort liegen. Auch das Recherchieren hat nicht viel gebracht.

Also, folgendes Problem:

Ich möchte QTranslator verwenden, um in meiner GUI-Anwendung, die ich mit dem Qt Designer gestalte, die ganzen Texte zu übersetzen.

Alle Texte von den ganzen beschrifteten Elementen usw. sollen in Deutsch und Englisch übersetzt werden können. Mit "lupdate -ts ..." habe ich die Quelldatei MainWindow.py analysieren lassen, um mir daraus passende .ts-Dateien erstellen zu lassen. Die MainWindow.py-Datei ist die konvertierte MainWindow.ui-Datei.

Das Ding ist nur, dass dann nicht weiter als

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="SPRACHE">
</TS>

in den .ts-Datein steht - ich weiß aber nicht, ob das falsch ist. Wenn ich aber diese Datei in Qt Linguist öffnen möchte, sagt der mir Die Übersetzungsdatei /lang/de_DE.ts ist leer und wird daher nicht geladen.

Hier ist der Baum meines Projektes, damit man mir außerdem besser weiterhelfen kann, welche Datei ich für die Übersetzung wo hinlegen soll:

In dieser de_DE.pro-Datei steht einfach nur

TEMPLATE = app
QT += core gui linguist
SOURCES += ../gui/MainWindow.py
TRANSLATIONS += translations/de_DE.ts translations/en_US.ts

drin und ich weiß immer noch nicht, ob die wirklich gebraucht wird.

Vielen Dank!

Bild zum Beitrag
programmieren, Python, GUI, Python 3, Pycharm
Text unter Bild in HTML hinzufügen?

Ich habe ein Bild. Darunter habe ich ein Text platziert. Allerdings geht der Horizontal von links nach rechts, was es auch soll. Nur soll er da anfangen, wo auch das Bild beginnt und enden, wo das Bild endet. In den zwei Bildern könnt ihr erkennen, wie es es gerade habe und nicht will und wie ich es gerne haben würde.

<!DOCTYPE html>
<html>
<head>
    <title>Film- und Serienbeschreibungen</title>
  


  <style>
    img {
        display: block;
        margin: 0 auto;
        width: 1000px;
        border-radius: 10px;
    }


    body {
        text-align: center;
    }


    p {
        
    }
  </style>
</head>
  <body>
    <img src="mrrobotscene.jpg">
    <h1>Mr. Robot - Beschreibung</h1>
    <p>Mr. Robot ist eine US-amerikanische Fernsehserie, die von Sam Esmail entwickelt wurde. Die Serie handelt von Elliot Alderson, einem jungen Programmierer, der für eine Cyber-Sicherheitsfirma arbeitet und in seiner Freizeit zum Hacker wird. Elliot leidet unter sozialen Ängsten und Depressionen und verfällt in eine Art Schizophrenie, die von seinem imaginären Freund, Mr. Robot, ausgelöst wird</p>
    
  </body>
</html>
Bild zum Beitrag
PC, Computer, Programm, HTML, Webseite, programmieren, CSS, Java, JavaScript, HTML5, Hacking, Informatik, JQuery, PHP, Programmiersprache, Python, Softwareentwicklung, Technologie, Webdesign, Webentwicklung, Visual Studio Code, Frontend-Entwicklung
ChatBot wie ChatGPT programmieren? (Einfacher)?

Hi, mein großes Projekt für dieses Jahr soll sein, einen intelligenten ChatBot zu Coden. Ähnlich wie ChatGPT, aber mit ist natürlich bewusst, dass ich einen so komplexen Bot nicht machen kann. Es soll ein kleinerer werden.

Meine Vorstellungen:

Die Oberfläche mit HTML und CSS

Die Datenbank mit SQL? (ich habe wenig Erfahrung mit Datenbanken, deshalb das Fragezeichen)

Ansonsten die Logik eventuell mit JS, aber eventuell mit etwas anderem, da man ja über JS leicht Schadsoftware injizieren kann.

Könnt ihr mir da einen Vorschlag machen?

Die Funktion habe ich mir so vorgestellt:

In einer Datenbank sind entweder Schlüsselwörter oder komplette Antworten gespeichert. Zu jedem Schlüsselwort sollen Daten gespeichert sein. Wenn in der Datenbank nur Schlüsselwörter gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.

Ein Beispiel:

Eingegebene Frage: Wer ist der Bundeskanzler von Deutschland?

(Bot Sicht spezielle Wörter im Text, z.B. Bundeskanzler und Deutschland)

in der Datenbank: Olaf Scholz (Daten zu ihm, Schlüsselwörter wann diese Antwort genutzt wird) z.B. Olaf Scholz (deutscher Kanzler, männlich, …)[Bundeskanzler+Deutschland, Olaf Scholz, Scholz]

In dem runden Klammern die Daten zu ihm, in den eckigen die Schlüsselwörter, wann die Antwort genutzt wird. Ansonsten halt vorgefertigte Antworten, die sich auch an Schlüsselwörtern in der Frage orientieren.

Wenn nur Wörter gespeichert sind, dann soll er sich einen Satz drumherum bauen.

Ich würde ihn im Browser laufen lassen, aber nicht öffentlich. Eventuell kann man ihn auch mit Google verknüpfen… auch wenn dann vermutlich die ein oder andere Antwort falsch ist. Aber das macht bei meinem nichts. Was haltet ihr davon? Wie würdet ihr es umsetzen? Welche Sprache? Eventuell ein paar Zeilen Code für bestimmte Funktionen?

LG

Programm, SQL, HTML, Programmierer, programmieren, CSS, Java, JavaScript, künstliche Intelligenz, Programmiersprache, Python, C (Programmiersprache), Chatbot, Python 3, Pygame, ChatGPT
Was soll ich alles auf Fiverr anbieten (Jugendlicher, Programmierer)?

Hi.

Also ich würde ganz gerne etwas Geld verdienen, vor allem durch's Programmieren. Problem: Ich mache meine Mittlere Reife erst in 2 1/2 Jahren, da ich durch Corona und Inkomepetenz 2. mal eine Klasse wiederholen musste.

Mir wurde mal vorgeschlagen, mich auf Fiverr zu registrieren. Jetzt frage ich mich aber, was ich am besten anbieten sollte. Ich erzähl hier einfach mal, was ich schon so für Zeug gemacht habe, damit ihr wisst, was ich so kann.

Ich hab mit folgenden Dingen schon gearbeitet (also relativ intensiv):

  • Neuronale Netzwerke (relativ "neu") [Tensorflow, Python]
  • Minecraft Plugins [Spigot API, Java]
  • Webseiten (static und und dynamic) [HTML, CSS, JavaScript, Python/PHP/C++]
  • Automatisierungen (vor allem Webseiten) [Selenium, Python]
  • Scrapper [BeatifulSoup, Python]
  • Discord API (z.B. um Daten über User zu kriegen)
  • Discord Bots [Python und Java, von Scratch und mit Library]
  • MySQL Datenbanken [Python, C#]
  • SQLite Datenbanken [Python, C#, Java]
  • WinForms [C#]
  • WPF [C#]
  • REST API's (um genau zu sein eigene gemacht und die Discord API verwendet)
  • win32.dll [Python, C++, C#]
  • YouTubeDLL [Python]
  • Spotify API (z.B. zum Song wechseln, oder Song Daten anzufragen)

Als übersicht, ich "kann" folgende Programmiersprachen (ich weiß, HTML und CSS sind keine Programmiersprachen) [Sortiert nach Skill]:

  • Python
  • C#
  • Java
  • PHP
  • HTML/CSS/JavaScript <- Alles relativ gleich gut
  • C++ (Simple Sachen, wie Web Server)

Wenn man beachtet, was ich kann. Was würdet ihr mir zum anbieten, auf Fiverr, empfehlen?

Danke im vorraus und lg.

Computer, Arbeit, Software, Technik, Geld, HTML, Webseite, Java, Jugendliche, JavaScript, Cplusplus, Minecraft, C Sharp, Freelancer, Jungs, Programmiersprache, Python, fiverr, Discord, Wirtschaft und Finanzen
python 7 segment zähler?

hallo hab den ganzen tag rumm gemacht und das ist rausgekommen:

import time
nummern = [   #mit zeilen abgrenzungen
    ["  ###  "," #   # ","#     #","#     #","#     #"," #   # ","  ###  ",],
    ["   #   ","  ##   "," # #   ","   #   ","   #   ","   #   "," ##### ",],
    ["  ###  "," #   # ","     # ","   ##  ","  #    "," #     "," ##### ",],
    ["  ###  "," #   # ","     # ","   ##  ","     # "," #   # ","  ###  ",],
    ["    #  ","   ##  ","  # #  "," #  #  "," ######","    #  ","    #  ",],
    [" ##### "," #     "," #     "," ####  ","     # "," #   # ","  ###  ",],
    ["  ###  "," #   # "," #     "," ####  "," #   # "," #   # ","  ###  ",],
    [" ##### ","     # ","    #  ","   #   ","  #    "," #     "," #     ",],
    ["  ###  "," #   # "," #   # ","  ###  "," #   # "," #   # ","  ###  ",],
    ["  ###  "," #   # "," #   # ","  #### ","     # "," #   # ","  ###  ",],]


def mache_nummer(a,b):  # ziffer 1 ziffer 2
    num_a = nummern[a]
    num_b = nummern[b]
    zähler = 0
    out = ""
    while zähler != 7 :
        out += num_a[zähler]
        out += " "
        out += num_b[zähler]
        out += "\n"
        zähler += 1
    print(out)
zähler = 0
while zähler != 10 :
    for z2 in range(0,10):
        mache_nummer(zähler,z2)
        time.sleep(1)
    zähler += 1

es gibt in 7 segment askii stile die zahlen 1 biss 99 so aus :(mach es aber jetzt nicht in ascii)

01
02
03
04
05
06
07
08
09
10
11
12
13...

will es aber soo haben :

1
2
3
4
5
6
7
8
9
10
11
12...

das man auch weiter als 99 zählen kann

hilfe?

ASCII, Python, Zähler

Meistgelesene Fragen zum Thema Python