ฉันจะสแกนหาจุดเชื่อมต่อไร้สายได้อย่างไร


15

ใน Ubuntu 11.04 ฉันใช้ InSSIDer เพื่อสแกน AP ที่มีและเรียงตามความแรงของสัญญาณ

น่าเสียดายที่โปรแกรมดูเหมือนว่าจะใช้งานไม่ได้ใน Ubuntu 11.10 และ

iwlist wlan0 scan

ไม่คืนสิ่งใดที่มีความหมาย

ฉันต้องสแกนตัวเลือกใดบ้างสำหรับ Wireless Access Point ที่มีอยู่อาจใช้ GUI ได้


1
Ubuntu เปิดตัวหรือไม่ ฮาร์ดแวร์? สิ่งแวดล้อม? "อะไรที่มีความหมาย"? ฉันต้องติดตั้ง 11.04 และ InSSIDer เพื่อค้นหาพฤติกรรมที่คุณกำลังมองหาหรือไม่ "ดูเหมือนว่าจะถูกทำลาย" หมายถึงอะไรจริง ๆ ? โปรดช่วยเราด้วยการรวมข้อมูลในคำถามของคุณ "ตัวเลือก"? ลองใช้ Network Manager คุณควรหาไอคอนของมันในแถวบนสุด
waltinator

ถ้าคุณอ่านมันอย่างละเอียดมากขึ้นทุกอย่างมีอยู่แล้ว ฉันใช้อูบุนตู 11.10 และคนภายในไม่เปิดเลย ฉันใช้ intel wifi ฉันต้องการแสดงรายการเครือข่ายที่มีทั้งหมดเรียงตามความแข็งแกร่ง
Mascarpone

2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'ควรช่วย
waltinator

คำตอบ:


19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' ควรช่วย

เป็นการรวมกันของsudo(เรียกใช้เป็นรูท, ทำการดำเนินการพิเศษ), iwlist wlan0 scanning(สร้างเอาต์พุตบางส่วนบน STDOUT), สัญลักษณ์ไปป์ "|" (การเชื่อมต่อ STDOUT ของคำสั่งทางซ้ายไปยัง STDIN ของกระบวนการทางด้านขวา) และegrepคำสั่งที่มี "คำเดียว" (เพื่อป้องกันเชลล์จากการตีความอักขระ "|") การแสดงออกปกติเพื่อกรอง STDIN . ดูman bash, man sudo, man iwlist, man egrepและman re_formatสำหรับรายละเอียด

เสมอทำสิ่งที่คน (ดังข้างต้น) ก่อนที่คุณจะดำเนินการสตริงคำสั่งจากคนอื่น การศึกษาด้วยตนเองนั้นมีความปลอดภัยมากกว่าการไว้วางใจคนตาบอด


2
คุณช่วยอธิบายคำสั่งนั้นได้ไหม?
NN

2
คุณช่วยกรุณารวมคำอธิบายในคำถามของคุณแทนเพื่อให้ผู้อื่นสามารถค้นหาได้ง่ายขึ้นและได้รับประโยชน์จากมัน เหตุผลที่ฉันขอคำอธิบายคือการทำให้คำตอบของคุณสมบูรณ์ที่สุดเท่าที่จะทำได้
NN

/คุณอาจเลือกที่ต้องการเพิ่มว่ามันเป็นเรื่องง่ายมากที่จะค้นหาในหน้าคนใช้ ผู้ใช้ Linux ใหม่จำนวนมากกลัวขนาดของหน้าคนและไม่สามารถหาข้อมูลที่ถูกต้องได้อย่างรวดเร็ว
user93692

คำสั่งนี้ไม่ต้องการคำอธิบาย คำถามไม่ได้เกี่ยวกับท่อหรือ manpages ต้องมีความรู้เบื้องต้นที่จำเป็นบางอย่างมิฉะนั้นคำตอบส่วนใหญ่ในเว็บไซต์นี้จะต้องเริ่มต้นด้วยคำแนะนำสำหรับการเปิดเทอร์มินัล
Keith

7

การใช้ 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 พิเศษนี้ซึ่งจะทำให้คำสั่งล้มเหลวเป็นอย่างอื่น


1
ท่อgrepเพื่อsedที่จะawkไม่เพียงแค่ความรักลินุกซ์! คำตอบที่ครอบคลุมดีมาก ฉันรู้ว่าฉันไม่ควรเขียนความเห็นแบบอภินันทนาการ แต่สิ่งนี้สมควรได้รับคุณสามารถรวมเอาท์พุทระดับกลางได้
user93692

5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. ใช้เอาต์พุตของnm-toolเพื่อรับรายการจุดเชื่อมต่อไร้สาย
  2. กรองเพื่อรับจุดเข้าใช้งานเท่านั้น
  3. ใช้sedเพื่อผนวกระดับสัญญาณที่ด้านหน้าของแต่ละบรรทัด
  4. เรียงลำดับผลลัพธ์เป็นตัวเลขตามลำดับย้อนกลับ (ใหญ่ที่สุดก่อน)

nm-tool เป็นส่วนหนึ่งของแพ็คเกจ "network-manager" ที่เห็นได้ชัดว่าติดตั้งในระบบ Ubuntu ทั่วไป


ขอบคุณ! คำสั่งนี้ให้ประโยชน์โดยสังเขปโดยสังเขปและครบถ้วนของ AP ทั้งหมดในช่วง ดูเหมือนว่าคำสั่ง iwlist จะเปลี่ยนแบบไดนามิกจากการรันเป็นแบบรันโดยอิงจากกิจกรรม wifi ในปัจจุบัน ดูเหมือนว่าจะล้มเหลวเมื่อมีการรายงาน WiFi AP หลายครั้งเกินไป
phord

1

คุณยังสามารถใช้ nmcli ฉันพบว่าตัวเองไม่กี่เดือนหลังและมันง่ายที่สุดที่ฉันเคยใช้

nmcli device wifi

สำหรับข้อมูลอื่นให้ตรวจสอบหน้า man


-2
iwinfo wlan0 scan

wlan0 เป็นอินเตอร์เฟสไร้สายของคุณ

รายการผลลัพธ์ด้านล่าง ...

Cell 06 - Address: F0:B4:29:50:76:0C
          ESSID: "Xiaomi_760B"
          Mode: Master  Channel: 1
          Signal: -38 dBm  Quality: 70/70
          Encryption: mixed WPA/WPA2 PSK (TKIP, CCMP) 
....

คำสั่งจะส่งคืนข้อมูลการเข้ารหัส

ระบบ: openwrt 15.05

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.