इसलिए मूल रूप से, मैं iwconfig
अपने वाईफाई नेटवर्क से कनेक्ट करने के लिए उपयोग करना चाहता हूं जब मैं एक्स के अंदर नहीं हूं। लेकिन मैं इसे मैन पेज में करने का कोई तरीका नहीं देखता हूं। कोई उपाय?
इसलिए मूल रूप से, मैं iwconfig
अपने वाईफाई नेटवर्क से कनेक्ट करने के लिए उपयोग करना चाहता हूं जब मैं एक्स के अंदर नहीं हूं। लेकिन मैं इसे मैन पेज में करने का कोई तरीका नहीं देखता हूं। कोई उपाय?
जवाबों:
iw
(सूची / विन्यास) केवल WEP को संभाल सकता है।
आपको wpasupplicant
पैकेज की आवश्यकता है जो wpa_supplicant
कमांड प्रदान करता है , यदि आवश्यक हो तो इंस्टॉल करें sudo apt-get install wpasupplicant
।
आप अपना SSID और पासवर्ड डालें /etc/wpa_supplicant.conf
(sudo की आवश्यकता है)।
उदाहरण:
network={
ssid="ssid_name"
psk="password"
}
मान लें कि आपका इंटरफ़ेस wlan0 है जिसके साथ आप जुड़ सकते हैं:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"wext" एक ड्राइवर है और यह प्रत्येक कार्ड के लिए विशिष्ट होगा; को देखें wpa_supplicant -h
। उदाहरण:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
में वायरलेस नेटवर्क से जुड़ा नहीं था, हालांकि डिफ़ॉल्ट रूप से NetworkManager मुझे उस नेटवर्क से जोड़ता है जो मैं चाहता हूं कि कमांड लाइन का तरीका आजमाना है, कुछ गलती हो रही है?
root
सिस्टम सिस्टम ( दोनों के रूप में ) चलाने की आवश्यकता है । तो sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
या उन्हें दो आदेशों में विभाजित करें &&
।
यह लिंक यह सब दिखाता है और मेरे लिए ठीक काम करता है: http://linux.icydog.net/wpa.php
मैं यहां सामग्री की प्रतिलिपि बना रहा हूं, इसलिए हमारे पास यह है, यदि साइट ऑफ़लाइन हो जाती है।
कमांड लाइन WPA
कभी-कभी आप GUI नेटवर्किंग टूल तक पहुंच के साथ कमांड लाइन पर होंगे - लेकिन आपकी पहुंच बिंदु WPA के साथ सुरक्षित है। आप क्या करते हैं?
मान लें कि आपका वायरलेस कार्ड वास्तव में काम करता है (यानी iwconfig इसे देख सकता है और इसके साथ बातचीत कर सकता है), wpa_supplicant का उपयोग करना वास्तव में बहुत सरल है। स्थापित करना wpa_supplicant
आजकल अधिकांश डिस्ट्रोस में डिफ़ॉल्ट रूप से wpa_supplicant स्थापित है। यदि आपके पास कमांड wpa_passphrase और wpa_supplicant उपलब्ध है, तो आप जाने के लिए अच्छे हैं। अन्यथा, आपको उबंटू के लिए कुछ ऐसा करके पैकेज स्थापित करना होगा:
$ sudo apt-get install wpasupplicant
या (फेडोरा के लिए):
# yum install wpa_supplicant
या जो भी कमांड आपके डिस्ट्रो के लिए है।
कॉन्फ़िगरेशन फ़ाइल जनरेट करना
अब जो wpa_supplicant स्थापित है, हम उसकी कॉन्फ़िगरेशन फ़ाइल बनाएंगे। एक बार जब आप SSID और WPA पासफ़्रेज़ को जान लेते हैं, तो आपको बस इतना करना है:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
बेशक, अपने राउटर के SSID के साथ "myrouter" को बदलें, अपने WPA पासफ़्रेज़ के साथ "mypassphrase" और "wpa.conf" जो भी फ़ाइल आप कॉन्फ़िगरेशन को संग्रहीत करना चाहते हैं, उसके साथ। इस फ़ाइल का नाम किसी विशेष प्रारूप का पालन करने के लिए नहीं है। एक विशेष विस्तार है।
वैकल्पिक रूप से, कमांड लाइन पर पासफ़्रेज़ टाइप करने से बचने के लिए (इसलिए यह शेल के इतिहास में सहेजा नहीं जाता है), आप कमांड लाइन पर सिर्फ SSID निर्दिष्ट कर सकते हैं। wpa_passphrase आपके द्वारा दर्ज किए गए पासफ़्रेज़ में टाइप करने के लिए प्रतीक्षा करेगा:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
आपको इस तरह दिखने वाली फ़ाइल को समाप्त करना चाहिए:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
कनेक्ट हो रहा है
अब हम वास्तव में वायरलेस नेटवर्क से जुड़ने के लिए wpa_supplicant चलाएंगे। सबसे पहले, यदि आपका राउटर अपने SSID को प्रसारित करता है (वे सभी डिफ़ॉल्ट रूप से करते हैं), तो आप शायद यह सुनिश्चित करना चाहते हैं कि आपका वायरलेस कार्ड वास्तव में इसे देख सकता है:
$ iwlist scan
आपको रिफ्रेश करने के लिए रूट के रूप में दौड़ना पड़ सकता है।
इसके बाद, आपको तीन सूचनाओं को जानना होगा:
wpa_supplicant --help
में विभिन्न ड्राइवरों की सूची है ("ड्राइवरों:") के तहत। : 0.5.8 के रूप में, उपयोगी विकल्प हैं wext
, hostap
, madwifi
, atmel
, ndiswrapper
, और ipw
(IPW केवल पुराने कर्नेल के लिए है,> = 2.6.13 wext का उपयोग करना चाहिए)। यदि आप अपने कार्ड के लिए एक विशिष्ट मैच नहीं देखते हैं, तो कोशिश करें, क्योंकि यह कैच-ऑल की तरह है।iwconfig
। यह गैर-वायरलेस उपकरणों के लिए "नो वायरलेस एक्सटेंशन" की रिपोर्ट करेगा और किसी भी वायरलेस डिवाइस के लिए कुछ डेटा प्रदर्शित करेगा।अब जब आपके पास यह डेटा है, तो रन करें (रूट के रूप में):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
विकल्प और मापदंडों के बीच कोई रिक्त स्थान नहीं हैं। ब्रैकेट को शामिल न करें क्योंकि मैंने स्पष्टता के लिए उन्हें जोड़ा था। उदाहरण के लिए, मेरे लैपटॉप के लिए यह इस तरह दिखता है:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
आप -B
विकल्प का उपयोग करके इसे पृष्ठभूमि में भी चला सकते हैं ताकि यह आपके कंसोल को न ले।
अब आप नेटवर्क से जुड़े हैं।
ऑनलाइन हो रही है
वास्तव में ऑनलाइन पाने के लिए, आपको किसी भी तरह एक आईपी प्राप्त करना होगा। अधिकांश लोग बस एक डीएचसीपी सर्वर से एक गतिशील आईपी प्राप्त करना चाहेंगे, शायद राउटर में निर्मित। (मैं एक स्थिर आईपी और राउटिंग टेबल को कवर करने नहीं जा रहा हूं क्योंकि यह अपने आप में एक जानवर है।)
एक डीएचसीपी लीज प्राप्त करने के लिए, पहले जो भी पट्टे आप अभी भी (रूट के रूप में) पर रख रहे हैं, उसे जारी करें:
# dhclient -r
फिर एक नए पट्टे के लिए पूछें (बेशक अपने नेटवर्क डिवाइस के नाम के साथ eth1 की जगह, वही जो आपने पिछले अनुभाग में उपयोग किया था):
# dhclient eth1
अब आपके पास कम से कम सिद्धांत में एक आईपी है। हैप्पी सर्फिंग!
वाईफ़ाई नेटवर्क का प्रबंधन करने के लिए डेबियन और अन्य डिस्ट्रोस में डिफ़ॉल्ट रूप से सेवा के रूप में wpa_suplicant चल रहा है। wpa_suplicant को अलग-अलग क्लाइंट / फ्रंट-एंड जैसे नेटवर्क मैनेजर GUI द्वारा नियंत्रित किया जा सकता है। इस डेबियन विकी में इसे बेहतर तरीके से समझाया गया है ।
wpa_cli वाईफाई नेटवर्क का प्रबंधन करने के लिए कमांड लाइन wpa_suplicant क्लाइंट है।
संपादित करें : मैंने अभी इस पोस्ट को यह समझाते हुए पाया है कि nmcli का उपयोग कैसे किया जाता है और यह wpa_cli से बहुत बेहतर है क्योंकि यह GUI नेटवर्क प्रबंधक और उनकी सेटिंग्स और सहेजे गए वाईफाई नेटवर्क के साथ संगत है।
Wpa_cli के उपयोग का उदाहरण :
जांचें कि मेरे पास पहले से ही एक वाईफाई सक्षम नेटवर्क इंटरफेस है:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
जांचें कि क्या wpa_suplicant प्रक्रिया चल रही है:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Wpa क्लाइंट इंटरेक्टिव मोड में दर्ज करें:
# wpa_cli
सूची उपलब्ध पहुँच बिंदु:
> scan
> scan_results
... और आपको ऐसा कुछ मिलता है:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
अपना एपी जोड़ें:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
इसे वर्तमान के रूप में चुनें:
> enable_network 0
इससे कनेक्ट करें:
> reconnect
स्थिति की जाँच करें:
> status
Wit_cli से बाहर निकलें:
> quit
शेल से, IP और नेट सेटिंग्स के लिए DHCP का अनुरोध करें:
# dhclient -r
# dhclient wlan0
wpa_cli
और फिर आप लिखते हैं wpa_client
? wpa_client
अगर यह नहीं चल रहा है तो पहले अपने कार्ड को बड़ा करें:
ifconfig wlan0 up
अपने नेटवर्क के लिए पैरामीटर सेट करें
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Wpa_supplicant का सुझाव देने वाले सभी उत्तर गलत हैं। हां, यह आपको WPA नेटवर्क से जोड़ सकता है, लेकिन यह लंबे समय में एक बुरा समाधान है क्योंकि इसे बनाए रखना बहुत मुश्किल होगा और वायर्ड कनेक्शन के साथ अच्छी तरह से नहीं खेलेंगे। इस उत्तर को पढ़ें और कमांड लाइन से नेटवर्क मैनेजर का उपयोग करके अपने जीवन को आसान बनाएं। मैंने wpa_supplicant को कॉन्फ़िगर करने की कोशिश में घंटों बर्बाद कर दिए, फिर nmcli की कोशिश की और यह "बस काम किया"।
आप VSWM - Very Simple Wireless Manager का उपयोग कर सकते हैं। आप अपने ज्ञात APs को एक साधारण cfg फ़ाइल (/etc/vswm.cfg) पर रखते हैं और जब आप vswm
इसे चलाते हैं तो उपलब्ध नेटवर्क को स्कैन करते हैं और अपने कार्ड को /etc/vswm.cfg पर प्रदर्शित होने वाले कार्ड से जोड़ते हैं।
VSWM https://github.com/dmelo/vswm पर उपलब्ध है । यहाँ बताया गया है कि vswm.cfg config फाइल कैसी दिखती है:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
हुड्स के तहत, यह मानक कमांड लाइन टूल्स का उपयोग करता है: iwlist, wpa_supplicant, iwconfig, dhclient ... केवल यह काम को स्वचालित करता है।
मुझे wpa_supplicant
वायरलेस नेटवर्क पर लाने के लिए सीधे उपयोग करने में परेशानी हुई । जब मैंने कमांड लाइन wpa_supplicant.conf
पर फ़ाइल का उपयोग किया, तो मेरा नेटवर्क आईडी और पासवर्ड उत्पन्न हुई wpa_supplicant
, जैसे
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
मैं इसके साथ काम करने में सक्षम था wpa_cli
। कमांड क्रम का मुझे उपयोग करना था, क्योंकि मैं लिनक्स ndiswrapper के साथ विंडोज ड्राइवर का उपयोग कर रहा हूं, यह है:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
मेरे पास GUI में नेटवर्किंग के वायरलेस अनुभाग में जोड़कर नेटवर्क सेट अप था, ताकि मैं वायर्ड या वायरलेस नेटवर्क आइकन पर क्लिक कर सकूं और वायरलेस प्रदाता का चयन कर सकूं (जो कि लॉगिन पूरा करने के लिए कभी-कभी आवश्यक था)।
nmcli
Ubuntu पर डिफ़ॉल्ट नेटवर्क प्रबंधक एप्लिकेशन का कमांड लाइन संस्करण है।
कुछ फायदे यह हैं कि यह आपके द्वारा पहले से ही ग्राफ़िकल इंटरफ़ेस से कॉन्फ़िगरेशन का उपयोग करता है और इसे रूट एक्सेस की आवश्यकता नहीं है।
आप nmcli
उपलब्ध विकल्पों को दिखाने के लिए दौड़ सकते हैं।
MYESSID नामक वाईफाई से कनेक्ट करने के लिए उदाहरण:
nmcli c up MYESSID