Ho cercato di ARP avvelenare il mio computer e router di casa (inteso per imparare e scoprire il comportamento delle reti). E con successo. Per tutto il tempo che ho usato:
with open('/proc/sys/net/ipv4/ip_forward', 'w') as ipf:
ipf.write('1\n')
Per abilitare il port forwarding. Ora stavo cercando di eliminare o accettare pacchetti, in base al loro IP di origine e destinazione:
iptables -I FORWARD -s " + HostA.IP + " -d " + Router.IP + " -i wlan0 -j DROP
Questo codice dovrebbe eliminare tutti i pacchetti dall'host A, secondo questo schema:
Poisoned Host A --X---->Me----X---->Router
<------- <---------
Tuttavia, i pacchetti dall'host A raggiungono ancora il router, quindi la regola IPtable non funziona. La cosa migliore è che il pacchetto proveniente dall'host A ha l'IP del router come IP di destinazione, ma il mio indirizzo MAC come destinazione dell'hardware (le sue tabelle ARP sono avvelenate ...). Potrebbe influenzare il "-d" + Router.IP e far sì che l'IPtables lo accetti e lo porti in avanti (ip_forward è ancora impostato su 1, e sì, ho provato a impostarlo su 0).
Qualche suggerimento per farlo funzionare (preferibilmente una regola IPtable funzionante)? Sto usando Bracktrack 5 r3 Linux, codificando in Python.