Для сканирования доступных сетей Wi-Fi с помощью Raspberry Pi вы можете использовать различные методы в зависимости от языка программирования и библиотек, которые вы предпочитаете. Вот несколько примеров использования Python и библиотеки Scapy, Python и модуля подпроцесса, а также инструмента командной строки iwlist:
Метод 1: Python со Scapy
from scapy.all import *
def wifi_scan():
interface = "wlan0" # Replace with your wireless interface
scan_request = RadioTap() / Dot11(type=0, subtype=4, addr1="ff:ff:ff:ff:ff:ff") / Dot11Elt(ID=0, info="\x01")
scan_response = srp(scan_request, iface=interface, timeout=5)
for response in scan_response[0]:
ssid = response[1].info.decode()
print("SSID: ", ssid)
wifi_scan()
Метод 2: Python с подпроцессом
import subprocess
def wifi_scan():
command = "sudo iwlist wlan0 scan | grep ESSID"
output = subprocess.check_output(command, shell=True).decode()
essids = [line.split(':')[1].strip().strip('"') for line in output.split('\n') if 'ESSID' in line]
for essid in essids:
print("SSID: ", essid)
wifi_scan()
Метод 3: инструмент командной строки iwlist
sudo iwlist wlan0 scan | grep ESSID