Quelqu'un pourrait-il suggérer une bonne classe de renifleur de paquets pour c ++? [fermé]

StackOverflow https://stackoverflow.com/questions/345305

Question

Quelqu'un pourrait-il suggérer une bonne classe de renifleur de paquets pour c ++? Vous recherchez une classe facile à insérer que je puisse utiliser dans mon programme c ++, rien de compliqué.

Était-ce utile?

La solution

Vous ne pourrez jamais intercepter le trafic réseau simplement en insérant une classe dans votre projet. La fonctionnalité de capture de paquets nécessite une prise en charge en mode noyau. Par conséquent, vous aurez au moins besoin que votre application nécessite ou installe libpcap / WinPcap, comme l'a souligné Will Dean.

La plupart des distributions de type Unix modernes incluent libpcap out of the box, auquel cas vous pouvez jeter un oeil à cet exemple très simple: http://www.tcpdump.org/pcap.htm

Si vous utilisez Windows, vous êtes plus ou moins autonome, bien que la programmation de la WinPcap soit extrêmement similaire à la programmation libpcap (sans surprise, puisqu'il s'agit d'un portage de Win32 pour Win32.) Le SDK est disponible à l'adresse suivante: http : //www.winpcap.org/devel.htm

Quoi qu'il en soit, quel que soit le système d'exploitation, vous aurez besoin d'un accès root / administrateur pour effectuer une capture. Le simple fait d'utiliser la bibliothèque pour rejouer ou analyser des données précapturées ne nécessite bien entendu aucun privilège spécial.

Autres conseils

Vous aurez besoin de dire quelque chose à propos de votre plate-forme, car il s'agit d'une plate-forme plutôt que d'un langage.

Mais si vous êtes sur quelque chose de commun, examinez pcap ou winpcap.

Microsoft Network Monitor dispose d'une API de capture et d'analyse de paquets, voir le blog netmon pour des informations de base.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top