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

Sha*_*awn 46 terminal wireless-networking ubuntu

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

***iwconfig***
Run Code Online (Sandbox Code Playgroud)

——

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.
Run Code Online (Sandbox Code Playgroud)

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

当我尝试使用关联键时

sudo iwconfig wlan0 key s:my_key
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

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

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

gre*_*olf 94

我很惊讶没有人愿意在上面的答案中提到这一点,但听起来您真的是在尝试让 wifi 连接在 linux 下工作——并不太了解每个 iwconfig 参数的所有细节。

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

现在你收到这个奇怪错误的原因是:

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

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

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

当然,您的密钥是 6 个字符,因此这将不起作用,从而导致错误。请注意,从my_key技术上讲,它也不是有效的 PSK——WPA/2 至少需要 8 个字符。

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

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

  • 哇谢谢!经过长时间的谷歌搜索,这是一个很大的帮助。谢谢! (11认同)
  • +1。这是一条重要的信息,谢谢分享。 (3认同)

小智 17

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

auto wlan0
iface wlan0 inet dhcp 
                wpa-ssid <ssid>
                wpa-psk  <password>
Run Code Online (Sandbox Code Playgroud)

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

dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

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

小智 15

wlan0 IEEE 802.11bgn ESSID:""

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

模式:托管

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

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

频率:2.412 GHz

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

接入点:未关联

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

发射功率=20 dBm

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

重试最小限制:7

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

RTS thr:关闭

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

片段 thr=2352 B

这描述了您的卡将发送的最大数据包大小 - 基本上,如果您有嘈杂的环境,数据包越小,您的数据包必须重新传输的可能性就越小,如果发生这种情况,必须传输的数据就越少. 根据手册,如果该值大于最大数据包大小,卡可能会同时发送多个数据包。

电源管理:关闭

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

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

如果您的卡已连接,您将在此处查看链接质量:) 信号电平和噪声电平可以指定为 dBm 或任何任意单位。

Rx 无效 nwid:0 Rx 无效 crypt:0 Rx 无效 frag:0

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

Tx 过度重试:0

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

以上都是基于 iwconfig 手册,你可以在这里找到 hml 版本。

如果您要使用命令行工具配置卡,请务必关闭网络管理器并使用Sathya 的回答。如果您将密钥作为文本,请使用

sudo iwconfig wlan0 key s:your_key
Run Code Online (Sandbox Code Playgroud)

代替

sudo iwconfig wlan0 key ABCD-1234-5678-EFG2
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了 'key s:my_key' 和 'key my_key',但都失败了。在第一种情况下,我得到 --&gt;'Error for wireless request "Set Encode" (8B2A) : SET failed on device wlan0 ; 无效参数。'&lt;-- 在第二种情况下,我得到:--&gt;'无线请求“设置编码”(8B2A)的错误:无效参数“my_key”。'&lt;--当然,'sudo dhclient wlan0'没有'也不行。输出以 --&gt;'No DHCPOFFERS received.'&lt;-- 结束 (11认同)
  • 忽略了这是 WPA/WPA2 问题的观点 (4认同)