В настоящее время я делаю туннель DNS в python, используя Scapy.Я могу отправлять пакеты просто отлично (согласно Wireshark).Проблема в том, что при прослушивании на Netcat того, на что я передаю DNS-пакеты, я получаю только первый пакет.
Я слышал, что при связывании используется UDP-соединение (из-за отсутствия лучшегослова) блокирует порт и отбрасывает все остальные пакеты с любого другого исходного порта.Однако я определил исходный порт, поэтому не уверен, что происходит.
def sendDns(incomingBytes):
print('sending packet data :\n' + incomingBytes.decode('utf-8'))
incomingBytes = base64.encodebytes(incomingBytes)
send(IP(dst=dnsServer)/UDP(dport=53, sport=12345)/DNS(qd=DNSQR(qname=incomingBytes)))