การใช้ 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 dBm
SSID: nameOfAccessPoint1
สัญญาณ: -71.00 dBm
SSID: nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //"
: ลดegrep
ผลลัพธ์ของสิ่งนี้:
-77.00 dBm
nameOfAccessPoint1
-71.00 dBm
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}'
: นำความแรงของสัญญาณและ SSID ในบรรทัดเดียวกัน โดยเฉพาะอย่างยิ่งเมื่อหมายเลขบรรทัด ( NR
) เป็นเลขคู่นั่นคือเราอยู่ในบรรทัดที่แสดงจุดเข้าใช้งานตัวคั่นระเบียนผลลัพธ์ ( ORS
) ควรเป็นตัวแบ่งบรรทัด มิฉะนั้นเราจะอยู่บนบรรทัดที่มีความแรงของสัญญาณดังนั้นเราจึงเข้าร่วมบรรทัดด้วยการทำให้ORS
มีที่ว่างแบบง่าย
หากเราsort
ส่งออกนี้เราจะจบลงด้วยรายการความแรงของสัญญาณและจุดเชื่อมต่อที่แสดงจุดเชื่อมต่อที่มีสัญญาณที่แรงที่สุดอยู่ด้านบน:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
ระวัง: บางจุดเชื่อมต่อสามารถมีความสามารถเพิ่มเติม: ความสามารถเพิ่มเติม: * รายการ SSID
ดังนั้นการ grepping "SSID:" แทนที่จะเป็น "SSID" ช่วยหลีกเลี่ยง ouput พิเศษนี้ซึ่งจะทำให้คำสั่งล้มเหลวเป็นอย่างอื่น