Question

Je suis en train de créer un inspecteur de paquets réseau.

Je sais que vous pouvez le faire avec libpcap, mais ce n'est pas un sniffer, je dois établir des paquets de réseau, avant qu'il ne soit envoyé sur le réseau. (Envoi via le serveur de chaussettes)

J'ai trouvé 2 façons de le faire:

  • L'utilisation d'un NKE. (Réseau d'extension du noyau)
  • L'utilisation d'un DYLD_INSERT_LIBRARIES pour insérer une bibliothèque pour accrocher la fonction réseau.

Quelle méthode pensez-vous est le meilleur?

Était-ce utile?

La solution

Ni, utilisez un dispositif tun / tap: http://tuntaposx.sourceforge.net/

Vous aurez besoin d'acheminer le trafic vers ce dispositif, le modifier, puis le renvoyer. Vous pouvez le faire avec les règles de pare-feu. Il y a beaucoup d'exemples d'utilisation tun / tap partout dans le monde open source, il est pas difficile.

Avantage: il est une extension du noyau, mais standard extension du noyau, et donc vous n'avez pas besoin de vous soucier de le déboguer

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