Linux scan wifi networks

How To Show Available WiFi Networks, Their Channels, Signal Strength And More From The Command Line

This can be useful to scan available WiFi networks to quickly see their signal strength, see their channels to know which WiFi channel to use for less interference, and so on.

There are multiple ways / tools to scan for available WiFi networks and list their details, but in this article I’ll only list 2 which are easy to use and provide enough information for this task.

Option #1: Scan and list available WiFi networks using nmcli

nmcli, a command line tool for controlling and reporting the network status, can scan and list available WiFi networks regardless of the WiFi being connected to a network or not. This should already be installed on your Linux distribution, it doesn’t require specifying the interface name, and can work without super user (sudo) privileges by default or at least that’s the case in my test on both Fedora and Ubuntu.

Use nmcli to show the available wireless networks SSID, mode, channel, transfer rate, signal strength, bars and security used using:

This is how the command output looks:

nmcli wifi scan

I’ve seen some users saying that they had to run nmcli with sudo to get it to show available wireless networks, but that wasn’t the case when trying this on Fedora 31 and 30, or on Ubuntu 19.10 or 18.04. Still, in case nmcli doesn’t show anything, try running it with sudo:

To get nmcli to show some extra information about the scanned WiFi networks, including the SSID-HEX, BSSID, frequency, and more, run it like this:

nmcli wifi scan extended details

This shows the scanned WiFi details in a tabular view. In case you want to switch to multiline view, so you don’t have to expand the terminal window width to see all the details, use -m multiline , like this:

nmcli -m multiline -f ALL dev wifi

For usage in scripts, use the terse ( -t ) output mode:

In case you want to force nmcli to rescan the available WiFi networks, use the rescan option:

Option #2: Get a list of available WiFi networks using wavemon

wavemon wifi scan

wavemon is terminal user interface (TUI) that uses ncurses, which monitors wireless signal and noise levels, packet statistics, device configuration and network parameters. Use this instead of nmcli, if you’re not using NetworkManager, or if you simply prefer this over nmcli.

Читайте также:  Синхронизировать время вручную linux

Using it you can get a list of available Wifi access points, regardless if you’re connected to a WiFi network or not. The tool requires super user permissions (e.g. run it with sudo) to scan for available Wifi networks by default.

wavemon can show the following information for available (scanned) WiFi networks: SSID, BSSID (access point mac address), signal quality, signal strength, WiFi channel, and frequency.

wavemon is not installed by default, but it’s available in the repositories for many Linux distributions. Install it as follows:

  • Debian, Ubuntu, Linux Mint, Pop!_OS, Elementary OS and other Debian or Ubuntu based Linux distributions:
sudo zypper install wavemon

To scan for available WiFi networks press F3 to switch to the scan tab.

Looking for a more advanced WiFi scanner with extra features? Check out Kismet, a command line tool that got a web UI back in April, 2019.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как сканировать беспроводные сети обычным Wi-Fi приёмником

Это ещё одна статья о том, что можно делать с помощью обычного Wi-Fi приёмника на Linux, другие статьи:

Как сканировать Wi-Fi обычной картой

Описанный в этой статье способ поможет вам собрать информацию о Wi-Fi сетях в округе с помощью любого Wi-Fi устройства.

Следующий скриншот это не airodump-ng — это результат работы крошечной программы на Linux:

Описанный способ не только является упрощённым вариантом сканирования (airodump-ng для бедных), но и даже имеет несколько преимуществ:

  • во время сканирования не нужно отключаться от Интернета — то есть можно одновременно пользоваться интернетом по Wi-Fi и сканировать беспроводные сети;
  • про второе преимущество я уже написал — подойдёт абсолютно любой Wi-Fi адаптер;
  • можно собрать больше информации о WPS, чем обычно показывают другие программы.

Недостатков тоже хватает — невозможно захватить Wi-Fi рукопожатие, а также получить информацию о количестве передаваемых точками доступа данных и количестве беспроводных клиентов.

Сбор информации о Точках доступа без режима монитора

Итак, в Linux узнаём имя беспроводного интерфейса:

У меня это интерфейсов два, их имена wlo1 (встроенная беспроводная карта) и wlp0s20f0u2 (USB адаптер), в Kali Linux это будет, скорее всего, wlan0.

Если интерфейс в состоянии down (если он не используется другими программами, например, для подключения к Интернету), то активируем его командой вида:

sudo ip link set ИНТЕРФЕЙС up
sudo ip link set wlp0s20f0u2 up

Теперь мы можем выполнить сканирование сетей:

sudo iw dev ИНТЕРФЕЙС scan
sudo iw dev wlp0s20f0u2 scan

Это пример информации об одной единственной беспроводной сети — примерно это же самое будет показано о всех сетях в пределах досягаемости:

А если указать опцию -u, то дополнительно будет выведена информация, которую не понимает даже сама система:

sudo iw dev wlp0s20f0u2 scan -u

Видно, что информации много — нужно просто её представить в удобном виде. Следующая команда сканирует и показывает таблицу с результатами. В этой команде замените wlp0s20f0u2 на имя вашего беспроводного интерфейса:

sudo iw dev wlp0s20f0u2 scan | awk 'BEGIN /BSS [a-z0-9:]/ /signal: / /SSID: / /DS Parameter set/ /Protected/ /Manufacturer/ /Model:/ /Model Number:/ /Device name:/'; echo

Как можно увидеть, я заострил внимание на WPS свойствах, но ничего не указал про WPA — по той причине, что практически для всех ТД информация о WPA очень схожая:

WPA: * Version: 1 * Group cipher: TKIP * Pairwise ciphers: TKIP * Authentication suites: PSK
WPA: * Version: 1 * Group cipher: CCMP * Pairwise ciphers: CCMP * Authentication suites: PSK

PSK — это pre-shared keys, то есть одинаковые ключи (пароли) на точке доступа и у каждого пользователя. Особой практической ценности в этой информации нет, но при желании вы можете сами отредактировать команду и добавить эти данные в таблицу.

Этот скрипт можно сохранить в файл:

#!/bin/bash IFACE=wlan0 sudo iw dev $IFACE scan | awk ' BEGIN /BSS [a-z0-9:]/ /signal: / /SSID: / /DS Parameter set/ /Protected/ /Manufacturer/ /Model:/ /Model Number:/ /Device name:/'; echo

замените wlan0 на имя вашего беспроводного интерфейса.

Интересного эффекта можно достичь в паре с командой watch:

sudo watch -n 5 bash wifi-mon.sh

В результате информация будет постоянно обновляться, примерно как в Airodump-ng:

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

Работа этого скрипта не препятствует Интернет-подключению на этой же самой карте к беспроводной Точке Доступа.

Связанные статьи:

Источник

How can I display the list of available Wi-Fi networks?

My Ubuntu laptop’s Wi-Fi works fine on various Wi-Fi networks. But the list of available networks accessed from the toolbar icon of nm-applet no longer appears. I just see the known networks. The list of hidden networks also doesn’t show any new networks. sudo iwlist scan likewise only shows known networks. How do I get a list of all available networks so I can connect to one? I am using Xubuntu 14.04.

Does terminal command nmcli dev wifi list give anything additional to what’s shown by the GUI applet?

Also worth noting that sudo iwlist scan shows more available networks than iwlist scan (without sudo ) — so this question by itself is helpful. But perhaps it should be renamed to «How can I display the list of hidden WiFi networks»?

4 Answers 4

Use the nmcli dev wifi command. It shows transfer rate, signal strength, and security (e.g. WPA) as well:

screenshot after running

For more, see nmcli ‘s manual and this for usage examples of nmcli .

Here is the pertaining mnemonic: network manager command line interface device wifi

The BSSID (MAC of remote access point) and other details are not shown by default, but you can show them with the -f option, e.g. nmcli -f SSID,BSSID,DEVICE dev wifi . Use -f ALL to see available fields.

@icc97 — if you only see your current network, run nmcli dev wifi rescan , wait a bit, and then try nmcli dev wifi again.

To scan all networks try using the command sudo iw dev wlan0 scan | grep SSID .

wlan0 should be replaced with real value from ifconfig of from /sys/class/net subfolder name, as stated in answer from @gujarat santana

This works better than nmcli for me because it breaks down and shows non-latin characters, where nmcli just shows a «?»

@EkriirkE well, for a more detailed breakdown on wifi networks in nmcli command you could use -f ALL option, e.g. nmcli -f ALL dev wifi . Although I admit, it’s still not as detailed as iw ‘s information.

@EkriirkE sorry, I probably misread your comment. You stated that it worked better for you since «it breaks down», and I thought you meant «breaking down» as in «showing detailed information». With that said, I am not sure who are «we» ☺ I definitely wanted the technical details on the networks, and the question or the answer don’t seem to limit the question to just SSIDs.

  1. Go to /sys/class/net you can see list of directories here.
  2. Find the wireless interface. It has wireless directories, for example in my case it’s wlp10 . You can check it using ls wlp10 . If the directory’s name different, use that directory’s name.
  3. sudo iwlist wlp1s0 scan | grep ESSID

From here you can list all available Wi-Fi access points.

Further to what has been already answered here, I’ve merged a few of them and added a little flavor of my own.

As for the nmcli answer, sure, do that if you want to install more software. But if you’re looking for Access Points, maybe you don’t have an internet connection yet and are unable to connect to install said software. With all that said, here’s my solution:

for i in $(ls /sys/class/net/ | egrep -v ^lo$); do sudo iw dev $i scan | grep SSID | awk ''; done 2>/dev/null | sort -u 
for i in $(ls /sys/class/net/ | egrep -v ^lo$); 

Lets have a look at all the contents of the location /sys/class/net. This will list all the network devices, but we’re not really interested in the loopback interface. so we’ll ignore that one

do sudo iw dev $i scan | grep SSID | awk '';done 

For each of the network interfaces we found above, lets do the scan to list all the SSIDs (and only the SSIDs)

And ignore all the errors (like searching for SSIDs with ethernet interfaces).

And finally, If you have multiple wi-fi adapters on the system, only list each SSID once.

Источник

Оцените статью
Adblock
detector