Вот пример скрипта Python, который создает простой поддельный DNS-сервер:
import socket
def fake_dns_server():
# Create a UDP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind the socket to a specific address and port
server_address = ('0.0.0.0', 53) # Replace with your desired IP address and port
server_socket.bind(server_address)
print('Fake DNS server is running...')
while True:
# Receive DNS query from the client
query, client_address = server_socket.recvfrom(4096)
# Modify the DNS response to redirect to a different IP address
modified_response = query.replace(b'\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00', b'\x01\x00\x00\x01\x00\x00\x00\x00\x00\x01')
# Send the modified DNS response back to the client
server_socket.sendto(modified_response, client_address)
print(f'Redirected DNS query from {client_address[0]}')
if __name__ == '__main__':
fake_dns_server()
Этот сценарий прослушивает DNS-запросы на порту 53 и перенаправляет их, изменяя ответ DNS. Вы можете настроить IP-адрес и порт в соответствии со своими потребностями.