저는 RSSI에 관한 프로젝트를 진행 중이며 작업 중인 특정 WiFi SSID에 대한 신호 레벨을 검색하려면 Linux 명령줄을 사용해야 합니다.
scan 명령을 사용했는데 iwlist
grep을 사용하여 SSID 이름, 품질 및 신호 수준만 인쇄하여 원하는 값을 표시할 수 없습니다.
시도한 명령으로 원하는 결과를 얻을 수 없었습니다.
iwlist INTERFACE scanning essid SpecificESSID | grep Signal
iwlist INTERFACE scanning essid SpecificESSID | grep ESSID,Signal
iwlist INTERFACE scan | grep 'ESSID:"SpecificESSID"\|Signal level'
- 이것은 거의 작동하지만 다른 네트워크의 신호 레벨도 표시하므로 특정 네트워크에 대한 정보만 필요합니다.
답변1
첫 번째,iwlist
기존 명령인데 새 명령이 있습니다.iw
명령에는 더 많은 기능이 있습니다.
"사용 중인 SSID"가 현재 연결되어 있는 액세스 포인트(AP)인 경우
iw wlan0 station dump
관심 있는 값(예: 평균 신호 강도)을 선택한 다음 다음과 같은 값을 선택합니다.
iw wlan0 station dump | grep 'signal avg:'
실제로 모든 AP보다 현재 연결된 AP에 대한 더 자세한 정보가 있습니다.
표시되는 모든 AP의 신호 강도를 원하면 다음을 수행하십시오.
iw wlan0 scan | egrep 'SSID|signal'
관심 있는 SSID를 후처리할 수 있습니다. SSID1과 SSID2가 필요하다고 가정하면 다음을 수행할 수 있습니다.
iw wlan0 scan | egrep 'SSID|signal' | egrep -B1 'SSID1|SSID2'
-B1
스캔 출력에서 신호 강도가 SSID보다 우선하므로 일치 항목 앞의 행이 표시됩니다 .