วิธีการเชื่อมต่อ wifi จาก command line?


20

ฉันใช้ Linux Kali ที่ใช้ Debian เวอร์ชันล่าสุด อาจเป็นปัญหา XYเนื่องจากปัญหาหลักคือหลังจากที่ฉันเข้าสู่ระบบฉันได้รับหน้าจอว่างเปล่าและตัวชี้เมาส์ บางคนบนอินเทอร์เน็ตแนะนำให้ฉันเปลี่ยนผู้จัดการหน้าต่าง

แต่ฉันไม่สามารถทำได้เพราะฉันไม่สามารถเชื่อมต่อกับ wifi ได้

ฉันพบวิธีการสอนที่นี่

และฉันพยายามทำอย่างเป็นขั้นตอน แต่มันก็ไม่ได้ผลสำหรับฉัน ในการกวดวิชาที่ผู้เขียนเขียนว่าฉันต้องใช้คำสั่งip link set wlan0 ipเพื่อนำขึ้นอินเตอร์เฟซ wifi ในตัวอย่างของเขาผลลัพธ์จะเป็นดังนี้:

root@kali:~# ip link show w
lan0 4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000
  link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

root@kali:~# ip link set wlan0 up

root@kali:~# ip link show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

ในทางกลับกันเมื่อฉันโทร:

   ip link set wlan0 up
   ip link show wlan0

ฉันเข้าใจ:

  4: wlan0: <NO_CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000
   link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

และหลังจากรัน wpa supplicant ด้วยรายละเอียดเครือข่ายที่ถูกต้อง

wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf

iw wlan0 link ยังคงกลับมา Not connected.

ฉันจะแก้ปัญหานี้ได้อย่างไรและฉันจะทำอย่างไรต่อไป


คุณสามารถสแกนโดยใช้iwlist scan?
GAD3R

1
@ GAD3R ใช่ฉันทำได้
user902383

บางอย่างแตกต่างกันดังนั้นฉันจึงใช้ ifup wlp1s0เพื่อนำเครือข่ายขึ้นมาและifdown wlp1s0นำมาลง
จอร์จ

คำตอบ:


23

ฉันสมมติwpa_supplicantและiwมีการติดตั้ง

  1. ในการเชื่อมต่อ wifi ผ่านwpa_supplicant คุณจำเป็นต้องสร้างwpa_supplicant.confไฟล์

    nano /etc/wpa_supplicant.conf
    

    ด้วยบรรทัดต่อไปนี้:

    network={
             ssid="wifi_name"
             psk="wifi_key"
    }
    

หรือคุณสามารถใช้wpa_passphraseเพื่อสร้างไฟล์การกำหนดค่า (คัดลอกและที่ผ่านมา):

wpa_passphrase "Your_SSID" Your_passwd 

นอกจากนี้คุณสามารถเขียนwpa_supplicant.confโดยตรงผ่าน:

wpa_passphrase "Your_SSID" Your_passwd > /etc/wpa_supplicant.conf

เพื่อเชื่อมต่อพิมพ์คำสั่งต่อไปนี้:

sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf -Dnl80211,wext
sudo dhclient wlan0

หมายเหตุ : ตัวเลือกไดรเวอร์ที่คั่นด้วยเครื่องหมายจุลภาคหลายตัว-Dnl80211,wextทำให้ wpa_supplicant ใช้ wrapper ไดรเวอร์แรกที่สามารถเริ่มต้นอินเตอร์เฟสได้ (ดูที่ wpa_supplicant (8)) สิ่งนี้มีประโยชน์เมื่อใช้อุปกรณ์ไร้สาย mutiple หรือถอดได้ (เช่น USB) ซึ่งใช้ไดรเวอร์ที่แตกต่างกัน

คุณสามารถเชื่อมต่อผ่านwpa_supplicantโดยไม่มีwpa_supplicant.confไฟล์:

wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "Your_SSID" Your_passphrase) && dhclient wlan0

คุณสามารถเยี่ยมชมเอกสารทางการของ Arch-linux เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์การกำหนดค่าและข้อโต้แย้ง

  1. คุณสามารถเชื่อมต่อผ่าน nmcli

    nmcli d wifi connect Your_SSID password Your_Psswd_here iface Your_interface
    

ตัวอย่าง:

nmcli d wifi connect MYSSID password 12345678 iface wlan0
  1. นอกจากนี้คุณสามารถเชื่อมต่อผ่านwpa_cli:

เปิดเทอร์มินัลแล้วพิมพ์ wpa_cli

ในการสแกนให้พิมพ์:

scan
scan_results

สร้างเครือข่าย:

add_network

สิ่งนี้จะส่งออกตัวเลขซึ่งเป็นรหัสเครือข่ายตัวอย่างเช่น0 ถัดไปเราจำเป็นต้องตั้งค่า SSID และ PSK สำหรับเครือข่าย

set_network 0 ssid "SSID_here"
set_network 0 psk "Passphrase_here"

เมื่อเชื่อมต่อไร้สายแล้วควรได้รับที่อยู่ IP โดยอัตโนมัติ หากคุณไม่สามารถเปิดใช้งานdhclientเพื่อรับที่อยู่ IP ผ่าน DHCP

dhclientคำสั่ง ca ถูกแทนที่ด้วย 2 ipคำสั่ง:

ip addr add IP-ADDRESSE/24 dev wlan0
ip route add default via ROUTE
  1. iwctl เครื่องมือบรรทัดคำสั่ง

iwd แพคเกจให้iwctlเครื่องมือบรรทัดคำสั่ง แพ็คเกจไม่ได้ติดตั้งตามค่าเริ่มต้น เพื่อหลีกเลี่ยงความขัดแย้งใด ๆwpasupplicant.serviceควรหยุด / ปิดการใช้งาน

สำหรับรายละเอียดเพิ่มเติมดูคำตอบนี้บน U&L: เชื่อมต่อ wifi จากบรรทัดคำสั่งบนระบบ linux ผ่าน iwd (wireless daemon สำหรับ linux)

อ่านเพิ่มเติม :

กำลังเชื่อมต่อกับ wpa_cli

กำลังเชื่อมต่อกับ wpa_passphrase

ตัวอย่าง nmcli

Archlinux: iwd / iwctl


1
วิธีแก้ปัญหาแรกของคุณเหมือนกับหนึ่งในบทช่วยสอนที่คุณสร้างไฟล์ด้วยตัวเองและพวกเขาใช้ wpa_passphrase แต่การเชื่อมต่อผ่าน nmcli แก้ปัญหาของฉันขอบคุณ
user902383

กรุณาเพิ่มสำหรับผู้ใช้ debian ของระบบแบร์โบนแขนจำเป็นต้องเพิ่มส่วนต่อประสาน/etc/network/intefaces auto wlp1s0 iface wlp1s0 inet dhcp pre-up wpa_supplicant -i wlp1s0 -c /etc/wpa_supplicant.conf -Bจากนั้นรีบูตกล่องเล็ก ๆ และมันมี IP อยู่แล้ว ...
ndasusers

ฉันสงสัยว่ามี "pseudogui" หรือไม่ เมื่อฉันตั้งค่ากล่องฉันได้นำเสนอการเลือกอีเธอร์เน็ตหรือ wifi ฉันเลือก wifi แล้วเลือก SSID จากรายการป้อนการเข้ารหัสรหัสผ่านถ้าฉันต้องการ dhcp หรือ IP แบบคงที่จากนั้นเครือข่ายก็ทำงานเพื่อทำการติดตั้งให้เสร็จ เหตุใดการตั้งค่านี้จึงไม่สามารถใช้กับการตั้งค่าที่คัดลอกไปยังระบบสุดท้ายได้ เหตุใดจึงเป็นสิ่งจำเป็น cli ทั้งหมดนี้หรือไม่
Lenne

1
nmtui ไม่สามารถใช้ได้หลังจากติดตั้ง ต้องออนไลน์เพื่อรับ gui เพื่อออนไลน์เป็นปัญหาไก่และไข่ ฉันจัดการเพื่อบันทึก / target / etc / network / interfaces ระหว่างการติดตั้ง; หลังจากติดตั้งสายสำหรับ WiFi จะถูกลบออก
Lenne

1

ในการติดตั้ง wpa_supplicant บน Debian ให้พิมพ์

sudo apt install wpasupplicant

ในอาคารผู้โดยสาร หากต้องการสร้างwpa_supplicant.confไฟล์ให้พิมพ์

echo 'network={ssid="nameOfYourWiFiNetwork" psk="thePassword"}' >> /etc/wpa_supplicant.conf

1
ในความเห็นของฉัน OP เป็นคำถามที่เฉพาะเจาะจงและนี่ไม่ใช่คำตอบ
andreatsh

1
อันที่จริง OP กล่าวว่า "... และหลังจากเรียกใช้ wpa ผู้ร้องขอที่มีรายละเอียดเครือข่ายที่ถูกต้อง:
Jeff Schaller

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