Voglio scrivere un'applicazione che prende Wireshark File
e legge tutti i pacchetti in questo file.
Quindi voglio poter supportare diversi formati.
Fino ad ora sono in grado di gestire Libpcap, Pcapng e TcpDump.
Quindi mi chiedo caldo per progettare la mia applicazione.
Stavo pensando di creare una classe astratta:
public abstract class WiresharkFile
{
private string _fileName;
private int _packets;
private string _duration;
protected abstract IEnumerable<Packet> ReadPackets(string file);
}
Come puoi vedere tutti i formati che ereditano da questo WiresharkFile
hanno nome, pacchetto (ogni file contiene diversi pacchetti e durata).
E anche il metodo ReadPackets
perché ogni formato ha bisogno di leggere il file in altro modo.
Quindi la mia domanda è nel caso in cui scelgo il file e voglio leggere i suoi pacchetti come posso sapere quale sia il formato del file per eseguire il metodo corretto ReadPackets
che ho per ogni formato.