回答:
iw
(list / config)は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を使用できる場合は、準備ができています。それ以外の場合は、次のようなことを実行してパッケージをインストールする必要があります(Ubuntuの場合):
$ sudo apt-get install wpasupplicant
または(Fedoraの場合):
# yum install wpa_supplicant
または、ディストリビューション用のコマンドは何でも。
構成ファイルの生成
wpa_supplicantがインストールされたので、構成ファイルを作成します。SSIDとWPAパスフレーズがわかったら、実行する必要があるのは次のとおりです。
$ wpa_passphrase myrouter mypassphrase > wpa.conf
もちろん、「myrouter」をルーターのSSIDに、「mypassphrase」をWPAパスフレーズに、「wpa.conf」を設定を保存するファイルに置き換えます。このファイル名は特定の形式に従う必要はありません。特定の拡張子があります。
または、コマンドラインでパスフレーズを入力しないようにするため(シェルの履歴に保存されないように)、コマンドラインでSSIDのみを指定できます。wpa_passphraseは、パスフレーズを入力してからEnterを入力するまで待機します。
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
次のようなファイルになります。
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
接続する
次に、実際にwpa_supplicantを実行して、ワイヤレスネットワークに接続します。まず、ルーターがSSIDをブロードキャストする場合(デフォルトですべてを行う)、おそらくワイヤレスカードが実際にそれを見ることができるようにする必要があります。
$ iwlist scan
強制的に更新するには、rootとして実行する必要があります。
次に、3つの情報を知る必要があります。
wpa_supplicant --help
は、さまざまなドライバーが一覧表示されます(「ドライバー:」の下)。:0.5.8のように、便利な選択肢があるwext
、hostap
、madwifi
、atmel
、ndiswrapper
、およびipw
(IPWは古いカーネル用です;> = 2.6.13はwextを使用する必要があります)。カードに特定の一致が表示されない場合は、wextを試してください。iwconfig
。非ワイヤレスデバイスの場合は「ワイヤレス拡張機能なし」と報告され、ワイヤレスデバイスの一部のデータが表示されます。このデータが得られたので、実行します(rootとして):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
オプションとパラメーターの間にスペースはありません。わかりやすくするために括弧を追加しただけなので、括弧は含めないでください。たとえば、私のラップトップの場合、次のようになります。
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
また、-B
オプションを使用してバックグラウンドで実行し、コンソールを占有しないようにすることもできます。
これで、ネットワークに関連付けられました。
オンラインにする
実際にオンラインにするには、何らかの形でIPを取得する必要があります。ほとんどの人は、おそらくルーターに組み込まれているDHCPサーバーから動的IPを取得したいと思うでしょう。(静的IPとルーティングテーブルの設定については説明しません。それはそれ自体が獣だからです。)
DHCPリースを取得するには、最初に(ルートとして)保持しているリースを解放します。
# dhclient -r
次に、新しいリースを要求します(もちろん、eth1を前のセクションで使用したものと同じネットワークデバイスの名前に置き換えます)。
# dhclient eth1
少なくとも理論的には、これでIPができました。ハッピーサーフィン!
Debianや他のディストリビューションでは、wifiネットワークを管理するために、デフォルトでwpa_suplicantがサービスとして実行されています。wpa_suplicantは、ネットワークマネージャーGUIなどのさまざまなクライアント/フロントエンドで処理できます。これは、このdebian wikiでよりよく説明されています。
wpa_cliは、wifiネットワークを管理するコマンドラインwpa_suplicantクライアントです。
編集:nmcliの使用方法を説明しているこの投稿を見つけましたが、GUI Network Managerとその設定および保存されたwifiネットワークと互換性があるため、wpa_cliよりもはるかに優れています。
wpa_cliの使用例:
Wi-Fi対応のネットワークインターフェイスが既にあることを確認します。
# 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
...
APを追加します。
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
現在として選択:
> enable_network 0
それに接続します:
> reconnect
ステータスを確認します。
> status
wpa_cliを終了します。
> quit
シェルから、IPおよびネット設定のDHCPを要求します。
# dhclient -r
# dhclient wlan0
wpa_cli
、それから書くのwpa_client
ですか?Kubuntu 18.10 wpa_client
ではコマンドとして存在しないようです
実行されていない場合は、まずカードを埋めてください:
ifconfig wlan0 up
ネットワークに合わせてパラメーターを設定します
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
checkbox
パッケージがインストールされている場合、実際にはNetworkManagerを使用してそれを行う方法があります。
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(クレジット:bug 923836、このトピックに関する私の検索で出てきました。)
wpa_supplicantを示唆するすべての答えは間違っています。はい、WPAネットワークに接続できますが、それは維持するのが非常に難しく、有線接続でうまく再生できないため、長期的には悪い解決策です。コマンドラインからNetwork Managerを使用して、この回答を読み、生活を楽にしてください。wpa_supplicantを設定しようとして時間を無駄にし、nmcliを試してみたところ、「うまくいきました」。
VSWM-Very Simple Wireless Managerを使用できます。既知のAPを単純なcfgファイル(/etc/vswm.cfg)に配置し、実行時にvswm
使用可能なネットワークをスキャンして、カードを/etc/vswm.cfgにある最初のカードに接続します。
VSWMはhttps://github.com/dmelo/vswmで入手できます。vswm.cfg構成ファイルがどのように見えるかの選択はここにあります:
[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
ファイルを使用すると、ネットワークIDとパスワードでエラーが生成されましたwpa_supplicant
。たとえば
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
私はそれを回避することができましたwpa_cli
。Linux ndiswrapperでWindowsドライバーを使用しているため、使用しなければならなかったコマンドシーケンスは次のとおりです。
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
GUIのネットワークのワイヤレスセクションに追加してネットワークをセットアップしたため、有線またはワイヤレスネットワークアイコンをクリックして、ワイヤレスプロバイダーを選択できました(ログインを完了するために必要な場合がありました)。