Как подключиться к WiFi, используя только CMD?

Как подключиться к новому WiFi, введя пароль с помощью CMD?

Для своего школьного проекта я решил создать программу WiFi_manager с помощью cmd.

Я знаю, чтобы отобразить все сети WiFi (в cmd):

netsh wlan show networks

Теперь предположим, что я хочу подключиться к сети Wi-Fi, к которой раньше никогда не подключался. И что WiFi еще не добавлен в профили.

Но я знаю пароль от WiFi.

1) Какой будет командная строка для этого.

Учитывая информацию о сети WiFi ниже:

SSID 3 : Ismail
    Network type            : Infrastructure
    Authentication          : WPA-Personal
    Encryption              : CCMP

and password is "Thanks_bro".

Если это невозможно, можно ли это сделать с помощью C++?

См. также:  Вызов функции Flutter Cloud с параметрами
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 3
  1. Jim Kim.

    Итак, вы уже знаете netsh wlan

    Если вы введете его, вы получите список возможных команд. Один из них add.

    Если вы введете netsh wlan add, вы получите еще один список возможных подкоманд. Один из них profile.

    Если вы введете netsh wlan add profile, вы получите подробное объяснение всех его возможных параметров. Одним из необходимых параметров является файл XML, содержащий информацию о профиле.

    Итак, как получить такой файл XML? Вернитесь к netsh wlan и изучите ключевые слова. Есть export.

    Если вы введете netsh wlan export, вы получите еще один список возможных подкоманд. Один profile. Он создает XML в вашем локальном каталоге, содержащий необходимую информацию для вашего текущего соединения WiFi.

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

    netsh wlan export profile key=clear
    

    Вот пример, который уже содержит необходимые заполнители

    <?xml version="1.0"?>
    <WLANProfile xmlns="https://www.microsoft.com/networking/WLAN/profile/v1">
        <name>{SSID}</name>
        <SSIDConfig>
            <SSID>
                <name>{SSID}</name>
            </SSID>
        </SSIDConfig>
        <connectionType>ESS</connectionType>
        <connectionMode>auto</connectionMode>
        <MSM>
            <security>
                <authEncryption>
                    <authentication>WPA2PSK</authentication>
                    <encryption>AES</encryption>
                    <useOneX>false</useOneX>
                </authEncryption>
                <sharedKey>
                    <keyType>passPhrase</keyType>
                    <protected>false</protected>
                    <keyMaterial>{password}</keyMaterial>
                </sharedKey>
            </security>
        </MSM>
        <MacRandomization xmlns="https://www.microsoft.com/networking/WLAN/profile/v3">
            <enableRandomization>false</enableRandomization>
        </MacRandomization>
    </WLANProfile>
    

    Просто замените ключевые слова {SSID} (встречается два раза) и {password} на нужные значения и импортируйте этот файл, вызвав

    netsh wlan add profile filename="myProfile.xml"
    

    спасибо, братан, понял, может быть, еще один день, чтобы изучить ВСЮ ЦЕПЬ команд netsh. Но поскольку я спешу закончить свой проект, у меня есть еще проблемы, которые нужно решать и учиться! на данный момент не могли бы шаги для меня, пожалуйста! Спасибо person Jim Kim.; 15.12.2016

    Все шаги в моем ответе. Просто попробуйте их и изучите результаты. person Jim Kim.; 15.12.2016

    Братан, это покажет только пароль WiFi, который подключался раньше! Мне нужна команда, которая позволит мне подключиться к новому Wi-Fi, введя пароль и введя его в cmd. Надеюсь, вы получили мой вопрос. person Jim Kim.; 16.12.2016

    Напишите файл шаблона (из файла дампа), содержащий заполнитель (например, {password}). Затем напишите сценарий powershell, который запрашивает нужные параметры (см. ответ) и замените текст в файле шаблона (см. этот ответ). Затем используйте вызов netsh wlan add profile, чтобы добавить его к системе. person Jim Kim.; 16.12.2016

    У меня уже БЫЛА эта идея. Не удалось, две проблемы: 1) В xml файле система хранит пароль wifi в зашифрованном виде. поэтому я должен преобразовать свой пароль в эту форму и сохранить его как xml, который невозможно преобразовать. 2) Защитник Windows отлавливает мои файлы как вредоносные. person Jim Kim.; 16.12.2016

    Если вы вызовете команду экспорта с помощью key=clear, вы получите пример файла, который содержит пароль в виде открытого текста. Узел protected — это false, а узел keyMaterial содержит ключ в виде открытого текста. person Jim Kim.; 19.12.2016

    Спасибо, Бро! Я хожу !! Также посетите: superuser.com/questions/1157485/ . И попробуй помочь. person Jim Kim.; 19.12.2016

    Как ввести имя пользователя и пароль для корпоративного WiFi? person Jim Kim.; 05.12.2019

    @JPX: Что объявляет WiFi корпоративным? И в чем отличие с точки зрения клиента? Либо задайте новый вопрос и опишите свои отличия, либо настройте WiFi через Windows как обычно и экспортируйте профиль, как описано выше. person Jim Kim.; 05.12.2019

    @Oliver Enterprise WiFi использует WPA2-Enterprise, а не WPA2-PSK. Протокол WPA2-Enterprise PEAP-MSCHAPv2 требует имя пользователя и пароль. Thill обеспечит безопасный доступ для нескольких пользователей (в отличие от WPA2-PSK, поскольку пароль WPA2-PSK должен быть известен всем пользователям). Сервер RADIUS будет обрабатывать аутентификацию, основанную на 802.1X. Имя пользователя и пароль не включены в XML-файл профиля. Вот почему ваше решение не работает. person Jim Kim.; 05.12.2019

    ИМХО, если вы настраиваете предприятие, вы должны иметь возможность развертывать объекты групповой политики для своих пользователей и их компьютеров. AFAIK можно настроить, например. с Intune, как эти машины должны подключаться и настраивать все необходимое для подключения к вашему WiFi, но я этого не знаю и, возможно, стоит нового вопроса (но, возможно, из-за сбоя сервера или суперпользователя). person Jim Kim.; 06.12.2019

    @Oliver Я создал новый вопрос об этом. В Intune нельзя установить имя пользователя и пароль. serverfault.com/questions/994281/ person Jim Kim.; 06.12.2019

  2. Jim Kim.

    Простой netsh wlan ? в командной строке показывает, что есть команда netsh wlan connect. Однако похоже, что для этой команды требуется уже существующий «профиль»; вам нужно будет создать это, используя netsh wlan add.
    Детали оставлены в качестве упражнения для читателя. (В конце концов, это домашнее задание.)

    Существует также образец клиента WLAN на C/C++, использующий Windows API, включенный в Windows SDK. Я нашел это, выполнив поиск wlanclient msdn, страница здесь.

  3. Jim Kim.

    на Mac вы можете использовать эту строку bash в терминале для входа в сеть Wi-Fi:

    networksetup -setairportnetwork port networkname password
    

    Примечание.

    port — ваш порт Wi-Fi (на моем Mac это порт en0)

    название сети – это название сети, например Starbucks.

    пароль — это просто пароль для сети.

    если пароль уже сохранен в вашей связке ключей, вам не нужен этот параметр

    это должно работать и на других системах

    cmd доступен только для ОС Windows person Jim Kim.; 21.08.2018

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: