是否可以打开 AP(接入点)并让运营商无法发现这些数据来自手机以外的其他设备?
有无限的数据计划,但在用作热点时受到限制,这就是原因。
我找到以下代码来打开 AP:
wifi_manager = (WifiManager) this.getSystemService(HotSpot_TrisActivity.this.WIFI_SERVICE);
btnEnableAP = (Button)findViewById(R.id.btnEnableAP);
btnEnableAP.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
WifiConfiguration wifi_configuration = null;
wifi_manager.setWifiEnabled(false);
try
{
//USE REFLECTION TO GET METHOD "SetWifiAPEnabled"
Method method=wifi_manager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
method.invoke(wifi_manager, wifi_configuration, true);
}
catch (NoSuchMethodException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalArgumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalAccessException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (InvocationTargetException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
我发现运营商可能会检测到网络共享的一些方法:
恒定的 TTL(生存时间)可用于“隐藏系绳的使用”。基本上这是它的工作原理。当您的手机想要发送一个数据包时,它添加到数据包中的其中一项是 TTL 值,Android 的默认值为 64。每次通过手机之间的网络时,该 TTL 值都会减一,所以它在 64 处离开你的手机,在 63 处离开塔,在 62 处离开 AT&T,依此类推。问题是,一些网络共享应用程序被编写为简单地充当路由器,这意味着它们会减少 TTL,因此正常数据包将以 64 的形式出现,而网络共享的数据包将以 63 的形式出现。此外,Windows 的默认 TTL 为 128,即与普通的 Android TTL 不同,tether 应用程序是否减量非常明显。
或者他们可能只是在寻找不止一种设备。当您使用 WiFi 系绳时,您的 Android 计算机看起来像一个路由器,运营商可以查询该路由器连接了多少台计算机。
或者他们检查浏览器。
任何人都知道如何在网络共享时调整这些数据?