Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [WiFi Hostapd AP] Программа для создания точки доступа WiFi  (Прочитано 240227 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн beatstream

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
ну да, историю развития проекта я представляю - перечитал всю тему пару раз, пока все настраивал)

да, qt4.6.x вроде стоит, как раз qutim0.3 не ставится из-за этого. Попробую что-нибудь поставить, а то только скомпилил и поставил все дрова, вроде даже работает - уже неохота обновлять систему целиком. Да и вообще начиная с 11.10 там все сломали и сказали привыкать, потому что так гораздо лучше :`( Но это уже совсем другая история.

иконка кстати в заголовке и на панели есть, просто текст левый =)

"исходищий" в версии от 04.03.12, качал с code.google

телефон подключается к WPA2 без проблем, а вот psp slim тупо не поддерживает. Не фатально конечно, на псп мне инет вообще почти не нужен. А пример какого конфига нужен? Для хостапд? И WPA2 менять на WPA ручками в конфиге хостапд (у меня гамбас же пока что)?

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
ну да, историю развития проекта я представляю - перечитал всю тему пару раз, пока все настраивал)

да, qt4.6.x вроде стоит, как раз qutim0.3 не ставится из-за этого. Попробую что-нибудь поставить, а то только скомпилил и поставил все дрова, вроде даже работает - уже неохота обновлять систему целиком. Да и вообще начиная с 11.10 там все сломали и сказали привыкать, потому что так гораздо лучше :`( Но это уже совсем другая история.

иконка кстати в заголовке и на панели есть, просто текст левый =)

"исходищий" в версии от 04.03.12, качал с code.google

телефон подключается к WPA2 без проблем, а вот psp slim тупо не поддерживает. Не фатально конечно, на псп мне инет вообще почти не нужен. А пример какого конфига нужен? Для хостапд? И WPA2 менять на WPA ручками в конфиге хостапд (у меня гамбас же пока что)?


Да там, вроде, обновляется только QT. Подключите в источниках багрепорты, в синаптике найдёте libqtgui версии 4.7. Для Lucid его собирают, так как это LTS.

Да, конфиг нужен для Hostapd. В старой версии пытался прикрутить, но лично у меня с таким WEP-овским конфигом HOSTAPD отказался подниматься. Поэтому я даже не стал переносить эту защиту в C++-версию.
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн beatstream

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
итак, содержимое hostapd.conf для wep-защиты. Работает на гамбасе, пока больше негде проверить.
(Нажмите, чтобы показать/скрыть)

Думаю, тебе все строки понятны) Наверное еще стоит явно указать все 4 ключа от 0 до 3 (т.е. wep_key0="nullpass" wep_key1="nullpass" и т.д.)

Пробую WPA...

(Нажмите, чтобы показать/скрыть)

Тут тоже думаю все понятно - в проге у тебя ставится wpa=2, и псп не подключается. Когда wpa=3, то защита уже WPA/WPA2, и телефон подключается через ВПА2, а псп через ВПА. Кагбэ универсально)
« Последнее редактирование: 10 Марта 2012, 16:19:34 от beatstream »

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
итак, содержимое hostapd.conf для wep-защиты. Работает на гамбасе, пока больше негде проверить.
(Нажмите, чтобы показать/скрыть)

Думаю, тебе все строки понятны) Наверное еще стоит явно указать все 4 ключа от 0 до 3 (т.е. wep_key0="nullpass" wep_key1="nullpass" и т.д.)

Пробую WPA...

(Нажмите, чтобы показать/скрыть)

Тут тоже думаю все понятно - в проге у тебя ставится wpa=2, и псп не подключается. Когда wpa=3, то защита уже WPA/WPA2, и телефон подключается через ВПА2, а псп через ВПА. Кагбэ универсально)


Понял. Спасибо за разъяснения.


Насчёт, что есть wep_key_len_broadcast, понятно, длинна пароля.
А wep_key_len_unicast есть что?
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн beatstream

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
# Key lengths for default/broadcast and individual/unicast keys:
# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)

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

инфу брал тут http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/hostapd.conf

UPD. Да, оба значения это просто длина ключа. Броадкаст - ключ на вещание - для шифрования данных всех подключенных клиентов. Юникаст - я так понял, каждому клиенту при подключении выдается собственный ключ на шифрование, которым шифруют данные вместе с ключом броадкаст. Звучит круто, но тем не менее WEP пароли ломаются легче всего)))

инфу брал тут и тут:
http://www.unix.com/man-page/freebsd/5/hostapd.conf/
http://www.cwnp.com/bbpress/topic.php?id=669

и тут в презентации описывается процесс авторизации, если интересно
http://www.cs.sjsu.edu/~stamp/CS265/projects/papersSpr03/EAP.ppt
« Последнее редактирование: 10 Марта 2012, 20:59:43 от beatstream »

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
И так, вот и новая версия (0.9.4.10): http://code.google.com/p/wifi-hostapd-ap/downloads/detail?name=WiFi_Hostapd_AP-0.9.4.10_10.03.12.tar.gz&can=2&q=#makechanges


Что нового:
1. Улучшен метод включения/отключения точки доступа.
2. Новый метод проверки статуса интерфейса (через "ip a").
3. Список клиентов.
4. Монитор трафика обновлён.
5. Добавлена защиты WEP и WPA3 (спасибо beatstream за помощь и разъяснения).
6. Обновлена локализация.
7. Исправление мелких багов и недочётов.


Ожидается далее:
1. Логи (ну никак я до них не дойду!)
2. Детальная информация о том, почему не включилась или не отключилась точка доступа.
3. Что-нибудь придумаю... :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн beatstream

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
поставил пакет libqtgui 4.7.0 из бэкпортов кубунты.
при запуске новой срр версии прога запускается на 4-5 секунд, и вылетает.
предыдущая версия работает как и раньше - при входе в меню известная ошибка.

консоль:
(Нажмите, чтобы показать/скрыть)

Причем да, при запуске почему-то опять ТД уже активна, хотя проверил вручную: работал только wifi в режиме мастера и хостапд 0_о

Тут пришла в голову мысль - возможно у меня прога в принципе неверно осуществляет команды. По каким условиям прога у тебя делает вывод, что "AP is running."? По идее, ТД активна, если запущены все службы. Если хотя бы одной нет... А судя по консоли, режим работы тут как бы не очевиден - половина служб запущены, а половина нет.

Тут еще одна мысль - при выводе в stdout писать не "ОК" после ответа команды, а соответствующее "RUNNING/NOT RUNNING". Для отладки должно пригодиться.

Какие еще зависимости есть у программы?

Решил добавить - кутим 0.3 работает, он тоже требует qt 4.7

Придется-таки обновлять дистрибутив(( ладно, дождусь уже 12.04... благо что LTS
« Последнее редактирование: 11 Марта 2012, 02:46:23 от beatstream »

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Попробуйте по порядку эти команды после перезапуска системы:

ip a | grep wlan0 | grep UP
/etc/init.d/dnsmasq status | grep "(running)"
/etc/init.d/hostapd status | grep "hostapd is running"
sysctl net.ipv4.ip_forward | grep 1

За проверку точки доступа ответственна эта функция:
Код: (C++) [Выделить]
void MainWindow::checkStatus() {
    char tmp1[200], tmp2[200], tmp3[200], command[100], *temp;
    QSettings *GlobalSettings = new QSettings("/root/.WiFiHostapdAP/WiFi_Hostapd_AP.conf",QSettings::NativeFormat); // создание нового объекта
    bool starting = true;
    QString temp_QT;
    qDebug() << "Testing AP... ";
    ////////////////////////////////////////////////////////////////////////////////////////////
    // Активирована ли точка доступа?
    ////////////////////////////////////////////////////////////////////////////////////////////
    // точка доступа активирована, если
    // 1. Поднят интерфейс
    ////////////////////////////////////////////////////////////////////////////////////////////
    strcpy(command, "ip a | grep ");
    temp_QT = GlobalSettings->value("AP/Iface", "wlan0").toString().toLocal8Bit();
    temp = temp_QT.toAscii().data();
    strcat(command, temp);
    strcat(command, " | grep UP");
    console(command, tmp1);
    if(strlen(tmp1)<3) { starting=false; qDebug() << command << " ... FAIL"; } else { qDebug() << command << " ... OK"; }
    ////////////////////////////////////////////////////////////////////////////////////////////

    // 2. Поднят DNSMASQ
    ////////////////////////////////////////////////////////////////////////////////////////////
    strcpy(command, "/etc/init.d/dnsmasq status | grep \"(running)\"");
    console(command, tmp2);
    if(strlen(tmp2)>5) { qDebug() << command << " ... OK"; }
    else { starting=false; qDebug() << command << " ... FAIL"; }
    ////////////////////////////////////////////////////////////////////////////////////////////

    // 3. Поднят Hostapd
    ////////////////////////////////////////////////////////////////////////////////////////////
    strcpy(command, "");

    temp_QT = GlobalSettings->value("DHCP/HOSTAPDstartCommand", "/etc/init.d/hostapd").toString().toLocal8Bit();
    temp = temp_QT.toAscii().data();
    strcat(command, temp);
    strcat(command, " status | grep \"hostapd is running\"");
    console(command, tmp3);
    if(strlen(tmp3)<5){ starting=false; qDebug() << command << " ... FAIL"; } else { qDebug() << command << " ... OK"; }

    // 4. Включен форвардинг
    ////////////////////////////////////////////////////////////////////////////////////////////
    strcpy(command, "sysctl net.ipv4.ip_forward | grep 1");
    console(command, tmp3);
    if(strlen(tmp3)<5){ starting=false; qDebug() << command << " ... FAIL"; } else { qDebug() << command << " ... OK"; }

    ////////////////////////////////////////////////////////////////////////////////////////////
    if(starting==true) {
        ui->identificator->setText(tr("<h3><font color=\"green\">Активировано</font></h3>"));
        ui->Activate->setEnabled(false);
        ui->Disactive->setEnabled(true);
        qDebug() << "AP is running. \n";

    } else {
        ui->identificator->setText(tr("<h3><font color=\"red\">Отключена</font></h3>"));
        ui->Activate->setEnabled(true);
        ui->Disactive->setEnabled(false);
        qDebug() << "AP not running. \n";
    }

    ////////////////////////////////////////////////////////////////////////////////////////////
    delete GlobalSettings;

}

void MainWindow::console( char cmd[], char *ret) {

    char buf[BUFSIZ];
         FILE *ptr;

         if ((ptr = popen(cmd, "r")) != NULL)
              while (fgets(buf, BUFSIZ, ptr) != NULL)
                  strcat(ret, buf);
                 pclose(ptr);
}

Вроде, все правильно. Иногда, бывает, чудит Popen (из-за этого теперь мониторю трафик через /proc/net/dev, а не ifconfig.
Буду разбираться. Насчёт падения сейчас погуглю. Вывод ни на что не натолкнул...

Пользователь решил продолжить мысль 11 Марта 2012, 14:00:02:
Попробуйте поставить из этого репозитория этот пакет:

deb-src http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
libqt4-core
« Последнее редактирование: 11 Марта 2012, 14:00:02 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Seregka74

  • Участник
  • *
  • Сообщений: 170
    • Просмотр профиля
    • Сайт by Seregka
На ubuntu 11.10 сейчас все чудесно все стартует, но одна беда почему то клиент не может получить ip  :( настройки проверил адреса верные почему не могу понять. А так все гуд. Включает, отключает, статус показывает, трафик считает. Как настроить выдачу ip?
После знакомства с Ubuntu, заколотил все форточки в доме!

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
На ubuntu 11.10 сейчас все чудесно все стартует, но одна беда почему то клиент не может получить ip  :( настройки проверил адреса верные почему не могу понять. А так все гуд. Включает, отключает, статус показывает, трафик считает. Как настроить выдачу ip?


ifconfig
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Seregka74

  • Участник
  • *
  • Сообщений: 170
    • Просмотр профиля
    • Сайт by Seregka
Данную беду решил вот как:

подправил файл: /etc/sysctl.conf

раскоментировал net.ipv4.ip_forward=1

заработало.

Но вот еще что точка почему то летает, через каждые секунд так 10 переподключается
После знакомства с Ubuntu, заколотил все форточки в доме!

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Данную беду решил вот как:

подправил файл: /etc/sysctl.conf

раскоментировал net.ipv4.ip_forward=1

заработало.

Но вот еще что точка почему то летает, через каждые секунд так 10 переподключается


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


А что в логах при переподключении?
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Seregka74

  • Участник
  • *
  • Сообщений: 170
    • Просмотр профиля
    • Сайт by Seregka
А где их смотреть? эти логи  :)

В терминале ни чего все гуд!

Я помню у меня была такая фигня когда я делал точку по : http://4pda.ru/forum/index.php?showtopic=175743&st=220#entry6239263

Я там как то решил эту беду а сейчас не могу вспомнить и сообразить как  :-\


Пользователь решил продолжить мысль 11 Марта 2012, 20:31:26:
Интересно, перезагрузился и все летать перестала все чудесно работает!

Только после перезагрузки когда программу запускаешь пишет что точка активна.

Ты молодец! Прога очень нужная!
« Последнее редактирование: 11 Марта 2012, 20:31:26 от Seregka74 »
После знакомства с Ubuntu, заколотил все форточки в доме!

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Да пишет то она и у меня почему-то пишет. Вот только почему, непонятно. Попробую ещё чего-нибудь придумать.
И спасибо. :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн aleksubuntu

  • Активист
  • *
  • Сообщений: 254
    • Просмотр профиля
ну вот наконец рабочая программа, к инструкции добавить сперва отключить потом включить, по желанию включить и настроить защиту, по умолчанию открытая точка доступа. Windows7 отваливается через минуту, а линукс нормально.
« Последнее редактирование: 17 Марта 2012, 10:07:16 от aleksubuntu »
ASUS A8N-VM CSM, amd64 x2 4400, 2Gb, WD320Gb, GTX260GS, window7 x64 & kubuntu-12.10-desktop-amd64, s-1401, s2-3200ci, aspire 5745dg

 

Страница сгенерирована за 0.023 секунд. Запросов: 19.