Чтение и воспроизведение пакетов на сервер с использованием файла pcapPython

Программы на Python
Anonymous
Чтение и воспроизведение пакетов на сервер с использованием файла pcap

Сообщение Anonymous »

Я не могу решить эту проблему, может ли кто-нибудь помочь
В) Перехватывайте пакеты, идущие на сервер, с помощью Wireshark и напишите клиентскую программу, которая будет использовать файл Wireshark pcap и воспроизводить то же самое на сервере. Сохраните запрос/ответ в другой файл.
Теперь я знаю, как перехватывать пакеты с помощью файла pcap, но у меня возникли проблемы с подключением к серверу. Пожалуйста, может ли кто-нибудь предоставить полное решение с использованием Pythons Библиотека Scapy и pyshark.

Код: Выделить всё

import pyshark
from scapy.all import *
import time

def read_pcap(file):
cap = pyshark.FileCapture(file)
packets = []
for packet in cap:
packets.append(packet)
return packets

def replay_packets(packets, server_ip, server_port):
responses = []
for packet in packets:
try:
# Convert PyShark packet to Scapy packet
scapy_pkt = IP(raw(packet.get_raw_packet()))

# Change destination IP and port to the server
scapy_pkt[IP].dst = server_ip
scapy_pkt[UDP].dport = server_port

# Send packet and capture response
response = sr1(scapy_pkt, timeout=2)
responses.append(response)

# Wait a bit between packets to mimic real traffic
time.sleep(0.1)
except Exception as e:
print(f"Error processing packet: {e}")
return responses

def dump_to_file(requests, responses, file):
with open(file, 'w') as f:
for req, resp in zip(requests, responses):
f.write(f"Request: {req}\nResponse: {resp}\n\n")

def main():
input_pcap_file = 'current.pcap'
output_file = 'output.txt'
server_ip = '123.56.8.0'
server_port = 80

packets = read_pcap(input_pcap_file)
requests = [packet.get_raw_packet() for packet in packets]
responses = replay_packets(packets, server_ip, server_port)
dump_to_file(requests, responses, output_file)
print("Finished processing packets.")

if __name__ == "__main__":
main()

это мой код, где «current.pcap» — это файл pcap, который я буду использовать. Думаю, у меня проблемы с подключением к серверу.

Подробнее здесь: https://stackoverflow.com/questions/788 ... -pcap-file

Вернуться в «Python»