Jumat, 06 Mei 2016

Membuat Port Scanner Menggunakan Python

Membuat Program Python Sockets
Port scanner program yang berukuran kecil ini akan mencoba untuk connect ke seluruh port yang diinginkan ke sebuah host tertentu.

Hal yang pertama yang harus dilakukan adalah mengimport socket library dan libraries lainnyayang kita butuhkan.

buka teks editor, copy & paste code dibawah ini. Save file seperti ini:
"PortScanner.py" dan keluar dari teks editor jika ingin menjalankannya. (untuk tulisan berwarna merah bisa diganti sesuai keinginan)
import socket
import subprocess
import sys
from datetime import datetime

subprocess.call('clear', shell=True)

remoteServer    = raw_input("Enter a remote host to scan: ")
remoteServerIP  = socket.gethostbyname(remoteServer)

print "-" * 60
print "Please wait, scanning remote host", remoteServerIP
print "-" * 60

t1 = datetime.now()

try:
    for port in range(1,1025):  
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex((remoteServerIP, port))
        if result == 0:
            print "Port {}:   Open".format(port)
        sock.close()

except KeyboardInterrupt:
    print "You pressed Ctrl+C"
    sys.exit()

except socket.gaierror:
    print 'Hostname could not be resolved. Exiting'
    sys.exit()

except socket.error:
    print "Couldn't connect to server"
    sys.exit()

t2 = datetime.now()

total =  t2 - t1

print 'Scanning Completed in: ', total
Contoh Output:
Jalankan program dan liat hasil outputnya

$ python portscanner.py

Enter a remote host to scan: www.contoh_host_tujuan.com
------------------------------------------------------------
Please wait, scanning remote host xxxx.xxxx.xxxx.xxxx
------------------------------------------------------------

Port 21:   Open
Port 22:    Open
Port 23:    Open
Port 80:    Open
Port 110:   Open
Port 111:   Open
Port 143:   Open
Port 443:   Open
Port 465:   Open
Port 587:   Open
Port 993:   Open
Port 995:   Open

Scanning Completed in:  0:06:34.705170