2008-09-21 10 views
0

Si je devais créer une règle de redirection ipfw pour transférer tout le trafic FTP vers un socket spécifique, est-il possible d'utiliser Java pour se connecter au socekt et lire les informations du paquet? Si oui, comment irais-je lire/écrire sur le scoket?Lire des douilles de renvoi dans java?

Répondre

0

ne sais pas ce que vous voulez dire. Si vous utilisez une règle de renvoi, tout ce que vous avez à faire est d'écouter cette combinaison ip: port dans votre application java et vous êtes tous ensemble. Si vous voulez lire les informations de point de terminaison de destination réelles, vous devez utiliser JNI pour cela.

+0

Ce n'est pas vrai. [Lorsque vous créez le socket, vous devez spécifier qu'il s'agit d'un port de redirection] (http://www.unix.com/man-page/FreeBSD/4/divert/). – thatha

0

Oui, c'est comme un socket normal, vous pouvez le lire/écrire, mais sur Mac OS X, si vous voulez modifier le paquet et le réinsérer, vous devez d'abord recalculer la somme de contrôle tcp .

http://blog.loudhush.ro/2006/08/using-divert-sockets-on-mac-os-x.html

C'est un bon poste qui introduisent l'utilisation de base de la prise de divert sous Mac OS X. Vous pouvez réellement créer la règle dans votre code C.

Pour votre cas, il suffit de scanner le paquet pour l'en-tête TCP ou IP et d'analyser pour ce que vous voulez

Questions connexes