网络取证(Network Forensics)
优质
小牛编辑
124浏览
2023-12-01
现代网络环境的情况是,由于许多困难,调查可能充满困难。 无论您是在响应违规支持,调查内部活动,执行与漏洞相关的评估,还是验证法规遵从性,都可能发生这种情况。
网络编程的概念
以下定义用于网络编程。
Client - 客户端是在个人计算机和工作站上运行的网络编程的客户端 - 服务器体系结构的一部分。
Server - 服务器是客户端 - 服务器体系结构的一部分,为同一台计算机或其他计算机中的其他计算机程序提供服务。
WebSockets - WebSockets在客户端和服务器之间提供协议,该协议在持久TCP连接上运行。 通过这种方式,可以在TCP套接字连接之间(同时)发送双向消息。
WebSockets采用许多其他技术,允许服务器向客户端发送信息。 除了握手升级标头之外,WebSockets独立于HTTP。
![网络编程](https://imgs.xnip.cn/cj/docimg/141/87c2e459-da03-4412-9fe3-419bf4fb43da.jpg)
这些协议用于验证第三方用户发送或接收的信息。 由于加密是用于保护消息的方法之一,因此保护通过其传输消息的信道也很重要。
请考虑以下Python程序,客户端使用该程序进行handshaking 。
例子 (Example)
# 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()
输出 (Output)
它将产生以下输出 -
![网络编程输出](https://imgs.xnip.cn/cj/docimg/141/74ca8f56-4412-47f3-8ea1-d130e63738e1.jpg)
接受通信通道请求的服务器将包括以下脚本。
# 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编程的帮助下创建的客户端和服务器会监听主机号。 最初,客户端向服务器发送关于主机号中发送的数据的请求,服务器接受请求并立即发送响应。 这样,我们就可以拥有一个安全的通信渠道。