Сценарий современных сетевых сред таков, что расследование может быть сопряжено с рядом трудностей. Это может произойти независимо от того, реагируете ли вы на поддержку нарушения, исследуете инсайдерские действия, выполняете оценки, связанные с уязвимостью, или проверяете соответствие нормативным требованиям.
Концепция сетевого программирования
Следующие определения используются в сетевом программировании.
-
Клиент — Клиент является частью клиент-серверной архитектуры сетевого программирования, которая работает на персональном компьютере и рабочей станции.
-
Сервер — сервер является частью клиент-серверной архитектуры, которая предоставляет услуги другим компьютерным программам на том же или других компьютерах.
-
WebSockets — WebSockets предоставляют протокол между клиентом и сервером, который работает через постоянное TCP-соединение. Благодаря этому двунаправленные сообщения могут передаваться между сокетами TCP (одновременно).
Клиент — Клиент является частью клиент-серверной архитектуры сетевого программирования, которая работает на персональном компьютере и рабочей станции.
Сервер — сервер является частью клиент-серверной архитектуры, которая предоставляет услуги другим компьютерным программам на том же или других компьютерах.
WebSockets — WebSockets предоставляют протокол между клиентом и сервером, который работает через постоянное TCP-соединение. Благодаря этому двунаправленные сообщения могут передаваться между сокетами TCP (одновременно).
WebSockets следуют за многими другими технологиями, которые позволяют серверам отправлять информацию клиенту. Помимо рукопожатия заголовка обновления, 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, прослушивают номер хоста. Первоначально клиент отправляет запрос на сервер в отношении данных, отправленных на номер хоста, и сервер принимает запрос и немедленно отправляет ответ. Таким образом, мы можем иметь безопасный канал связи.