¿Android tiene una "página de configuración del enrutador" cuando actúa como un punto de acceso inalámbrico o por cable?

Puedo editar todos los aspectos cruciales de mi punto de acceso/enrutador dentro de las opciones de configuración para la configuración del punto de acceso/enrutador.

Estoy confundido en cuanto a cómo funciona el DHCP cuando se usa el teléfono Android como punto de acceso/enrutador inalámbrico y quería averiguarlo .

Uno de mis intentos de obtener esta información por mí mismo fue intentar navegar a 192.168.6.1través de un navegador web; esta es, por supuesto, la dirección IP del teléfono. Tenía la esperanza de ver algún tipo de página de configuración del enrutador como normalmente vería al configurar un enrutador ethernet normal con cable/inalámbrico a través de un navegador web, pero desafortunadamente, no había tal página.

Investigué un poco y descubrí que puedes obtener información básica sobre la configuración IP del teléfono descargando un emulador de terminal y ejecutando algunos comandos básicos con sabor a *nix.

Estaba buscando algo más: una GUI sería excelente, pero aceptaré cualquier sugerencia sobre cómo acceder a las especificaciones de configuración de enrutamiento del teléfono.

¿Hay algún tipo de "página de configuración del enrutador" a la que pueda acceder cuando habilito mi punto de acceso inalámbrico en mi teléfono Android?

Vea esta respuesta : si está utilizando el soporte de conexión integrado, no hay configuración, las direcciones IP utilizadas para el punto de acceso Wi-Fi y la conexión USB están codificadas.
Up to Pie dnsmasqes el servidor DHCP/DNS de Android. Puede configurarlo de alguna manera, por dnsmasq.confejemplo, para asignar permanentemente una dirección IP estática a los clientes atados , o mediante algunos trucos, por ejemplo, para cambiar permanentemente la dirección IP de anclaje del punto de acceso o para cambiar el rango predeterminado de direcciones IP DHCP del punto de acceso .

Respuestas (2)

El anclaje wifi incorporado de Android está diseñado para usar 192.168.43.1/24 como servidor, con netd manejando el anclaje, usando dnsmasq. El primer rango de DNS es 192.168.42.1-254 y el segundo rango de DNS es 192.168.43.1-254.

Netd no es fácil de cambiar. Requiere un socket para comunicarse con él, y ese socket se toma cuando Android comienza a conectarse. Pero revisando los archivos fuente de Tethering.java (utilicé Froyo) vemos:

// usb client will be provided 192.168.42.129
private static final String USB_NEAR_IFACE_ADDR      = "192.168.42.129";
private static final String USB_NETMASK              = "255.255.255.0";

// FYI - the default wifi is 192.168.43.1 and 255.255.255.0

private String[] mDhcpRange;
private static final String DHCP_DEFAULT_RANGE1_START = "192.168.42.2";
private static final String DHCP_DEFAULT_RANGE1_STOP  = "192.168.42.254";
private static final String DHCP_DEFAULT_RANGE2_START = "192.168.43.2";
private static final String DHCP_DEFAULT_RANGE2_STOP  = "192.168.43.254";

Y más adelante vemos esos rangos utilizados, COMO BACKUPS .

    mDhcpRange = context.getResources().getStringArray(
            com.android.internal.R.array.config_tether_dhcp_range);
    if ((mDhcpRange.length == 0) || (mDhcpRange.length % 2 ==1)) {
        mDhcpRange = new String[4];
        mDhcpRange[0] = DHCP_DEFAULT_RANGE1_START;
        mDhcpRange[1] = DHCP_DEFAULT_RANGE1_STOP;
        mDhcpRange[2] = DHCP_DEFAULT_RANGE2_START;
        mDhcpRange[3] = DHCP_DEFAULT_RANGE2_STOP;
    }

La fuente principal para los rangos de dhcp no es el 42 y el 43 codificados, sino que se lee desde array.config_tether_dhcp_range, una matriz de cadenas interna. Pero actualmente está vacío.

Puede editar el marco de Android. En mi teléfono, es /system/framework/framework-res.apk. Hay un montón de tutoriales en línea para editar framework-res.apk, desde cadenas simples hasta temas completos. Encuentra uno para tu teléfono y versión de Android.

Lo principal que desea cambiar es /res/values/arrays.xml

Buscar<array name="config_tether_dhcp_range" />

Cambiar a:

<string-array name="config_tether_dhcp_range">
     <item>192.168.x.y</item>
     <item>192.168.x.z</item>
</string-array>

compile/zip/firme según sea necesario (siga un tutorial), luego vuelva a instalar.

Si desea más de un rango, simplemente copie los dos elementos una y otra vez. Siempre debe proporcionar un inicio y una parada para cada rango. Intente mantenerlo en el mismo /24, es decir, 192.168.50.5 y 192.168.50.99 o lo que sea. Puede confirmar que está funcionando busybox ps | grep dnsmasqo, si no tiene busybox ps dnsmasq, use el pid en cat /proc/pid/cmdline. Debería obtener (o similar):

/system/bin/dnsmasq --no-daemon --no-poll-no-resolv --dhcp-range=192.168.50.5,192.168.50.99,1h

FWIW, mi anclaje WIFI usa los rangos predeterminados de dnsmasq, pero a mi computadora se le asignó 192.168.43.147/24 y la puerta de enlace 192.168.43.1/24. No estoy seguro de por qué la tuya tiene una dirección 42.x predeterminada.

FWIW, usando "Ethernet Tethering" en mi Samsung S20, mi dispositivo adjunto obtiene una dirección 192.168.13.200/24 ​​y una puerta de enlace 192.168.13.25.

Curiosamente, mi aplicación "Net Analyzer" muestra la IP externa de mi teléfono como 172.58.200.200 y una IP interna de 33.15.32.108/28.

¿Cuántos enrutadores hay en mi teléfono...?

Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran aclaración por parte del autor de la pregunta . - De la revisión