![WiFi 스캔은 후속 다중 스캔을 위해 전원이 꺼진 네트워크의 SSID를 나타냅니다.](https://linux55.com/image/117677/WiFi%20%EC%8A%A4%EC%BA%94%EC%9D%80%20%ED%9B%84%EC%86%8D%20%EB%8B%A4%EC%A4%91%20%EC%8A%A4%EC%BA%94%EC%9D%84%20%EC%9C%84%ED%95%B4%20%EC%A0%84%EC%9B%90%EC%9D%B4%20%EA%BA%BC%EC%A7%84%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%9D%98%20SSID%EB%A5%BC%20%EB%82%98%ED%83%80%EB%83%85%EB%8B%88%EB%8B%A4..png)
나는 무선 네트워크를 검색하는 프로그램을 사용하는 Python 프로그램을 만들려고 할 때 처음으로 이 문제에 직면했습니다. 나는 다음 도구를 사용했습니다.
iwlist, iw, wpa_cli, nmcli 및 iwconfig
나는 이 모든 사람들에게서 같은 행동을 겪었습니다. 당신이 컴퓨터와 무선 액세스 포인트/라우터 옆에 앉아 있다고 가정해 보겠습니다. Wi-Fi 어댑터 이름이 wlan0이라고 가정하고 다음 명령 중 하나를 입력하고 라우터를 끈 다음 터미널 창에서 Enter 키를 누릅니다.
iw wlan0 scan | grep SSID
iwlist wlan0 scan | grep SSID
wpa_cli -i wlan0 scan && wpa_cli -i wlan0 scan_results
nmcli device wifi rescan && nmcli device wifi list
모든 명령은 꽤 오랫동안 SSID를 표시합니다. 나는 E&M 정상파가 사라지는 데 더 오랜 시간이 걸릴 것이라고 생각합니다. 누구든지 이 문제를 해결할 수 있나요?
답변1
기본 구성wpa_requester일정 기간 캐시된 스캔 결과가 표시될 수 있습니다.
스캔 결과에 마지막 스캔 중에 감지된 SSID만 표시되도록 wpa_supplicant.conf 파일에 다음 행을 추가하십시오.
ignore_old_scan_res=1
답변2
이 문제는 오래전에 해결했는데 답변을 못드려 죄송합니다. 다음 wpa_supplicant 설정은 위에 언급된 Wi-Fi 동작을 담당합니다.
bss_expire_count 및 bss_expire_age
전자는 SSID가 목록에서 제거되기 전에 누락되어야 하는 스캔 수입니다. 후자는 SSID가 더 이상 브로드캐스트되지 않은 후의 시간(초)입니다.
답변3
위의 어느 것도 나에게 적합하지 않습니다. 폐쇄된 네트워크가 Wi-Fi 검색 결과에 표시되지 않도록 제가 찾은 유일한 일관된 방법은 무선 인터페이스의 커널 모듈을 다시 로드하는 것입니다. 이는 이전 검색에서 캐시된 모든 결과를 완전히 플러시합니다.
쉘 스크립트에서 이 전략을 따르려면 다음 줄을 포함하면 됩니다.
# as appropriate for your system:
iface=wlan0
# reload kernel module:
module=$(basename $(readlink -f /sys/class/net/$iface/device/driver/module))
modprobe -r $module
modprobe $module
# bring interface back up:
ifconfig $iface up
# scan for hotspots using your preferred method (I happen to like iwlist):
iwlist $iface scanning