Превратите телефон в "точку доступа" (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 (Time To Live) может быть использован, чтобы "скрыть использование привязи". В основном вот как это работает. Когда ваш телефон хочет отправить пакет, одной из вещей, которые он добавляет к пакету, является значение TTL, по умолчанию для Android используется значение 64. Это значение TTL уменьшается на единицу при каждом переходе по сети между вашим телефоном, поэтому он оставляет ваш телефон на 64, оставляет башню на 63, оставляет AT&T на 62, и так далее, и так далее. Дело в том, что некоторые приложения привязки написаны так, чтобы просто действовать как маршрутизатор, что означает, что они уменьшают TTL, поэтому обычные пакеты будут иметь значение 64, а привязанные пакеты будут иметь значение 63. Кроме того, в Windows по умолчанию установлено значение TTL 128, что отличается от обычного Android TTL, очень очевидно, уменьшается ли приложение tether или нет.
Или они могут просто искать более одного устройства. Когда вы используете WiFi-модем, ваш компьютер Android выглядит как маршрутизатор, и оператор может запросить количество компьютеров, подключенных к этому маршрутизатору.
Или они проверяют браузер.
Кто-нибудь знает, как адаптировать эти данные при привязке?