-1

Using Python, is there a way using psutil or something else to return the output of "ipconfig /displaydns" or something similar?

Spawning a cmd process and running the command is not an option.

user1314011
  • 153
  • 2
  • 5
  • 12

3 Answers3

0

To execute a command, you can use the os library. Executing the command you've shown above is as simple as:

import os
os.system('ipconfig /displaydns')

If you want to store the output of a command in a variable, you can use:

x = os.popen('ipconfig /displaydns')
Daniel O'Brien
  • 345
  • 4
  • 11
0

You can try using dnspython's resolver class, which has a nameservers list attached to it.

import dns.resolver
resolver = dns.resolver.Resolver()
resolver.nameservers
# Returns ['8.8.8.8', '8.8.4.4', '8.8.8.8'] on my pc
0

This python script I made creates a directory in widows user profile and copies windows dns information into a log.txt,So if directory does not exist it will create it. Hope it works for you.

#!/usr/bin/env python3


import time
import os

def dns():

    path = os.system("ipconfig /displaydns >> %USERPROFILE%\DNS\logdns.txt")
    if path == False:

    
   
        os.system("ipconfig /displaydns >> %USERPROFILE%\DNS\logdns.txt")
        print("Please wait copying information........")
        time.sleep(5 )
        os.system("cls")
        print("Information copy complete.")
        time.sleep(3)
    

    else:

       

         print("Making directory please wait a second....")
         time.sleep(5)
         os.system("cls")
         os.system("mkdir %USERPROFILE%\DNS")
         time.sleep(1)
         dns()
        
dns()
ScottC
  • 3,941
  • 1
  • 6
  • 20
James
  • 1