Selasa, 13 Januari 2015

Oprek2 python ke-5

Sekarang kita belajar contoh-contoh python untuk scanning port, semoga bisa di ikuti ya ;)
Ok langsung saja kita mulai, seperti berikut.

Contoh di bawah ini, kita mencoba untuk scanning port dari suatu target IP address dengan menggunakan socket di python.

Simpan nama file portscanner.py
#!/usr/bin/python
import socket

target = input("Masukan IP address: ")
portrange = input("Masukan range port (ex: 1-10): ")

lowport = int(portrange.split('-')[0])
highport = int(portrange.split('-')[1])

print ("Scanning host ", target, "from port ", lowport, " to port ", highport)

for port in range(lowport, highport):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    status = s.connect_ex((target, port))

    if (status == 0):
        print("Port ", port, "- open")
    else:
        print("Port ", port, "- closed")
    s.close()


Hasil skrinsut nya dari coding di atas sebagai berikut:



Di atas tampak jika socket kita bisa mendeteksi port mana saja yang terbuka dan tertutup.

Ok cukup sampe disini dulu belajar mengenali  cara kerja socket untuk scanning port ;)
Semoga sedikit mulai paham dengan cara kerja socket :D

Oprek2 python ke-4

Sekarang kita belajar contoh-contoh python yang berhubungan dengan socket dan cara kerja nya, semoga bisa di ikuti ya ;)
Ok langsung saja kita mulai, seperti berikut.

Contoh di bawah ini, kita mencoba membuat socket server nya. Cara kerja nya, si server akan mengirimkan pesan ke client, jika memang ada koneksi yang terhubung antara client dan server, serta jika si client yang memutuskan koneksi, maka server akan merespon dengan menampilkan error nya.

Simpan nama file server.py
#!/usr/bin/python
import socket, errno, time

# setup socket untuk listen koneksi yang masuk ke socketnya
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('192.168.229.128', 4444))
s.listen(1)
remote, address = s.accept()
print "Got connections from: ", address

while 1:
    # Jika koneksi berhasil, maka server akan mengirimkan pesan ke client
    try:
        remote.send("message to peer\n")
        time.sleep(1)
    # jika koneksi terputus dari client
    except socket.error, e:
        if isinstance(e.args, tuple):
            print "errno is %d" % e[0]
            if e[0] == errno.EPIPE:
                # remote peer disconnected
                print "Detected remote disconnected"
            else:
                # determine and handle different error
                pass
        else:
            print "socket error ", e
        remote.close()
        break
    # jika socket ada masalah
    except IOError,e:
        print "Got IOError: ", e
        break


Hasil skrinsut nya dari coding di atas sebagai berikut:


Di atas tampak jika koneksi dari client berhasil terhubung ke server, maka secara otomatis server akan mengirimkan pesan ke client 'message to peer'.

Tapi jika client memutuskan koneksi ke server, maka server akan meresponnya dengan error code 32, yang artinya disconnected.

Ok cukup sampe disini dulu belajar mengenali  cara kerja socketnya ;)
Semoga sedikit mulai paham dengan cara kerja socket :D