Bagaimana cara memunculkan antarmuka wi-fi dari baris perintah?

30

Saya tidak tahu cara memunculkan kartu wi-fi dengan benar di laptop saya. Ketika saya menyalakannya dan mengeluarkan

$ sudo iwconfig wlan0 txpower auto
$ sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Network is down

itu melaporkan bahwa jaringan sedang down. Mencoba untuk memunculkannya juga gagal:

$ sudo ifup wlan0
wlan0     no private ioctls.

Failed to bring up wlan0.

Rupanya saya kehilangan beberapa iw...perintah tingkat rendah dasar .

Ketika saya menerbitkan dhclientdi antarmuka:

$ sudo dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

^C$

dan menyela, itu membawa perangkat entah bagaimana dan kemudian pemindaian dll berfungsi. Saya ingin menghindari langkah yang jelas berlebihan ini.

Petr Pudlák
sumber
Ada beberapa antarmuka wifi dari kernel ke ruang pengguna. Ini iwconfigsudah usang dan mungkin tidak dikonfigurasi ke dalam kernel modern. The iwMetode ini lebih modern / disukai ( nl80211 ). Lebih lama iwconfigdapat memberikan kesalahan aneh ketika dukungan wext tidak dikompilasi / dikonfigurasi. Apa alat / skrip distro tersedia adalah masalah lain. Saya kira jika Anda menggunakan distro, mereka harus berhati-hati untuk memberikan paket / konfigurasi yang tepat. Jika Anda membangun sendiri, maka Anda mungkin memiliki masalah di atas.
kebisingan seni

Jawaban:

29

Memang, cobalah sudo ifconfig wlan0 up. Untuk menguraikan jawaban oleh Martin:

ifupdan ifdownperintah adalah bagian dari paket ifupdown , yang sekarang dianggap sebagai antarmuka warisan untuk konfigurasi jaringan , dibandingkan dengan yang lebih baru, seperti network manager.

Setelah ifup ifupdownmembaca pengaturan konfigurasi dari /etc/network/interfaces; itu berjalan pre-up, post-updan post-downskrip dari /etc/network, yang termasuk mulai /etc/wpasupplicant/ifupdown.shyang memproses wpa-*opsi konfigurasi tambahan untuk wifi WPA, di /etc/network/interfaces (lihat zcat /usr/share/doc/wpasupplicant/README.Debian.gzuntuk dokumentasi). Untuk wireless-toolspaket WEP memainkan peran yang mirip dengan wpa-supplicant. iwconfigjuga dari wireless-tools.

ifconfigpada saat yang sama adalah alat tingkat yang lebih rendah , yang digunakan oleh ifupdowndan memungkinkan lebih banyak fleksibilitas. Misalnya, ada 6 mode fungsi wifi adapter dan IIRC ifupdownhanya mencakup mode terkelola (+ mode roaming, yang secara resmi bukan mode?). Dengan iwconfigdan ifconfigAnda dapat mengaktifkan, misalnya, mode monitor kartu nirkabel Anda, sementara dengan itu ifupdownAnda tidak akan dapat melakukannya secara langsung.

Boris Burkov
sumber
7
dengan debian stretch, ifconfigtelah digantikan oleh ip, perintah alternatifnya adalahip link set wlan0 up
Ben
11

Coba ifconfig wlan0 upalih-alih ifup.

Martin von Wittich
sumber
4

Inilah yang saya gunakan untuk terhubung ke jalur akses WEP, setiap hari:

#!/bin/bash

DEV=$(iw dev | awk '/Interface/ {interf=$2} END {print interf}')
PIDFILE=/var/run/dhcpcd-$DEV.pid


if [[ -f $PIDFILE ]] && kill -0 $(cat /var/run/dhcpcd-$DEV.pid)
then
    dhcpcd -k $DEV
fi

ifconfig $DEV down
sleep 1
iwconfig $DEV mode managed
iwconfig $DEV  key blabfoobar
ifconfig $DEV up
iwconfig $DEV essid 'Unindicted Co-conspirator'
iwconfig $DEV ap 00:0D:51:EB:E5:1E

sleep 5
dhcpcd --noipv6rs --noarp $DEV

Anda harus memasukkan ESSID dan MAC untuk titik akses apa pun yang Anda inginkan.

Agak sulit untuk enkripsi WPA. Anda harus memiliki wpa_supplicant.conffile dengan entri yang sesuai. Seperti ini:

# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
    ssid="FaveCoffeeHouse"
    psk="cafe241800"
    priority=1
}

Setelah Anda memiliki file conf seperti itu, maka Anda dapat menjalankan skrip ini:

#!/bin/bash

DEV=$(iw dev | awk '/Interface/ {print $2}')

ifconfig $DEV down
iwconfig $DEV mode managed
ifconfig $DEV up
iwconfig $DEV essid 'FaveCoffeeHouse'
iwconfig $DEV ap 00:21:1e:3d:2a:80

echo now run: wpa_supplicant -Dnl80211 -i$DEV -c./wpa_supplicant.conf 

Pembaruan, 2014-12-03:

Arch linux menjadi seperti itu, skrip connect-to-WEP saya jauh berbeda. Saya pikir saya akan menambahkannya ke jawaban ini agar tetap terbarui.

#!/bin/bash

DEV=wlp12s0

if [[ -f /run/dhcpcd-$DEV.pid ]]
then
        kill -QUIT $(cat /run/dhcpcd-$DEV.pid)
fi

ifconfig $DEV down
iw dev $DEV set type managed
ifconfig $DEV up
sleep 2

iw dev wlp12s0 connect -w 'Akond of Swat' 2462 00:7c:41:eb:e5:1e key 0:befedade

sleep 15

dhcpcd -4 --nohook 10-wpa_supplicant --noarp --noipv6rs $DEV

Saya harus beralih menggunakan dengan iwsangat tiba-tiba. Sesuatu tentang kernel Arch LTS, atau driver WiFi (laptop saya memiliki kartu Intel WiFi menggunakan driver "iwl4965") berubah belum lama ini. Anda harus mengubah frekuensi ("2462") dan alamat MAC titik akses untuk membuatnya berfungsi.

Bruce Ediger
sumber
3

Pada Ubuntu 18.04 (dan versi Debian yang sesuai) ifconfigdan ifup/ ifdownsudah ditinggalkan, dan cara yang disarankan untuk membuka antarmuka adalah dengan ipperintah:

ip link set dev <interface> up
ip link set dev <interface> down

Dan Anda dapat memeriksa antarmuka yang tersedia dengan:

ip link

Dan Anda dapat menunjukkan alamat ip yang ditugaskan antarmuka Anda dengan:

ip addr show

Atau lebih khusus:

ip addr show scope global | grep inet
shellcat_zero
sumber