22 lines
778 B
Python
22 lines
778 B
Python
import urllib.request
|
|
import urllib.parse
|
|
import ssl
|
|
import json
|
|
import http.client
|
|
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
|
|
def do_req(ip, host_header, path):
|
|
conn = http.client.HTTPSConnection(ip, 443, context=ctx, timeout=8)
|
|
conn.request("GET", path, headers={"Host": host_header})
|
|
resp = conn.getresponse()
|
|
data = resp.read().decode('utf-8')
|
|
conn.close()
|
|
return json.loads(data)
|
|
|
|
token = do_req("140.44.4.62", "dns2.snarfnet.net", "/api/user/login?user=admin&pass=snarfnetadmin&includeInfo=true")['token']
|
|
zone_data = do_req("140.44.4.62", "dns2.snarfnet.net", f"/api/zones/records/get?token={token}&zone=snarfnet.net&domain=pihole1.snarfnet.net")
|
|
print("pihole1 records on dns2:\n", zone_data)
|