📜  Python取证-网络取证

📅  最后修改于: 2020-11-06 05:29:05             🧑  作者: Mango


在现代网络环境中,由于许多困难,调查工作很繁琐。无论您是响应违规支持,调查内部人员活动,执行与漏洞相关的评估,还是验证法规遵从性,都可能发生这种情况。

网络编程的概念

在网络编程中使用以下定义。

  • 客户端-客户端是网络编程的客户端-服务器体系结构的一部分,该体系结构运行在个人计算机和工作站上。

  • 服务器-服务器是客户端-服务器体系结构的一部分,可为同一计算机或其他计算机中的其他计算机程序提供服务。

  • WebSockets -WebSockets提供客户端和服务器之间的协议,该协议在持久的TCP连接上运行。这样,可以在TCP套接字连接之间同时发送双向消息。

WebSocket紧随其他许多技术,这些技术允许服务器将信息发送到客户端。除了握手升级头之外,WebSockets独立于HTTP。

网络编程

这些协议用于验证第三方用户发送或接收的信息。由于加密是用于保护消息的方法之一,因此保护消息通过其传输的通道也很重要。

考虑下面的Python程序,客户端将它用于握手

# 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()

输出

它将产生以下输出-

网络编程输出

接受通信通道请求的服务器将包含以下脚本。

# 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()

在Python编程的帮助下创建的客户端和服务器监听主机号。最初,客户端针对主机号中发送的数据向服务器发送请求,服务器接受该请求并立即发送响应。这样,我们可以拥有安全的沟通渠道。