Domanda

Sono disposto a costruire un prototipo di dispositivo di rete. Questo apparecchio è supponiamo di manipolare in modo trasparente pacchetti Ethernet. Si supponga di avere due schede di interfaccia di rete aventi una scheda connessa alla gamba esterna (cioè eth0 ) e l'altro alla gamba interna (cioè eth1 ).

In una tipica struttura di rete come nell'immagine allegata, verrà posizionato tra il router e l'interruttore della LAN.

I miei piani sono di scrivere un software che si aggancia a livello di driver del kernel e fare tutto ciò che devo fare per i pacchetti in entrata e in uscita.

Per esempio, un pacchetto "in uscita" (a eth1) sarebbe stato manipolato e passò all'altro NIC (eth0), che poi dovrebbe essere trasportato al prossimo speranza

Le mie domande sono:

  1. È fattibile?
  2. Quei NIC avranno alcun indirizzo IP, è che dovrebbe essere un problema?

Grazie in anticipo per le vostre risposte.

(E no, non c'è tale dispositivo ancora sul mercato, quindi per favore, "perché reinventare la ruota" stile di risposte sono irrilevanti)

tipico diagramma di rete http://img163.imageshack.us/img163/1249/ stackpost.png

È stato utile?

Soluzione

Io suggerirei libipq , che sembra fare proprio quello che si vuole:

  

Netfilter fornisce un meccanismo per il passaggio di pacchetti dalla pila di accodamento di userspace, quindi ricevere questi pacchetti indietro nel kernel con un giudizio che specifica che cosa fare con i pacchetti (come ACCEPT o DROP). Questi pacchetti possono anche essere modificati in userspace prima di reiniezione di nuovo nel kernel.

Altri suggerimenti

A quanto pare, si può fare. Sono in realtà cercando di costruire un prototipo di esso utilizzando Scapy

fino a quando le schede di rete sono impostati su modalità promiscua, che cattura i pacchetti sulla rete, senza la necessità di un indirizzo IP impostato su di loro. So che può essere fatto come ci sono un sacco di aziende che producono lo stesso tipo di apparecchiatura (cioè:. Juniper Networks, Cisco, F5, Fortinet ect)

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