Skip to content

Instantly share code, notes, and snippets.

@Rafiot
Created April 18, 2025 21:31
Show Gist options
  • Select an option

  • Save Rafiot/5945e1a95fcf633ccf2284827eb4a186 to your computer and use it in GitHub Desktop.

Select an option

Save Rafiot/5945e1a95fcf633ccf2284827eb4a186 to your computer and use it in GitHub Desktop.
Sync DNS resolution with dnspython and PySocks
#!/usr/bin/env python3
import socket
import socks
from dns import query, rdatatype
from dns.resolver import Resolver
# Sync resolver
socks.set_default_proxy(proxy_type=socks.SOCKS5, addr='127.0.0.1', port=25345)
query.socket_factory = socks.socksocket
r = Resolver(configure=False)
# r.nameservers = ['1.1.1.1'] # 'https://cloudflare-dns.com/dns-query', '10.2.0.1']
r.nameservers = ['10.2.0.1'] # 'https://cloudflare-dns.com/dns-query', '10.2.0.1']
response = r.resolve('google.nl', rdatatype.RdataType.A, tcp=True)
print('Pysocks:', response.response.answer)
query.socket_factory = socket.socket
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment