Нарыл следующее: в какой-то момент kwin_x11 начинает жрать не в себя, выжирает все, что есть, скидывая всех остальных в своп, потом понимает, что что-то тут не так и отдает все и сразу. Соответственно, все остальные начинают подниматься из свопа и все тупит. ХЗ, что это такое, вылечил путем установки лимита на память (ulimit -d) для kwin_x11.
у lan0.1 и lan0.2 убираем все маршруты из таблицы main
добавляем 2 таблицы:
ip route add 192.168.0.0/24 dev lan0.2 table 101
ip route add 192.168.0.0/24 dev lan0.1 table 102
добавляем правила:
ip rule add iif lan0.1 lookup 101
ip rule add iif lan0.2 lookup 102
теперь все, что прилетает на lan0.1 уйдет на lan0.2 и обратно.
можно еще добавить
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING ! -d 127.0.0.1/8 -j MASQUERADE
на lan1.1 и lan1.2 маршрутизируемся как обычно через таблицу main
while (fread(&val, sizeof(int), 1, f) > 0) // EOF == -1
{
if (val == max)
{
ft= ftell(f);
fseek(f, ft-sizeof(int), SEEK_SET); // отмотали на int назад
fwrite(&nulVar, sizeof(int), 1, f); // записали - теперь мы там же, где до ифа
}
Имхо все снифферы давно написаны. Рекомендую ознакомиться с pcap. Это библиотека для перехвата сетевых пакетов. Вся ценность сниффера на сегодня заключается в анализе перехватываемого трафика, а для этого надо читать описания протоколов, которые вы хотите перехватывать. В случае с андроидом, можно например попробовать через JNI вызвать нативный код, перехватить пакеты, а потом передать их в Java и уже там с ними воевать дальше.