TCP Port Scanner dengan Socket Programming

Dicky Rahma Hermawan

Sosial Media


0 orang menyukai ini
Suka

Summary

Port Scanner merupakan tool yang digunakan untuk melakukan pencarian port yang terbuka pada sebuah remote host. Port yang terbuka akan dapat dijadikan attack vector untuk melakukan penyusupan dalam sistem komputer tersebut.

Description

Port scanner merupakan aplikasi yang didesain untuk melakukan pengecekan terhadap port yang terbuka pada suatu remote host. Port dapat dijelaskan sebagai suatu endpoint untuk komunikasi jaringan komputer sebagai konstruksi logis yang dapat kita gunakan untuk mengidentifikasi proses spesifik. Misalnya saja, ketika kita ingin mengakses port 22 pada server remote. Kita dapat mengetahui bahwa port 22 merupakan port umum untuk service SSH dan komputer kita akan terkoneksi dengan port tersebut melalui port acak dari komputer kita. Port merupakan pintu masuk komunikasi agar packet dapat diproses pada layer OSI di atasnya.

Dalam lingkup cyber security, proses port scanning merupakan tahapan awal dalam menemukan informasi berguna dari target yang disebut enumeration. Port yang terbuka atau diidentifikasi terbuka dapat kita manfaatkan untuk mencoba masuk ke dalam sistem. Port yang terbuka biasa disebut sebagai attack vector yang muncul sebagai sebuah resiko. Biasanya kita dapat memanfaatkan software seperti Nmap yang cenderung digunakan sebagai tool professional untuk melakukan enumerasi. Namun demikian, kita juga dapat membuat port scanner sederhana menggunakan socket programming pada bahasa Python.

Socket programming mengacu pada komunikasi antar dua komputer, biasanya melalui protokol TCP/ IP melalui suatu endpoint, yang dalam hal ini kita ketahui adalah port. Melalui library socket pada python, kita dapat mengetes apakah terdapat respons pada port yang kita akses. Jika koneksi established/ listening, maka kita dapat ketahui melalui method `socket.connect_ex(address)` yang menghasilkan indicator error 0. Selain itu, maka terdapat error dan port disimpulkan tidak terbuka.
 



Kita dapat memanfaatkan multithreading untuk melakukan pengecekan port secara continuous tanpa harus menunggu setiap port dicek secara sekuensial.

Source code dapat dilihat di:
https://replit.com/@dickyhermawan12/TCPPortScan

Informasi Course Terkait
  Kategori: Cyber Security
  Course: Dasar - Dasar Python