0 votos

¿Cómo modificar la dirección IP de destino del paquete IP en Android?

Aquí, puedo escribir esto Termux

su
iptables -I OUTPUT -d 1.2.3.4 -j REJECT
iptables-save

rechazar el paquete para prohibir que la aplicación visite un determinado host. Funciona bien.

Sin embargo, ahora quiero hacer la Aplicación cree que está visitando 1.2.3.4 pero en realidad está visitando 5.6.7.8. lo que significa cambiar la dirección IP de destino del paquete IP de 1.2.3.4 a 5.6.7.8

Intenté muchos tutoriales pero terminé en un fracaso. No funciona en absoluto, la aplicación sigue visitando 1.2.3.4.

¿Puede alguien ayudarme con esto? Utilizando iptables o cualquier otro método. Mi dispositivo Android está rooteado con Magisk instalado.

1voto

Lance Miller Puntos 1

Puede hacerlo mediante un NAT de destino (DNAT), véase aquí

Concretamente, en tu ejemplo harías una de:

iptables -t nat -I OUTPUT -d 1.2.3.4 -j DNAT --to-destination 5.6.7.8

Por supuesto, querrías que los paquetes de retorno hicieran la traducción inversa, por lo que parece que la respuesta viene de nuevo de 1.2.3.4, así que necesitas también uno de estos:

iptables -t nat -I INPUT -s 5.6.7.8 -j SNAT --to-source 1.2.3.4

(En la respuesta original tenía PREROUTING/POSTROUTING en lugar de OUTPUT/INPUT, pero eso es cuando se hace en un router. Para paquetes generados localmente, OUTPUT/INPUT debería ser el correcto).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X