Як сканувати точки бездротового доступу?


15

У Ubuntu 11.04 я використовував InSSIDer для сканування доступних точок доступу та сортування їх за силою сигналу.

На жаль, програма, здається, зламана в Ubuntu 11.10 і

iwlist wlan0 scan

не повертає нічого значимого.

Які параметри я повинен сканувати на наявність бездротової точки доступу, можливо, з графічним інтерфейсом?


1
Випуск Ubuntu? Обладнання? Середовище? "щось значиме"? Чи потрібно мені встановити 11.04 та InSSIDer, щоб дізнатися, яку поведінку ви шукаєте? Що насправді означає "начебто зламане"? Будь ласка, допоможіть нам допомогти вам, включивши інформацію у свої запитання. "Параметри"? Спробуйте мережевий менеджер. Ви повинні знайти його значок у верхньому рядку.
waltinator

Якщо ви прочитаєте його уважніше, все вже є. Я використовую ubuntu 11.10, а inssider взагалі не запускається. Я використовую Intel wifi. Я хочу перерахувати всі доступні мережі, відсортовані за силою.
Маскарпоне

2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'повинні допомогти.
waltinator

Відповіді:


19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' повинні допомогти.

Це комбінація sudo(запускати як root, виконувати привілейовані операції), iwlist wlan0 scanning(виробляти деякий вихід на STDOUT), символ труби "|" (підключення STDOUT команд (и) ліворуч до STDIN процесу праворуч) та egrepкоманда з "єдиним цитуванням" (щоб запобігти інтерпретації оболонки символів "|") Регулярний вираз для фільтра STDIN . Див man bash, man sudo, man iwlist, man egrep, і man re_formatдля деталей.

ЗАВЖДИ робіть людину, що завгодно (як зазначено вище), перш ніж виконувати командний рядок у когось іншого. Самовиховання набагато безпечніше, ніж сліпа довіра.


2
Чи можете ви включити пояснення цієї команди?
NN

2
Чи можете ви, замість цього, включити пояснення у своє запитання, щоб інші могли простіше знайти його та отримати користь. Причина, яку я попросив пояснити, - зробити вашу відповідь максимально повною.
NN

Ви можете, за бажанням, додати, що пошук за рукописними сторінками дуже просто /. Багато нових користувачів Linux лякаються розміру підручних сторінок та їх неможливості швидко знайти правильну інформацію.
user93692

Ця команда не потребує пояснень. Питання не в трубах або маніпуляціях. Потрібно припустити деякі необхідні знання, інакше більшість відповідей на цьому сайті доведеться починати з інструкцій щодо відкриття терміналу.
Кіт

7

Використання iw

У мене не nm-toolвстановлено, тому я використовую iw.

Ця команда сортує точки доступу за силою сигналу, найсильнішим спочатку:

sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort

Кожна команда пояснювала:

iw dev wlan0 scan: Сканування точок доступу, доступних через інтерфейс wlan0

egrep "signal:|SSID:": Отримайте лінії з силою сигналу та SSID з iwвихідних даних. Вихід виглядає приблизно так:

        сигнал: -77,00 дБм 
        SSID: nameOfAccessPoint1
        сигнал: -71,00 дБм
        SSID: nameOfAccessPoint2

sed -e "s/\tsignal: //" -e "s/\tSSID: //": Зменшіть egrepвихід до цього:

-77,00 дБм 
nameOfAccessPoint1
-71,00 дБм
nameOfAccessPoint2

awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Приведіть потужність сигналу та SSID в одну лінію. Більш конкретно, коли номер рядка ( NR) парний, тобто ми знаходимося на лінії, що показує точку доступу, роздільником запису виводу ( ORS) повинен бути розрив рядка. В іншому випадку ми знаходимося на лінії, що містить силу сигналу, тому ми приєднуємось до лінії, зробивши ORSпростий пробіл.

Якщо ми отримаємо sortцей висновок, ми закінчимо список сильних сигналів та точок доступу, показуючи точку доступу з найсильнішим сигналом зверху:

-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1

Остерігайтеся: Деякі точки доступу можуть мати розширені можливості: Розширені можливості: * Список SSID

Отже, перехоплення "SSID:" замість "SSID" допомагає уникнути цього додаткового виходу, що призведе до відмови команди в іншому випадку.


1
Трубопроводи grepдля sedщоб awk, ви не просто любите Linux! Дуже приємна вичерпна відповідь. Я знаю, що я не повинен писати безкоштовного коментаря, але це справді заслуговує на це, ви навіть включили проміжний вихід.
user93692

5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. Скористайтеся результатами, nm-toolщоб отримати список точок бездротового доступу
  2. Фільтруйте, щоб отримати лише точки доступу
  3. Використовуйте sedдля додавання рівня сигналу перед кожним рядком
  4. сортувати вихід у формі у зворотному порядку (перший найбільший)

nm-tool є частиною пакету "мережевий менеджер", який, очевидно, встановлений у типовій системі Ubuntu.


Спасибі! Ця команда корисно забезпечує стислий та повний підсумок усіх точок доступу в діапазоні. Здається, команда iwlist динамічно змінюється від запуску до запуску на основі поточної активності Wi-Fi; також здається, що це не вдається, коли надто багато AP-файлів з Wi-Fi надсилають інформацію відразу.
phord

2

Ви також можете використовувати nmcli, я знайшов це кілька місяців тому, і це найпростіший, який я використовував до цих пір.

nmcli device wifi

Щоб отримати іншу інформацію, перегляньте головну сторінку.


Спасибі. Набагато швидше і стабільніше, ніж iwкомандування.
Хай Луонг Донг

-2
iwinfo wlan0 scan

wlan0 - це бездротовий інтерфейс

результат, як показано нижче в списку ...

Cell 06 - Address: F0:B4:29:50:76:0C
          ESSID: "Xiaomi_760B"
          Mode: Master  Channel: 1
          Signal: -38 dBm  Quality: 70/70
          Encryption: mixed WPA/WPA2 PSK (TKIP, CCMP) 
....

команда поверне інформацію про шифрування

система: openwrt 15.05

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.