您能解释一下如何理解'iwconfig'命令在Ubuntu-9.04中显示的内容吗?


38

我在使无线连接正常工作时遇到了麻烦,我意识到我真的不知道如何使用我拥有的工具,在这种情况下,就是Ubuntu-9.04中的iwconfig命令。这是我得到的:

***iwconfig***

--

lo        no wireless extensions.

eth0      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"Network"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
          Tx-Power=20 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

vboxnet0  no wireless extensions.

pan0      no wireless extensions.

“网络”是我的无线网络的名称,顺便说一句。但这一切意味着什么?此信息如何帮助我获得有效的无线连接?

当我尝试使用

sudo iwconfig wlan0 key s:my_key

我收到以下错误消息:

Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlan0 ; Invalid argument.

我确实有正确的钥匙,那是什么问题呢?


您正在使用WEP,WPA或WPA2吗?如果您使用的是WPA2,您的笔记本电脑硬件是否支持它?
MDMarra

我不知道什么是WEP,WPA和WPA2。我已经尝试了所有方法,但没有一个起作用。至于我的笔记本电脑的硬件支持,我知道我可以在学校使用无线网络。在“ Wicd Manager”中所示的学校网络旁边,有WPA2。但是在高级设置中,它说它结合使用了TKIP和PEAP。所以我真的不明白这意味着什么……
肖恩(Shawn)2009年

如果您只是想让wifi工作,请使用诸如wicd:的网络管理实用程序sudo aptitude update && sudo aptitude install wicd
deed02392 '02

Answers:


12

wlan0 IEEE 802.11bgn ESSID:“”

表示您的卡支持802.11 b / g / n标准,并且当前未连接到任何网络(ESSID,名称标识网络为空)

模式:托管

设备的操作模式。根据您的卡,您可以选择以下之一:

  • Ad-Hoc(仅由一个单元组成且没有接入点的网络)
  • 托管(节点通过漫游连接到由许多接入点组成的网络)
  • 主节点(该节点是同步主节点或充当访问点)
  • 转发器(节点在其他无线节点之间转发数据包)
  • 辅助节点(该节点充当备份主/中继器)
  • 监视(该节点未与任何小区关联,并且被动监视该频率上的所有数据包)
  • 汽车。

频率:2.412 GHz

或频道-与您在管理无线网卡的GUI工具中看到的频道相同-您可以输入频率或频道号

接入点:未关联

提供您要连接的AP的确切MAC地址。如果您的网络中有多个AP,并且您想弄清楚连接到哪个AP。

发射功率= 20 dBm

这是卡的发射功率-基本上越高,卡所需的能量就越多。

重试最小限制:7

此选项描述卡的重试行为。

RTS thr:off

这说明您的卡在每次发送数据包时是否检查空闲信道。在某些情况下,这可以提高性能。

片段thr = 2352 B

这描述了卡将发送的最大数据包大小-基本上,如果环境嘈杂,数据包越小,必须重新传输数据包的可能性就越小;如果发生,则必须传输的数据量就越少。根据手册,如果此值大于最大数据包大小,则卡可能会一起发送多个数据包。

电源管理:关闭

此选项提供有关卡使用电源管理的信息。您可以选择丢弃某些软件包(即bcast和mcast),设置卡的活动周期以及其他一些选项。

链路质量:0信号电平:0噪声电平:0

如果您的卡已连接,那么您将在这里寻找链路质量:)信号电平和噪声电平可以指定为dBm或任何任意单位。

接收无效nwid:0接收无效crypt:0接收无效碎片:0

有关接收过程中错误的一些统计数据:nwid意味着您附近可能有另一个网络使用与您的信道相同的通道,无效的密码是您的卡无法解密的数据包数量,无效的碎片意味着有一些数据包丢失。

Tx过多重试:0

这是您的卡无法发送的数据包数量。

以上所有内容均基于iwconfig手册,您可以在此处找到hml版本。

如果要使用命令行工具配置卡,请确保关闭networkmanager并使用Sathya的答案。如果您有密钥作为文本,请使用

sudo iwconfig wlan0 key s:your_key

代替

sudo iwconfig wlan0 key ABCD-1234-5678-EFG2

7
我同时尝试了'key s:my_key'和'key my_key',但是都失败了。在第一种情况下,我收到->'无线请求“设置编码”(8B2A)错误:设备wlan0上的SET失败;无效参数。'<-在第二种情况下,我得到:->'无线请求“设置编码”(8B2A)错误:无效参数“ my_key”。'<-当然,'sudo dhclient wlan0'不会'也不行。输出以->'未收到DHCPOFFERS结束。'<
Shawn

2
错过

75

令我惊讶的是,没有人愿意在上面的答案中提到这一点,但这听起来像是您确实在试图使wifi连接在Linux下工作-与其说是了解每个iwconfig参数的细节,倒不如说是。

考虑到这一点,至关重要的一点是要指出iwconfig 在连接到wlan网络时支持WPA / WPA2协商和身份验证。也就是说,您可以通过iwconfig连接的唯一wifi网络是开放的未加密网络和启用WEP的网络。

现在,您收到此奇怪错误的原因:

Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlan0 ; Invalid argument.

是因为iwconfig期望key:参数使用WEP密钥。由于WEP的工作方式,此密钥必须满足以下条件之一:

  • 长度为5个字符的ascii字符串
  • 长度为13个字符的ascii字符串
  • 长度为10个字符的十六进制字符串
  • 长度为26个字符的十六进制字符串

当然,您的密钥是6个字符,因此无法使用,因此会出现错误。请注意,从my_key技术上讲,它也不是有效的PSK - WPA / 2至少需要8个字符。

所有这些都引出了一个问题:那么您如何连接到启用WPA-TKIP / WPA2-AES的无线局域网?答案是您必须使用另一个程序,如wpa_supplicant。如果您对使用widd manager之类的gui网络管理器的命令行方法不太感兴趣,它将使此过程更加无缝。

任何安全的wifi网络都不会使用WEP,因为它已损坏,因此,重要的是要意识到iwconfig本身无法连接到更安全的WPA / WPA2。


10
哇谢谢!经过一段时间的Google搜索后,这是一个很大的帮助。谢谢!
loneboat 2012年

2
+1。感谢您的分享,这是至关重要的信息。
DelboyJay

1
非常感谢!一个小时我一直在与iwconfig碰撞。谢谢!
thebunnyrules

抱歉,我也要说!这次真是万分感谢。阅读您的答案并了解发生了什么之后,我才安装了wicd,然后在30秒内配置了wifi。
2016年4

17

只需编辑/etc/network/interfaces和编写:

auto wlan0
iface wlan0 inet dhcp 
                wpa-ssid <ssid>
                wpa-psk  <password>

之后,写入并关闭文件并使用命令:

dhclient wlan0

1
非常适合我的小Raspberry Pi(乳白色)
米开朗基罗

3
谢谢你!dhclient由于某种未知原因而挂在我的笔记本电脑上,但是ifup wlan0从dhcp服务器获得了ipaddress,之后一切都很好。
DelboyJay

2

这些是您的网络接口:

  • eth0
  • wmaster0
  • wlan0(此接口为无线接口)
  • vboxnet0
  • 潘0

该接口支持IEEE 802.11bgn。

ESSID:""  
Access Point: Not-Associated  

表示无线接口未连接到任何无线网络。

要连接到无线网络,请首先输入:

sudo iwlist wlan0 scan

这将扫描并列出所有广播其ESSID的无线网络。假设ESSID为“ Rox”,然后连接到网络。

sudo iwconfig wlan0 essid "Rox"

如果网络需要密钥,则将密钥关联:

sudo iwconfig wlan0 key ABCD-1234-5678-EFG2

最后,请求IP:

sudo dhclient wlan0

您应该可以连接。


我同时尝试了'key s:my_key'和'key my_key',但是都失败了。在第一种情况下,我收到->'无线请求“设置编码”(8B2A)错误:设备wlan0上的SET失败;无效参数。'<-在第二种情况下,我得到:->'无线请求“设置编码”(8B2A)错误:无效参数“ my_key”。'<-当然,'sudo dhclient wlan0'不会'也不行。输出以->“未收到DHCPOFFERS结束。” <-–
Shawn

1

对于有“设置编码”问题的人,请尝试Carlanga用户在此博客中写的内容

sudo gedit /etc/network/interface

清除所有内容并仅离开:

auto lo
iface lo inet loopback

然后,重新启动。


1
arg!它是西班牙文,所以很近但是还很远。
Sirex

什么??太神奇了!
smac89 '18

1

哇,这么久没有解决这个问题了。如果出现错误:

无线请求“设置编码”(8B2A)错误:设备wlan0上的SET失败;无效的论点。

不要使用“密钥”来包括WEP密钥,而应使用“ enc”。

iwconfig wlan0 essid“ ESSID” enc“我的密钥”

..然后结束一个

dhclient wlan0


0

iwconfig与相同ifconfig,尽管它适用于机器上安装的无线设备。它可用于设置显示参数以及显示统计信息。无线统计信息与中的相同/proc/net/wireless。您的输出显示您当前有1个正常运行的WLAN设备,wlan0


/ proc / net / wireless文件为空(当我在gedit中打开文件时,什么都没有显示。)这是什么意思?
肖恩,

0

抱歉,看不到您正在使用s做什么:尝试

sudo iwconfig wlan0 essid "name"
sudo iwconfig wlan0 key "key"
sudo ifup wlan0
sudo ifdown wlan0

因为密钥不是十六进制,所以是ASCII,因此需要s:先输入才能正常工作。
Danijel-James W
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.