J'utilise les bibliothèques SharpPcap + PacketDotNet pour traiter certains fichiers .pcap et j'ai rencontré un bug dans la façon dont les horodatages sont calculés.N'importe qui avait de l'expérience avec les bibliothèques de manipulation * .pcap?
Prenez cette propriété timeval, qui est quelque chose le long de ces lignes:
PosixTimeval Timeval
{
DateTime Date;
ulong Seconds;
ulong MicroSeconds;
}
Le problème est la suivante: Supposons que vous ayez une trace ouverte dans Wireshark avec l'un des paquets avec un horodatage de « 0,002 ». Une fois que vous l'ouvrez dans un de vos programmes, il récupère le paquet et son Timeval est configuré tel que Seconds = 0
et MicroSeconds = 002 = 2
. Ceci est fait sous le capot, donc il n'y a aucun moyen d'éviter autant que je sache. Ma question est si ce problème est commun aux autres bibliothèques (et peut-être à toutes?) Qui manipulent le format de fichier pcap, qui, je pense, sont construites autour de la même collection de fonctions c/C++, ou si c'est un problème seulement avec ceux que j'utilise.