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
Wie kann man mit C# einen Tastendruck ohne Fenster Fokus Abfragen?

Guten Tag,

Ich will mit Windows Forms ein Programm schreiben, dass einen Tastendruck abfragt und mit dem Drücken einer anderen Taste antwortet. Dies hab ich auch soweit mit KeyDown, Keys und SendKeys Hinbekommen und es Funktioniert. Jedoch soll das ganze auch funktionieren wenn man gerade nicht das Fenster im Fokus hat, also z.B. gerade in einer anderen Software ist. Kann mir da jemand helfen?

LG Stoppi

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Test_WF

{

  public interface IMessageFilter

  {

  }

  public partial class Form1 : Form

  {

    public Form1()

    {

      InitializeComponent();

      KeyPreview = true;

       

    }

    private void Form1_Load(object sender, EventArgs e)

    {

    }

    private void label1_Click(object sender, EventArgs e)

    {

      

    }

    private void Form1_KeyDown_1(object sender, KeyEventArgs e)

    {

      if (e.KeyCode == Keys.W)

      {

        SendKeys.Send("L");

      }

      if (e.KeyCode == Keys.W)

      {

        label1.Text=("W");

      }

      if (e.KeyCode == Keys.L)

      {

        label2.Text = ("L");

      }

    }

  }

}

Computer, Technik, programmieren
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.