Domanda

Sto cercando di creare un ispettore pacchetto di rete.

So che si può fare questo con libpcap, ma non è uno sniffer, ho bisogno di forgiare pacchetto di rete, prima che fosse inviato in rete. (Invio tramite server calze)

Ho trovato 2 modi per farlo:

  • L'utilizzo di un NKE. (Network Kernel Extension)
  • Utilizzando una DYLD_INSERT_LIBRARIES per inserire una libreria per agganciare funzione di rete.

Quale metodo pensi sia il migliore?

È stato utile?

Soluzione

Né, utilizzare un dispositivo tun / tap: http://tuntaposx.sourceforge.net/

È necessario instradare il traffico verso quel dispositivo, modificarlo, quindi inviarlo di nuovo. Si può fare questo con le regole del firewall. Ci sono un sacco di esempi di utilizzo di tun / tap in tutto il mondo open-source, non è difficile.

Vantaggio: si tratta di un'estensione del kernel, ma un standard estensione del kernel, e quindi non c'è bisogno di preoccuparsi di debug

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top