jaredseg :
There is a device in my house that is pretending to be my router to intercept all traffic using ARP poisoning. I cannot set a static ARP in my router either because then the device that intercepts the traffic will notice it isn't getting any traffic at all. How can I go about setting a static ARP on android so that my tablet can work without being intercepted and will work at startup? I can't use any of the apps on the Google Play Store because they occasionally stop working randomly in the background, and I need to stop the ARP poisoning from happening at all.
The "arp" command does appear to be available on Android (at least on Cyanogenmod 12) so you could set an entry temporarily by opening a terminal (I use ConnectBot or JuiceSSH) and doing something like:
Code:
arp -s 192.168.0.1 11:22:33:aa:bb:cc
with 192.168.0.1 replaced by the IP address of your router and 11:22:33:aa:bb:cc replaced with its MAC address. You'll need root.
I don't know whether Android automatically reads in /etc/ethers at startup; if it does, you could add a line to that file (in addition to being root, you will need to remount /system read-write first) like:
Code:
11:22:33:aa:bb:cc 192.168.0.1
If not, I don't know how you would make it happen automatically at startup - there may be an app that can automatically run a command at startup, perhaps.
Of course, the "correct" solution is to fix/remove the broken/infected device that's breaking your network.