Python Forensics - Forensik Jaringan

Skenario lingkungan jaringan modern sedemikian rupa sehingga penyelidikan bisa menjadi rumit karena sejumlah kesulitan. Hal ini dapat terjadi baik Anda menanggapi dukungan pelanggaran, menyelidiki aktivitas orang dalam, melakukan penilaian yang terkait dengan kerentanan, atau memvalidasi kepatuhan peraturan.

Konsep Pemrograman Jaringan

Definisi berikut digunakan dalam pemrograman jaringan.

  • Client - Klien adalah bagian dari arsitektur client-server dari pemrograman jaringan yang berjalan pada komputer pribadi dan workstation.

  • Server - Server adalah bagian dari arsitektur client-server yang menyediakan layanan ke program komputer lain di komputer yang sama atau komputer lain.

  • WebSockets- WebSockets menyediakan protokol antara klien dan server, yang berjalan melalui koneksi TCP persisten. Melalui ini, pesan dua arah dapat dikirim antara koneksi soket TCP (secara bersamaan).

WebSockets hadir setelah banyak teknologi lain yang memungkinkan server untuk mengirim informasi ke klien. Selain menggoyangkan Header Upgrade, WebSockets tidak bergantung pada HTTP.

Protokol ini digunakan untuk memvalidasi informasi yang dikirim atau diterima oleh pengguna pihak ketiga. Karena enkripsi adalah salah satu metode yang digunakan untuk mengamankan pesan, penting juga untuk mengamankan saluran yang melaluinya pesan telah ditransfer.

Pertimbangkan program Python berikut, yang digunakan klien untuk handshaking.

Contoh

# client.py
import socket

# create a socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# get local machine name
host = socket.gethostname()
port = 8080

# connection to hostname on the port.
s.connect((host, port))

# Receive no more than 1024 bytes
tm = s.recv(1024)
print("The client is waiting for connection")
s.close()

Keluaran

Ini akan menghasilkan keluaran sebagai berikut -

Server yang menerima permintaan saluran komunikasi akan menyertakan skrip berikut.

# server.py
import socket
import time

# create a socket object
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# get local machine name 
host = socket.gethostname()
port = 8080

# bind to the port
serversocket.bind((host, port))

# queue up to 5 requests 
serversocket.listen(5)

while True:
   # establish a connection 
   clientsocket,addr = serversocket.accept()
   print("Got a connection from %s" % str(addr))
   currentTime = time.ctime(time.time()) + "\r\n"
   clientsocket.send(currentTime.encode('ascii'))
   clientsocket.close()

Klien dan server yang dibuat dengan bantuan pemrograman Python mendengarkan nomor host. Awalnya, klien mengirimkan permintaan ke server sehubungan dengan data yang dikirim dalam nomor host dan server menerima permintaan tersebut dan segera mengirimkan tanggapan. Dengan cara ini, kita dapat memiliki saluran komunikasi yang aman.