Setelah memahami bagaimana membuat TCP atau UDP Client pada artikel sebelumnya (TCP Client – Server dan UDP Client – Server), maka pada artikel ini kita akan mencoba membuat port scanner sederhana.
Port scanning merupakan aktivitas yang dilakukan untuk mengidentifikasi port yang terbuka pada sebuah mesin beserta aplikasi yang menggunakan port tersebut. Informasi ini bermanfaat dan dibutuhkan untuk fase eksploitasi pada Penetration Testing Process. Aktivitas ini tentu saja hanya dapat dilakukan atas persetujuan pemilik organisasi, tanpa hal itu maka kegiatan ini ilegal.
Pada script sebelumnya (Syn Scanning) kita telah membuat script sederhana untuk melakukan pengecekan terhadap port pada sebuah mesin, namun belum mengidentifikasi aplikasi yang menggunakan port tersebut. Untuk itu kita akan:
- mengirimkan data pada mesin server
- menerima response berupa banner dari aplikasi tersebut
- menampilkan banner tersebut pada layar.
Berikut ini adalah langkah-langkah yang dilakukan pada interactive console di python, dimana ada beberapa port yang yang teridentifikasi service-nya, yaitu port 21, 22, dan 23 sebagaimana gambar berikut:
Namun, ketika port scanning tiba pada port 24, terjadi error (socket.error: [Errno 111] Connection Refused) kemudian script terhenti. Untuk mencegah hal tersebut kita akan menambahkan exception handling pada script kita, yaitu:
Dengan demikian script port scanner kita secara utuh adalah sebagaimana gambar berikut ini:
Apabila script tersebut kita eksekusi, maka gambar berikut ini adalah hasilnya:
Adapun script tersebut dapat dilihat pada link sebagaimana berikut:
Sedangkan artikel-artikel yang terkait pada blog ini adalah:
<01> UDP Client – Server
<02> TCP Client – Server