Как подключиться к точке доступа Wi-Fi через WPS?

Как подключиться к точке доступа Wi-Fi через WPS? Все пути будут хорошими: конфиги, CLI, GUI - все что угодно.

5 ответов

Решение от ryanjna... @ gmail.com http://code.google.com/p/reaver-wps/issues/detail?id=203

  1. Остановить Network-Manager

    Использование Upstart

    sudo stop network-manager
    

    Использование Systemd

    sudo systemctl stop NetworkManager.service
    
  2. Настройте себя очень простой wpa_supplicant.conf в /etc/wpa_supplicant.conf, Эта команда перезапишет любой предварительно существующий файл wpa_supplicant.conf!:

    echo -e "ctrl_interface=/var/run/wpa_supplicant\nctrl_interface_group=0\nupdate_config=1" | sudo tee /etc/wpa_supplicant.conf
    
  3. Начните wpa_supplicant в режиме демона:

    sudo wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
    
  4. Бежать sudo wpa_cli, Это запустит интерактивный сеанс wpa_cli.

    • Убедитесь, что это работает, выполнив команду status, Тебе следует увидеть wpa_state=INACTIVE
    • вопрос scan сканировать существующие точки доступа.
    • вопрос scan_result через несколько секунд, чтобы показать результаты вашего сканирования
    • Добавьте наш BSSID и PIN-код:

       wps_reg xx:xx:xx:xx:xx:xx 12345678
      

      куда xx:xx:xx:xx:xx:xx ваш BSSID из результатов сканирования. Вы должны увидеть "ОК". Подождите еще несколько секунд, как wpa_supplicant поднимает BSSID и пытается связать и выполнить согласование ключей. То, что вы хотите увидеть, это CTRL-EVENT-CONNECTED, который будет указывать, что PIN-код был принят и что вы теперь связаны.

    • Введите команду save, который должен вывести еще одно "ОК". Это обновит wpa_supplicant.conf файл, как указано в командной строке, со статической конфигурацией для этой новой сети.
    • Теперь выход wpa_cli нажав Ctrl D
  5. Бежать sudo dhclient wlan0 получить IP от AP (предполагая, что DHCPd был включен).

  6. Проверить с помощью cat /etc/wpa_supplicant.conf Ваш недавно обновленный конфигурационный файл.

    Если все прошло хорошо, вы должны иметь строку под этой новой сетью под названием psk,

Удачи!

Протестировано с использованием Ubuntu 16.04 LTS:

Для режима кнопки WPS:

sudo wpa_cli wps_pbc

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

Для режима WPS Pin:

sudo wpa_cli wps_pin any <the pin>

http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/external/bsd/wpa/dist/wpa_supplicant/README-WPS

Подключитесь через WPS на настройке Windows, где это работает из коробки.

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

Скопируйте этот пароль в вашу настройку Ubuntu.

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

  1. Шаги 1-3 из /questions/162903/kak-podklyuchitsya-k-tochke-dostupa-wi-fi-cherez-wps/162912#162912 .

  2. Это, чтобы включить фактический толчок: /questions/162903/kak-podklyuchitsya-k-tochke-dostupa-wi-fi-cherez-wps/162908#162908 .
    В этом случае я использовал кнопку, а не булавку.

  3. И закончить с dhclient.

Связывание скрипта, чтобы показать, как он работает с комментариями. Надеюсь, это нормально.

      #!/bin/sh
# tadaen sylvermane | jason gibson
# connect to wps capable router via push button. yes we need a gui solution
# but this does it via terminal window. just run the script.

# https://askubuntu.com/questions/120367/how-to-connect-to-wi-fi-ap-through-wps

WIFIIF=$(grep wpa /proc/net/unix | cut -d \/ -f 4)
WPACONF=/etc/wpa_supplicant.conf

# steps 1-3 https://askubuntu.com/a/170799

if [ "$USER" = root ] ; then
    # stop NetworkManager for this session
    systemctl stop NetworkManager
    # create wpa supplicant base file
    if [ ! -f "$WPACONF" ] ; then
        echo "ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1" > "$WPACONF"
    fi
    # start wpa_supplicant daemon
    wpa_supplicant -B -Dwext -i"$WIFIIF" -c "$WPACONF"
    # https://askubuntu.com/a/769600
    wpa_cli wps_pbc
    # go push the button!
    echo "push the wps button on the router now!"
    read -p "after wps button pushed type yes to connect or no to cancel -> " \
    yesno
    case "$yesno" in
        Y|y|yes|Yes|YES)
            dhclient
            wait
            ping -c 1 8.8.8.8 && echo "connected!" && exit 0
            ;;
        *)
            # cancel all above changes #
            rm "$WPACONF"
            kill $(ps aux | grep "$WIFIIF" | grep root | awk '{print $2}')
            systemctl start NetworkManager
            exit 0
            ;;
    esac
else
    echo "must run as root or with sudo"
    exit 1
fi

# end script #

Если вы не хотите вводить пароль, вы должны нажать на индикатор Wi-Fi, выбрать сеть Wi-Fi, а затем, когда появится экран ввода пароля, нажмите кнопку wps в Wi-Fi AP, это автоматически подключит вас без пароля. Он работал на моей машине с Ubuntu 18 и 20.

Другие вопросы по тегам