android tethering ip,Android获取热点提供设备的IP地址

本文详细探讨了Android设备作为热点时的默认IP地址配置,主要集中在192.168.43.1这一地址。通过分析AOSP源代码,揭示了USB和Wi-Fi的IP范围以及DHCP默认范围。同时,展示了如何在代码层面设置和启动热点接口。
摘要由CSDN通过智能技术生成

你几乎是对的,热点的默认IP地址是192.168.43.1(如果设备制造商没有改变.)

您可以查看Android框架(AOSP)的源代码.

/frameworks/base/services/java/com/android/server/connectivity/Tethering.java

/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java

在Tethering.java中,

private static final String USB_NEAR_IFACE_ADDR = "192.168.42.129";

private static final int USB_PREFIX_LENGTH = 24;

// USB is 192.168.42.1 and 255.255.255.0

// Wifi is 192.168.43.1 and 255.255.255.0

// BT is limited to max default of 5 connections. 192.168.44.1 to 192.168.48.1

// with 255.255.255.0

private String[] mDhcpRange;

private static final String[] DHCP_DEFAULT_RANGE = {

"192.168.42.2", "192.168.42.254", "192.168.43.2", "192.168.43.254",

"192.168.44.2", "192.168.44.254", "192.168.45.2", "192.168.45.254",

"192.168.46.2", "192.168.46.254", "192.168.47.2", "192.168.47.254",

"192.168.48.2", "192.168.48.254",

};

另外,在WifiStateMachine.java中

private boolean startTethering(ArrayList available) {

boolean wifiAvailable = false;

checkAndSetConnectivityInstance();

String[] wifiRegexs = mCm.getTetherableWifiRegexs();

for (String intf : available) {

for (String regex : wifiRegexs) {

if (intf.matches(regex)) {

InterfaceConfiguration ifcg = null;

try {

ifcg = mNwService.getInterfaceConfig(intf);

if (ifcg != null) {

/* IP/netmask: 192.168.43.1/255.255.255.0 */

ifcg.setLinkAddress(new LinkAddress(

NetworkUtils.numericToInetAddress("192.168.43.1"), 24));

ifcg.setInterfaceUp();

mNwService.setInterfaceConfig(intf, ifcg);

}

} catch (Exception e) {

loge("Error configuring interface " + intf + ", :" + e);

return false;

}

if(mCm.tether(intf) != ConnectivityManager.TETHER_ERROR_NO_ERROR) {

loge("Error tethering on " + intf);

return false;

}

mTetherInterfaceName = intf;

return true;

}

}

}

// We found no interfaces to tether

return false;

}

因此,默认值为192.168.43.1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值