การใช้ iw
ผมไม่ได้ติดตั้งเพื่อใช้งานผมnm-tooliw
คำสั่งนี้จัดเรียงจุดเชื่อมต่อตามความแรงของสัญญาณอันดับแรกสุด:
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 พิเศษนี้ซึ่งจะทำให้คำสั่งล้มเหลวเป็นอย่างอื่น