Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: @XSStringManolo en 27 Marzo 2020, 15:34 pm



Título: Python3 Escaner de puertos.
Publicado por: @XSStringManolo en 27 Marzo 2020, 15:34 pm
Os dejo un escaner de puertos. Pones el host y los puertos. Por ejemplo:
localhost
8078-8082

Te dice que puertos están abiertos, que tipo de servicio corre. Se guardan logs de los scanneres en un archivo en la misma carpeta del script y también da salida en CSV.

Código
  1. import nmap
  2. import socket
  3. import datetime
  4. import sys
  5. import os
  6. now = datetime.datetime.now()
  7. netmap = nmap.PortScanner()
  8. remoteServer = input('Enter host:\n')
  9. try:
  10.    remoteServerIP = socket.gethostbyname(remoteServer)
  11.    portRange = input('Enter port range using - as separator:\n')
  12.    print ('-' * 60)
  13.    print ('Please wait, scanning remote host', remoteServerIP)
  14.    print ('-' * 60)
  15.    t1 = datetime.datetime.now()
  16.    netmap.scan(remoteServerIP, portRange)
  17. except KeyboardInterrupt:
  18.    print ("Ctrl+C pressed")
  19.    sys.exit()
  20.  
  21. except socket.gaierror:
  22.    print ("Couldn't resolve hostname")
  23.    sys.exit()
  24.  
  25. except socket.error:
  26.    print ("Couldn't connect to server")
  27.    sys.exit()
  28.  
  29. with open ("pScan.log", "a") as out:
  30.    for host in netmap.all_hosts():
  31.        print('Host : ' + host + '(' + netmap[host].hostname() + ')')
  32.        out.write('Host : ' + host + '(' + netmap[host].hostname() + ')\n')
  33.        print('State : %s' % netmap[host].state())
  34.        out.write('State : %s' % netmap[host].state()+"\n")
  35.        for proto in netmap[host].all_protocols():
  36.            print('----------')
  37.            out.write('----------\n')
  38.            print('Protocol : %s' % proto)
  39.            out.write('Protocol : %s' % proto+"\n")
  40.            lport = sorted(netmap[host][proto])
  41.  
  42.            for port in lport:
  43.                print('Port : %s\nState : %s' % (port, netmap[host][proto][port]['state']))
  44.                out.write('Port : ' + str(port) + '\nState  : ' + str(netmap[host][proto][port]['state'])+"\n")
  45.                print('Name : '+netmap[host][proto][port]['name'])
  46.                out.write('Name : '+netmap[host][proto][port]['name']+"\n")
  47.                temp2 = str(now.year) + "/" + str(now.month) + "/" + str(now.day) + " "  + str(now.hour) + ":" + str(now.minute) + ":" + str(now.second)
  48.                print("Date : " + temp2 + "\n\n")
  49.                out.write("Date : " + temp2 + "\n\n")
  50.    t2 = datetime.datetime.now()
  51.    total = t2 - t1
  52.    print ("Scanning completed in ", str(total))
  53.    out.write("\nScanning completed in "+ str(total)+"\n")
  54.    print('\n\nCSV:\n'+netmap.csv())
  55.    out.write('\n\nCSV:\n'+netmap.csv()+"\n")


Título: Re: Python3 Escaner de puertos.
Publicado por: W17CH3R en 27 Marzo 2020, 19:30 pm
Os dejo un escaner de puertos. Pones el host y los puertos. Por ejemplo:
localhost
8078-8082

Te dice que puertos están abiertos, que tipo de servicio corre. Se guardan logs de los scanneres en un archivo en la misma carpeta del script y también da salida en CSV.


Muchisímas gracias por el aporte, se agradece el esfuerzo y por compartirlo :)

Por cierto, hoy aprobe el curso online de Python, y decidido que lo proximo que voy a estudiar sera otro curso pero con el lenguaje que me recomendastes de javascript, pero ahora practicare con Python para ir familizandome con el codigo, tu aporte me va ayudar mucho!!  :D


Título: Re: Python3 Escaner de puertos.
Publicado por: @XSStringManolo en 28 Marzo 2020, 16:30 pm
El curso de W3schools de javascript es bastante friendly y completo.



Título: Re: Python3 Escaner de puertos.
Publicado por: W17CH3R en 28 Marzo 2020, 23:21 pm
El curso de W3schools de javascript es bastante friendly y completo.

Muchas gracias por el dato, le acabo de echar un vistazo, y es muy completa la pagina en cuanto lenguajes de programación  :o

Te lo agradezco! de verdad, muchisimas gracias!!!!  a estudiar a tope!! :D :D