Dump program output to file

0

Good afternoon,

I am doing a program that is able to obtain certain information from two domains entered by the user. I would like to dump the information obtained in a text file and then analyze it but I am having some problems with that ..

The specific question would be where should define the creation of the file?

 # -*- encoding: utf-8 -*-

import dns.resolver
import dns.query 
import os
import sys


print" "                                       
print"___________________ INFO-SCANNER DOMAIN ___________________ "
print"                                                            "
print"                Introduzca dos dominios                     "
print"         se le mostrará la siguiente información            "
print"                                                            "
print"          IP, MailServers(MX), DNS(NS) y WHOIS              "
print"                                                            "
print"                    Ejemplo: site.com                       "
print"                                                            "
print"                 Para interrumpir Ctrl + C                  "
print" "


#Defino una funcion para la consulta DNS
def get_dns(domain):


    try:


                ansA,ansMX,ansNS=(dns.resolver.query(domain,'A', raise_on_no_answer=False),
                                  dns.resolver.query(domain,'MX', raise_on_no_answer=False),
                                  dns.resolver.query(domain, 'NS', raise_on_no_answer=False))





                print()
                print"_______________________ RESPUESTA IP _______________________ "
                print()
                print ansA.response.to_text() 
                print()
                print"_______________________ RESPUESTA MX _______________________ "
                print()
                print ansMX.response.to_text()
                print()
                print"_______________________ RESPUESTA NS _______________________ "
                print()
                print ansNS.response.to_text()
                print()



    except (dns.resolver.Timeout):
        print("Tiempo de espera superado.. = "+domain)
        print()

    except (dns.resolver.NXDOMAIN):
        print("No se encuentra el dominio = "+domain)
        print()

    except (dns.resolver.NoAnswer):
        print("No hay respuesta = "+domain)
        print()


#defino funcion para crear archivo
def output(f)
    orig_stdout = sys.stdout
    f = open('out.txt', 'w')
    sys.stdout = f
    sys.stdout = orig_stdout
    f.close()


#Defino una funcion para whois
def get_whois(domain):
    command = "whois " + objetivo_1
    process = os.popen(command)
    results = str(process.read())
    print()
    print"_______________________ WHOIS "+domain+" _______________________ "
    print()

try:
    objetivo_1 = raw_input("# Escribe el Dominio_1: ")
    domain = objetivo_1
    get_dns(domain)
    #get_whois(domain)


    objetivo_2 = raw_input("# Escribe el Dominio_2: ")
    domain = objetivo_2
    get_dns(domain)
    #get_whois(domain)



except KeyboardInterrupt:
    print()
    print(" Interrupción recibida, parando…")
    
asked by Victor 07.10.2017 в 16:04
source

2 answers

0

Well ... I solved it in the following way .. I still need some touch-ups but it's almost ready ..

   # -*- encoding: utf-8 -*-

import dns.resolver
import dns.query 
import os
import sys


print" "                                       
print"___________________ INFO-SCANNER DOMAIN ___________________ "
print"                                                            "
print"                Introduzca dos dominios                     "
print"         se le mostrará la siguiente información            "
print"                                                            "
print"          IP, MailServers(MX), DNS(NS) y WHOIS              "
print"                                                            "
print"                    Ejemplo: site.com                       "
print"                                                            "
print"                 Para interrumpir Ctrl + C                  "
print" "


#Defino una funcion para la consulta DNS
def get_dns(domain):


    try:


                ansA,ansMX,ansNS=(dns.resolver.query(domain,'A', raise_on_no_answer=False),
                                  dns.resolver.query(domain,'MX', raise_on_no_answer=False),
                                  dns.resolver.query(domain, 'NS', raise_on_no_answer=False))





                print()
                print"_______________________ RESPUESTA IP _______________________ "
                print()
                print ansA.response.to_text() 
                print()
                print"_______________________ RESPUESTA MX _______________________ "
                print()
                print ansMX.response.to_text()
                print()
                print"_______________________ RESPUESTA NS _______________________ "
                print()
                print ansNS.response.to_text()
                print()     


                f = open('out.txt', 'a' )
                f.write("_______________________ "+domain+" ________________________" + '\n') 
                f.write(ansA.response.to_text() + '\n' )
                f.write(ansMX.response.to_text() + '\n')
                f.write(ansNS.response.to_text() + '\n')
                f.close()



    except (dns.resolver.Timeout):
        print("Tiempo de espera superado.. = "+domain)
        print()

    except (dns.resolver.NXDOMAIN):
        print("No se encuentra el dominio = "+domain)
        print()

    except (dns.resolver.NoAnswer):
        print("No hay respuesta = "+domain)
        print()


#defino funcion para crear archivo
'''def output(f):
    orig_stdout = sys.stdout
    f = open('out.txt', 'w')
    sys.stdout = f
    sys.stdout = orig_stdout
    f.close()'''


#Defino una funcion para whois
def get_whois(domain):
    command = "whois " + objetivo_1
    process = os.popen(command)
    results = str(process.read())
    print()
    print"_______________________ WHOIS "+domain+" _______________________ "
    print()



try:
    objetivo_1 = raw_input("# Escribe el Dominio_1: ")
    domain = objetivo_1
    get_dns(domain)
    #get_whois(domain)


    objetivo_2 = raw_input("# Escribe el Dominio_2: ")
    domain = objetivo_2
    get_dns(domain)
    #get_whois(domain)


except KeyboardInterrupt:
    print()
    print(" Interrupción recibida, parando…")
    
answered by 08.10.2017 в 02:02
0
 f = open('out.txt', 'a' )
 f.write("_______________________ "+domain+" ________________________" + '\n') 
 f.write(ansA.response.to_text() + '\n' )
 f.write(ansMX.response.to_text() + '\n')
 f.write(ansNS.response.to_text() + '\n')
 f.close()
    
answered by 08.10.2017 в 02:07