Где найти точку доступа на ноутбуке

Где найти точку доступа на ноутбуке

Какая цель?

Создайте точку доступа с Android-устройством (Nexus 7 в моем случае). Конечной целью является подключение карты WiFly к этой созданной сети и обмен данными между этими устройствами.

Оборудование:

  • Nexus 7 с Android 4.2.2 с корневым с ROM CyanogenMod 10.1
  • Карта WiFly: щит Arduino с тем же расположением, что и карты Zigbee, использующие Wifi (продукт)

Программное обеспечение:

Я понял, что версия Android 4.2.2 не позволяет создать точку доступа (услуга отключена программно). Вот почему я укрепил свое устройство с ПЗУ от CyanogenMod. Это ПЗУ включает эту службу.

Google скрыл некоторые методы из класса WifiManager. В частности, метод setWifiApEnabled. Вот почему я использую отражение для вызова методов в коде ниже.

Исходный код массивный! Сосредоточьтесь на методе createAccessPoint(). Я решил поставить весь исходный код, чтобы помочь людям, которые хотят знать, как я сделал все это.

public class TestAccessPoint extends Activity {

static final String TAG = "AP_TEST";
static final String SSID = "\"Awesome Access Point\"";
static final String PSK = "\"helloworld\"";
String numberOfClientsConnected;
String wifiApEnable;
String wifiApState;
WifiConfiguration wifiApConfig;
WifiManager wifiManager;
WifiConfiguration wifiConfiguration;
BroadcastReceiver receiver;
BroadcastReceiver receiverWifiDisabled;
TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.accesspoint_test);
    textView = (TextView) findViewById(R.id.textView);

    wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifiConfiguration = new WifiConfiguration();

    if(wifiManager.isWifiEnabled()) {
        createAccessPoint();
    } else {
        Log.d(TAG, "Set wifi Enable");
        wifiManager.setWifiEnabled(true);
        receiverWifiDisabled = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
                if ( wifiState == WifiManager.WIFI_STATE_ENABLED ) {
                    Log.d(TAG, "Wifi enable");
                    createAccessPoint();
                }
            }
        };
        registerReceiver(receiverWifiDisabled, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
    }

    final Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 1:
                    textView.setText(
                        wifiApEnable + "\n" + 
                        wifiApState + "\n" +
                        "Nb of clients connected: " + numberOfClientsConnected + "\n" + 
                        "Wifi AP configuration: " + "\n" +
                        wifiApConfig.toString() + "\n" +
                        "WifiManager connection info: " +  "\n" + 
                        wifiManager.getConnectionInfo().toString() +
                        "DHCP state: " + wifiManager.getDhcpInfo().toString()
                    );
                break;
            }
        }
    };

    Thread thread = new Thread(new Runnable() {
        boolean alive = true;
        @Override
        public void run() {
            while(alive) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) { e.printStackTrace(); }

                numberOfClientsConnected = numberOfClientsConnected();
                wifiApEnable = isWifiApEnabled();
                wifiApState = getWifiApState();
                wifiApConfig = getWifiApConfiguration();

                mHandler.sendMessage(mHandler.obtainMessage(1));
            }
        }
    });
    thread.start();
}

@Override 
public void onDestroy() {
    super.onDestroy();
    if(receiver != null) {
        unregisterReceiver(receiver);
    }
    if(receiverWifiDisabled != null) {
        unregisterReceiver(receiverWifiDisabled);
    }
}

protected void createAccessPoint() {
    // Check if the Wifi configuration already exists
    List list = wifiManager.getConfiguredNetworks();
    int networkID = -1;
    if(list != null){
        for(WifiConfiguration conf : list) {
            Log.d(TAG, "Network ID: " + String.valueOf(conf.networkId) + " ; Network SSID: " + conf.SSID);
            if(conf.SSID.equals(SSID)) {
                Log.d(TAG, "SSID found");
                networkID = conf.networkId;
                wifiConfiguration = conf;
                break;
            }
        } 
    } else
        Log.d(TAG, "List of WifiConfiguration is null");

    // If the configuration exists, remove it to recreate it from scratch
    if(networkID != -1) {
        wifiManager.removeNetwork(networkID);
    }

    // Create a new WiFi configuration
    wifiConfiguration.SSID = SSID;
    wifiConfiguration.preSharedKey = PSK;
    wifiConfiguration.hiddenSSID = false;
    wifiConfiguration.status = WifiConfiguration.Status.ENABLED;

    wifiConfiguration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
    wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);

    wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
    wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);

    wifiConfiguration.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

    // Catch Enumeration IpAssignment and ProxySettings from WifiConfiguration
    Enum ipAssignment = catchEnumIpAssignmentFromWifiConfiguration();
    Enum proxySettings = catchEnumProxySettingsFromWifiConfiguration();

    // Set IP address, gateway, DNS, etc
    try {
        Log.d(TAG, "Try to set IP, gateway and DNS");
        setIpAssignment(ipAssignment, wifiConfiguration);
        Log.d(TAG, "IpAssignment: Ok");
        setProxySettings(proxySettings, wifiConfiguration);
        Log.d(TAG, "ProxySettings: Ok");
        setIpAddress(InetAddress.getByName("192.168.2.100"), 24, wifiConfiguration);
        Log.d(TAG, "IpAddress: Ok");
        setGateway(InetAddress.getByName("192.168.2.1"), wifiConfiguration);
        Log.d(TAG, "Gateway: Ok");
        setDNS(InetAddress.getByName("192.168.2.1"), wifiConfiguration);
        Log.d(TAG, "DNS: Ok");
    } catch(Exception e) {
        e.printStackTrace();
    }

    // Add this new configuration to the wpa_supplicant file
    networkID = wifiManager.addNetwork(wifiConfiguration);
    if(networkID != -1)
        Log.d(TAG, "Succeed to update the WiFi configuration: " + networkID);
    else
        Log.d(TAG, "Failed to update the WiFi configuration");

    // Save the new configuration on the wpa_supplicant
    if(wifiManager.saveConfiguration())
        Log.d(TAG, "Succeed to save the wpa_supplicant");
    else
        Log.d(TAG, "Failed to save the wpa_supplicant");

    // Set the Wifi disable to be able to start the Access Point
    Log.d(TAG, "Set wifi disable");
    wifiManager.setWifiEnabled(false);

    receiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
            if ( wifiState == WifiManager.WIFI_STATE_DISABLED ) {
                Log.d(TAG, "Wifi disabled");
                // When the Wifi is disable
                // Create the Access Point with the WiFi configuration
                try {
                    Method m = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
                    boolean succeed = (Boolean) m.invoke(wifiManager, wifiConfiguration, true);
                    if(succeed)
                        Log.d(TAG, "Succeed to set wifi AP");
                    else
                        Log.d(TAG, "A problem occured while setting the wifi AP");
                } catch (Exception e) {
                    Log.e(TAG, "Failed to set wifi AP", e);
                }
            }
        }
    };
    registerReceiver(receiver, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
}

protected String getWifiApState() {
    try {
        Method m3 = wifiManager.getClass().getMethod("getWifiApState");
        return "WiFi Ap State: " + String.valueOf(m3.invoke(wifiManager));
    } catch (NoSuchMethodException e1) {    e1.printStackTrace();
    } catch (IllegalArgumentException e) {  e.printStackTrace();
    } catch (IllegalAccessException e) {    e.printStackTrace();
    } catch (InvocationTargetException e) { e.printStackTrace(); }
    return null;
}

protected WifiConfiguration getWifiApConfiguration() {
    WifiConfiguration wifiConfiguration = null;
    try {
        Method m4 = wifiManager.getClass().getMethod("getWifiApConfiguration");
        wifiConfiguration = (WifiConfiguration) m4.invoke(wifiManager);
    } catch (Exception e) { e.printStackTrace(); }
    return wifiConfiguration;
}

protected String isWifiApEnabled() {
    try {
        Method m = wifiManager.getClass().getMethod("isWifiApEnabled");
        if((Boolean) m.invoke(wifiManager))
            return "WiFiAP enabled";
        else
            return "WiFiAP not enabled";
    } catch (Exception e) { e.printStackTrace(); }
    return null;
}

protected String numberOfClientsConnected() {
    int macCount = 0;
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader("/proc/net/arp"));
        String line;
        while ((line = br.readLine()) != null) {
            String[] splitted = line.split(" +");
            if (splitted != null && splitted.length >= 4) {
                String mac = splitted[3];
                if (mac.matches("..:..:..:..:..:..")) {
                    macCount++;
                } 
            }
        }
    } catch (Exception e) { e.printStackTrace();
    } finally {
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return String.valueOf(macCount);        
}

@SuppressWarnings({ "unchecked", "rawtypes" })
protected Enum catchEnumIpAssignmentFromWifiConfiguration() {
    Enum DHCP = null;
    try {
        Class enumIpAssignment = (Class) Class.forName("android.net.wifi.WifiConfiguration$IpAssignment");
        DHCP = Enum.valueOf(enumIpAssignment, "DHCP");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    return DHCP;
}

@SuppressWarnings({ "unchecked", "rawtypes" })
protected Enum catchEnumProxySettingsFromWifiConfiguration() {
    Enum ProxySet = null;
    try {
        Class enumProxySettings = (Class) Class.forName("android.net.wifi.WifiConfiguration$ProxySettings");
        ProxySet = Enum.valueOf(enumProxySettings, "NONE");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    return ProxySet;
}

public static void setIpAssignment(Object assign , WifiConfiguration wifiConf)
        throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
    setEnumField(wifiConf, assign, "ipAssignment");     
}

public static void setProxySettings(Object assign , WifiConfiguration wifiConf)
        throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
    setEnumField(wifiConf, assign, "proxySettings");     
}

@SuppressWarnings({ "rawtypes", "unchecked" })
public static void setIpAddress(InetAddress addr, int prefixLength, WifiConfiguration wifiConf)
        throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException,
        NoSuchMethodException, ClassNotFoundException, InstantiationException, InvocationTargetException {
    Object linkProperties = getField(wifiConf, "linkProperties");
    if(linkProperties == null) return;
    Class laClass = Class.forName("android.net.LinkAddress");
    Constructor laConstructor = laClass.getConstructor(new Class[]{InetAddress.class, int.class});
    Object linkAddress = laConstructor.newInstance(addr, prefixLength);

    ArrayList mLinkAddresses = (ArrayList)getDeclaredField(linkProperties, "mLinkAddresses");
    mLinkAddresses.clear();
    mLinkAddresses.add(linkAddress);     
}

@SuppressWarnings({ "rawtypes", "unchecked" })
public static void setGateway(InetAddress gateway, WifiConfiguration wifiConf)
        throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException, 
        ClassNotFoundException, NoSuchMethodException, InstantiationException, InvocationTargetException {
    Object linkProperties = getField(wifiConf, "linkProperties");
    if(linkProperties == null)return;
    Class routeInfoClass = Class.forName("android.net.RouteInfo");
    Constructor routeInfoConstructor = routeInfoClass.getConstructor(new Class[]{InetAddress.class});
    Object routeInfo = routeInfoConstructor.newInstance(gateway);

    ArrayList mRoutes = (ArrayList)getDeclaredField(linkProperties, "mRoutes");
    mRoutes.clear();
    mRoutes.add(routeInfo);
}

@SuppressWarnings("unchecked")
public static void setDNS(InetAddress dns, WifiConfiguration wifiConf)
        throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
    Object linkProperties = getField(wifiConf, "linkProperties");
    if(linkProperties == null)return;

    ArrayList mDnses = (ArrayList)getDeclaredField(linkProperties, "mDnses");
    mDnses.clear();
    mDnses.add(dns); 
}

public static Object getField(Object obj, String name)
        throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    Field f = obj.getClass().getField(name);
    Object out = f.get(obj);
    return out;
}

public static Object getDeclaredField(Object obj, String name)
        throws SecurityException, NoSuchFieldException,
        IllegalArgumentException, IllegalAccessException {
    Field f = obj.getClass().getDeclaredField(name);
    f.setAccessible(true);
    Object out = f.get(obj);
    return out;
}  

public static void setEnumField(Object obj, Object value, String name)
        throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    Field f = obj.getClass().getField(name);
    f.set(obj, value);
}
}

Этот код отлично работает на моем Nexus 7. Он создает точку доступа. Мой ноутбук видит сетевую ссылку: Изображение 72310

Он просит меня ввести ключ WPA. Мне нужно записать его в кавычки, если он не работает ("helloworld").

После этого мой ноутбук подключен к сети, но с программным обеспечением Xirrus Я понял, что модуль DHCP не дает любой IP-адрес.

Logs:

Я получаю два интересных журнала. Это когда я запускаю приложение:

E/hostapd(): Configuration file: /data/misc/wifi/hostapd.conf
E/hostapd(): HT (IEEE 802.11n) in 11b mode is not allowed, disabling HT capabilites
I/hostapd(): rfkill: Cannot open RFKILL control device
W/hostapd(): wlan0: Could not connect to kernel driver
E/hostapd(): Using interface wlan0 with hwaddr 02:1a:11:fd:32:58 and ssid "\"Awesome Access Point\""
E/hostapd(): random: Cannot read from /dev/random: Try again
I/hostapd(): random: Only 0/20 bytes of strong random data available from /dev/random
I/hostapd(): random: Allow operation to proceed based on internal entropy

И это когда я подключаю и отсоединяю свой ноутбук от/до точки доступа:

I/hostapd(): wlan0: AP-STA-DISCONNECTED 00:27:10:ca:f0:80
I/hostapd(): wlan0: AP-STA-CONNECTED 00:27:10:ca:f0:80

Что такое TTL и зачем он нужен

TTL – это специальный показатель, который встроен в каждое устройство, способное выходить в интернет. Сама аббревиатура расшифровывается как Time To Live – «время жизни IP-пакета». Это набор данных, который передается от пользователя к серверу и обратно. Время в данном случае означает то, сколько может просуществовать пакет без потери информации. Изначально TTL хотели измерять в секундах, откуда и пошло определение.

Значение TTL в компьютерных сетях находится в диапазоне от 0 до 255. Перемещаясь между различными маршрутизаторами, параметр постоянно меняется. Для владельцев устройств на базе iOS и Android начальное значение обычно равняется 64, для Windows – 128. Каждый переход через беспроводной канал уменьшает показатель на 1 единицу. Если произойдет множество скачков от одного клиента к другому, значение становится равным 0 – в таком случае все данные в пакете уничтожаются.

Как работает TTL

Точное число значений TTL всегда перенаправляется провайдеру, который всегда может узнать, был ли пропущен трафик через сторонние устройства или нет. Таким образом, сотовые операторы могут спокойно контролировать раздачу интернета своих клиентов. Когда владелец смартфона раздает интернет, его значение TTL уменьшается на единицу и равняется 63. Это сразу же становится известно оператору, который в свою очередь начинает принимать меры – обычно взимает дополнительную плату или перекрывает доступ в интернет. 

Более детально это выглядит так:

Как работает TTL на смартфоне

Чтобы обойти блокировку оператора, необходимо увеличить значение TTL на 1 единицу. Так мы получим увеличенное число, которое будет снижаться до исходного. В таком случае оператор не сможет заподозрить клиента в раздаче интернета.

О том, как это сделать, поговорим далее.

Как узнать значение TTL на компьютере

Прежде чем переходить к изменению TTL, необходимо определить, чему оно равняется. В Windows 10 сделать это довольно просто – достаточно ввести нужную команду в командную строку, запущенную от имени администратора. Рассмотрим на примере:

  1. Открываем меню «Пуск» на компьютере и вводим запрос «Командная строка». В верхней части находим нужную нам программу и кликаем по ней правой кнопкой мыши. Затем выбираем «Запуск от имени администратора».Как запустить командную строку от имени администратора
  2. В результате мы попадаем в консольное окно – оно то нам и нужно. Вводим в него команду ping 127.0.01 или ping 127.0.0.1. Получаем информацию о TTL:Как узнать значение TTL на компьютере

Узнав нужное нам значение, можем переходить к его изменению.

Как изменить TTL в Windows 10

Для редактирования TTL нам потребуется обратиться к редактору реестра – это встроенная утилита, позволяющая корректировать системные настройки. Если вы никогда с ней не работали, то будьте бдительны – корректировка различных параметров может привести к проблемам с Windows.

Перейдем к настройке:

  1. Зажимаем на клавиатуре комбинацию клавиш «Win+R», где Win – кнопка с логотипом Windows, расположенная в нижнем левом углу. Перед нами откроется окно «Выполнить» – вводим в нем запрос regedit и жмем «ОК».Как запустить редактор реестра в Windows 10
  2. В отобразившемся окне вводим: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parame.Как изменить значение TTL в Windows 10
  3. Теперь нам нужно создать новый файл – для этого кликаем правой кнопкой мыши по пустой области и выбираем «Создать» -> «Параметр DWORD (32 бита). Если вы на 64-битной системе, то выберите QWORD (64 бита). В результате мы получаем новый параметр – зададим ему имя DefaultTTL.Как изменить TTL в Windows 10
  4. Открываем созданный нами параметр и вносим в него изменения. Устанавливаем значение 65, в блоке «Система исчисления» выбираем «Десятичная».Как через реестр изменить значение TTL

Осталось перезагрузить компьютер, и значение TTL будет изменено на 65. При передаче интернета со смартфона оно изменится на стандартное 64. Оператор сотовой связи ничего не заподозрит, а вы сможете пользоваться раздачей интернета как ни в чем не бывало.

Как раздать интернет на Android-смартфоне

Есть три способа раздачи интернета – через мобильную точку доступа, USB или Bluetooth.

Мобильная точка доступа

Алгоритм действий следующий:

  1. Выдвигаем на телефоне шторку и зажимаем кнопку «Точка доступа», чтобы перейти в основное меню.Как раздать интернет на смартфоне Samsung
  2. Переводим ползунок в режим «Включено».Как включить мобильную точку доступа на Samsung

В моем случае выполняется раздача Wi-Fi под именем «Frank» с паролем «12345678». На вашем смартфоне будут указаны другие параметры, но вы всегда можете их поменять. Также в настройках можно отключить вход по паролю – для этого необходимо в верхнем правом углу нажать на троеточие и выбрать «Настройки точки доступа». Затем в блоке «Безопасность» изменить значение на «Открытый».

Раздаем интернет через Bluetooth

Подключиться через Bluetooth вы сможете только в том случае, если ваш ноутбук поддерживает данную технологию. Процесс подключения следующий:

  1. Для начала включаем Bluetooth на самом смартфоне – для этого выдвигаем шторку и активируем нужную нам функцию.Как включить Bluetooth на Android смартфоне
  2. Переходим к компьютеру – нажимаем на крайнюю правую кнопку в нижней строке и активируем Bluetooth.Как в Windows 10 включить Bluetooth
  3. После этого в панели задач отобразится иконка блютуза – кликаем по ней правой кнопкой мыши и открываем параметры. Как подключиться к интернету через BlueTooth
  4. В отобразившемся окне выбираем «Добавление Bluetooth или другого устройства».Как в Windows 10 подключиться к интернету через Bluetooth
  5. Нажимаем «Bluetooth».Как в Windows 10 подключиться к телефону через Bluetooth
  6. Выбираем нужное нам устройство и жмем «Подключиться». В это время на телефон придет уведомление, которое также нужно подтвердить.Как в Windows 10 подключиться к смартфону по Bluetooth
  7. Возвращаемся в настройки Bluetooth и выбираем «Устройства и принтеры».Подключение к интернету через Bluetooth Windows 10
  8. Осталось найти наш смартфон и подключиться к нему через точку доступа.Как подключиться к интернету смартфона через Bluetooth

Убедитесь, что ваш телефон и ноутбук не подключены к какой-либо другой сети.

Через USB-подключение

Для подключения через USB нам потребуется простой провод Type-A/C на Type-C/Micro B – в общем тот, который вы обычно используете для зарядки.

Подключаем телефон к компьютеру и выполняем следующие действия:

  1. Выдвигаем шторку и нажимаем на «USB для передачи файлов».Как подключить компьютер к интернету смартфона через USB
  2. В отобразившемся окне активируем пункт «USB модем».Как передать интернет телефона через USB
  3. Теперь переходим к компьютеру – в правой части должно появиться новое окно с предложением подключить новую сеть. Жмем «Да».Как подключиться к интернету телефона через USB
  4. Если окно не появилось, то вы можете подключиться через нижнюю панель:Подключение к интернету через кабель

Вот такими несложными манипуляциями мы смогли подключиться к интернету, который раздается со смартфона на Android.

Настройка раздачи

Не обязательно использовать маршрутизатор, чтобы раздавать беспроводной Интернет по квартире или дому.

Задаваясь вопросами о том, как можно самостоятельно раздать Wi-Fi через обычную командную строку, важно понимать, что это невозможно без наличия встроенного Wi-Fi-модуля.

Wi-Fi модуль

Встроенный Wi-Fi модуль на ноутбуке

Если ваш ПК подключён к Интернету с помощью провода, его вполне можно задействовать как устройство для раздачи Интернета на другие девайсы, включая смартфоны, планшеты и ноутбуки. Достаточно реализовать включение этого режима через КС.

Технически такая возможность появилась достаточно давно. Но конфигурации и процесс настроек изменился буквально за последние 2-3 года.

Если вы не знаете, как включить раздачу Интернета через Wi-Fi, используя командную строку, тогда отталкивайтесь от следующей инструкции:

Стоит обязательно отметить, что перед началом всех настроек обязательно нужно проверить наличие поддержки режима Ad-Hoc со стороны используемого на вашем компьютере адаптера для обеспечения работы беспроводной сети. Если быть точнее, то поддержка реализуется драйвером этого адаптера.

Чтобы сделать это, прописывается стандартная команда netsh wlan show drivers через КС.

Но на этом настройка вашего беспроводного Интернета, раздаваемого компьютером со встроенным модулем, не завершена. Потребуется выполнить ещё ряд действий, реализуемых через стандартную, но горячо любимую командную строку.

Открытие общего доступа

Предположим, что вы решили раздавать Wi-Fi с ноутбука, и для этого используете самую обычную командную строку. Правда, запущенную от имени администратора.

На предыдущем этапе стало понятно, как создаётся и подключается точка доступа. Но этого недостаточно. Теперь ещё нужно обеспечить общий доступ к созданной беспроводной сети Интернет. За счёт этого остальные девайсы, доступные в доме или квартире, смогут через компьютер или ноутбук активно и беспрепятственно пользоваться Интернетом по беспроводной технологии.

Чтобы раздавать всем Wi-Fi, при работе с ноутбука через командную строку потребуется выполнить такие действия:

Здесь напрямую использовать командную строку не потребуется. Вы ещё на предыдущем этапе выполнили запуск созданной точки доступа. А теперь обеспечили возможность подключения к сети для других компьютерных и даже мобильных устройств.

Завершив все указанные шаги, в списке сетевых подключений появится новая беспроводная сеть, созданная на компьютере от проводного Интернета.

ВАЖНО. Беспроводная сеть, функционирующая через компьютер, будет работать лишь при условии, что сам ПК остаётся включённым и активным.

Если его отключить, то и Интернет по Wi-Fi раздаваться перестанет. Это во многом главный недостаток подобного подключения. Ведь когда используется маршрутизатор, то есть роутер, даже при выключенном ПК беспроводной Интернет всё равно продолжает работать.

Управление сетью

Настроив беспроводную сеть через командную строку, некоторым пользователям дополнительно требуется реализовать управление созданной сетью, выполнить какие-то изменения, внести корректировки в текущую конфигурацию.

Тут можно выделить несколько опций, которые можно отобразить и просмотреть с помощью командной строки:

  • netsh wlan show hostednetwork. Эта команда позволяет посмотреть на текущие настройки созданной беспроводной точки доступа. Здесь будут отображаться такие параметры как имя сети (SSID), используемый тип шифрования, применяемая аутентификация, допустимое количество допустимых одновременно подключаемых устройств. Также здесь можно узнать, сколько устройств подключено именно сейчас;
  • netsh wlan show hostednetwork setting=security. Это уже несколько другая команда. Она касается параметров безопасности и ключей подключения. С её помощью в мгновение можно получить все необходимые сведения, связанные с безопасностью созданной точки доступа;netsh wlan show hostednetwork
  • netsh wlan stop hostednetwork. Во многом полезная команда, поскольку с её помощью происходит быстрое отключение созданной Wi-Fi сети, раздаваемой через компьютер, который, в свою очередь, соединяется с Интернетом с использованием кабеля;netsh wlan stop hostednetwork
  • netsh wlan set hostednetwork mode=disallow. С таким значением нужно быть аккуратным, и лишний раз в командную строку не вставлять. Ведь при её вводе с последующим нажатием на Enter точка доступа полностью удаляется. Стирается также имя сети, то есть SSID и пароль сетевого доступа.netsh wlan set hostednetwork mode=disallow

ВНИМАНИЕ. Если SSID находится в скрытом режиме, тогда точка доступа не будет работать на компьютерах и ноутбуках под управлением ОС Windows.

Это важно учитывать заранее, чтобы потом не возникало вопросов.

Как включить адаптер Wi-Fi

Разумеется, через командную строку. Выполнить запуск адаптера Wi-Fi не сложно.

Помимо панели управления, доступной на всех компьютерах с ОС Windows на борту, также пользователь может задействовать возможности оболочки командной строки, либо Powershell на более свежих версиях Windows.

Используя КС, можно включать и отключать сетевые адаптеры на компьютерах и ноутбуках.

Для активации сетевого адаптера потребуется:

  • через меню «Пуск» найти инструмент «PowerShell» (аналог КС на новых версиях Windows);
  • прописать в поисковой строке Пуска слово power;
  • в списке совпадений выбрать PowerShell и кликнуть по нему правой кнопкой;
  • в открывшемся контекстном меню открыть приложение от имени администратора;
  • прописать команду для определения текущего имени адаптера беспроводной сети;
  • команда имеет вид Get-NetAdapter | format-table;Get-NetAdapter
  • отыскать строку в открывшемся окне, которая называется «Enable-NetAdapter -Name»;
  • после «Name» указать название своего адаптера;
  • затем дописать в эту же строку Confirm: $false;
  • в итоге должна получиться команда типа Enable-NetAdapter -Name PitBull -Confirm: $false, где PitBull как раз и является именем выбранного адаптера.

С отключением всё по аналогии. А именно нужно прописать ту же первичную команду для отображения адаптера, а затем в предыдущей команде значение Enable заменить на Disable.

Всё остальное остаётся без изменений.

Что такое мобильная точка доступа на самсунг

Эти сети работают так же, как ваша домашняя интернет-сеть, только они используют данные из вашего тарифного плана для создания беспроводного сигнала.

Просто убедитесь, что у вас есть такая функция и включенная в ваш тарифный план, в противном случае позвоните своему провайдеру, чтобы настроить его.

Обязательно следите за тем, сколько вам было выделено по вашему тарифному плану, и используйте их экономно, если у вас нет неограниченного объема данных.

Такое использование также накладывает очень большую нагрузку на аккумулятор, поэтому будьте осторожны, не оставляйте его включенным на несколько часов, если вы им не пользуетесь.

Попробуйте подключить телефон к источнику питания, если планируете какое-то время пользоваться точкой доступа.

Использование телефона таким образом — не самый рентабельный или действенный вариант выхода в интернет.

Только это действительно пригодится, если у вас отключен домашний, или если вы отправляетесь по делам или путешествуете за границу.

Использование этого способа особенно полезно, если вы хотите избежать входа в незащищенную общедоступную сеть, когда вы находитесь вдали от дома, что может подвергнуть ваш телефон вредоносному ПО и другим угрозам безопасности.

Сколько стоит раздать интернет на самсунг а10, а31, а12, м31, а71, а30, а40, м21, а70, а32, а52, а72, а70, а20

Тарифный план сотовой связи с включенными данными точки доступа будет стоить согласно вашему тарифу.

Некоторые планы сотовой связи не включают такую функцию раздачи, поэтому вам придется перейти на новый тарифный план, если вы этого хотите.

Обычно можете заплатить за дополнительные данные, когда они закончатся. У сотовых провайдеров разные тарифы на дополнительные данные.

Большинство телефонов имеют уже встроенную функцию, но провайдеры беспроводной связи иногда требуют, чтобы вы платили за возможность сделать это.

Также распространено ежемесячное ограничение на объем данных, которые вы можете использовать для личных потребностей.

Если вы не уверены в своей настройке, позвоните своему провайдеру и спросите, нужен ли вам специальный план, и уточните, сколько гигабайт данных в месяц вы можете использовать в качестве точки доступа.

Как использовать смартфон в качестве модема

Любой современный смартфон, у которого есть доступ к интернету, может стать его источником и раздать сеть по Wi-Fi или же по проводу. Как правило, у гаджетов уже есть подходящие драйвера для превращения в точку доступа, а вам нужно только найти необходимые параметры в настройках своего телефона.

Важно: используя мобильный интернет, не забывайте о трафике. Если вы часто подключаете гаджет как модем, переходите на тариф, который предлагает большой пакет гигабайт. Качество и надежность связи также будет зависит от скорости интернета и расположения вышек вашего провайдера.

Как подключить Android-смартфон как USB-модем

Когда вы подключаете смартфон к компьютеру, на рабочем столе гаджета появляется меню, в котором можно выбрать режим подключения — зарядка или передача файлов. Параметры USB-модема прячутся в настройках телефона и не установлены по умолчанию, так что вам придется найти их вручную.

В качестве примера мы использовали смартфон на Android 9 в оболочке EMUI, но на всякий случай привели названия пунктов меню в других версиях Андроид.

Используем телефон как модем для компьютера или ноутбука

  1. Подключите телефон к ПК через USB. Если это новое устройство, дождитесь завершения установки драйверов.
  2. Откройте настройки смартфона. В разделе «Беспроводные сети» («Сеть») найдите пункт «Режим модема» («Модем и точка доступа»).
  3. Активируйте USB-модем. На компьютере появится новая сеть с доступом к интернету.

Как использовать телефон Samsung в качестве модема

Для раздачи интернета гаджеты Самсунг могут использовать программу Smart Switch (Kies). Установите ее на свой смартфон и подключите его к ПК. На мониторе ПК в диспетчере устройств Windows появится новое оборудование от Samsung.

Используем телефон как модем для компьютера или ноутбукаДалее в настройках смартфона выберите вкладку «Подключения» — «Модем и точка доступа» — «USB-модем».

Используем телефон как модем для компьютера или ноутбука

После активации мобильного модема на компьютере появится уведомление, что Интернет доступен.

Диапазон Wi-Fi сети как основная причина проблемы

Основная причина, по которой ноутбук может не видеть Wi-Fi при раздаче с телефона — неподдерживаемый диапазон беспроводной сети. Суть происходящего следующая:

  1. Многие современные телефоны по умолчанию раздают Wi-Fi на частоте 5 ГГц.
  2. Не все ноутбуки и Wi-Fi адаптеры компьютера поддерживают этот диапазон, есть поддержка только 2.4 ГГц.
  3. Результат — сеть не видна в списке доступных сетей.

Решение для этого случая простое — переключить раздачу Wi-Fi на телефоне на 2.4 ГГц. Сделать это можно следующим образом:

  1. На Android (привожу пример для Samsung Galaxy, но на других смартфонах с Android логика действий должна быть той же самой) зайдите в Настройки — Подключения — Мобильная точка доступа и модем, нажмите по пункту «Мобильная точка доступа» и нажмите «Настроить». В разделе «Предпочтительная частота» вы сможете выбрать нужный диапазон сети. Выбор диапазона сети при раздаче Wi-Fi с Android
  2. На iPhone зайдите в Настройки — Режим модема и включите функцию «Максимальная совместимость». Включение режима максимальной совместимости Wi-Fi на iPhone

После того, как действия были проделаны проверьте, отображается ли теперь сеть Wi-Fi на ноутбуке.

Что такое ключ безопасности сети Wi-Fi

Ключ безопасности сети — это то же самое, что «пароль Wi-Fi», просто в иной формулировке. Это ключ или пароль, требующийся, чтобы подключить ваш ноутбук, ПК или телефон к защищенной беспроводной сети, а большинство беспроводных сетей сегодня именно защищенные и обмен данными с ними происходит в зашифрованном виде.

Введите ключ безопасности сети в Windows 10

Соответственно, когда вы подключаетесь к Wi-Fi с вашего ноутбука с Windows 10 и нажимаете по имени сети, рядом с которой изображен «замок», вы пробуете подключиться именно к защищенной сети, которая требует указанный ключ безопасности сети или, по-простому, пароль Wi-Fi.

Как, вероятно, начинающему пользователю, вам следует учитывать, что в обширном списке сетей, которые вы можете видеть в списке доступных для подключения, большинство принадлежат соседям и ключ безопасности сети задан ими самостоятельно, то есть вы не можете узнать ключ безопасности любой из доступных сетей и подключиться, разве что спросить у соседа (альтернативные методы не совсем для начинающих и в рамках этого сайта не рассматриваются).