1. 程式人生 > >linux wifi的配置和使用命令

linux wifi的配置和使用命令

iwconfig

iwconfig是Linux Wireless Extensions(LWE)的使用者層配置工具之一。LWE是Linux下對無線網路配置的工具,包括核心的支援、使用者層配置工具和驅動介面的支援三部分。目前很多無線網絡卡都支援LWE,而且主流的Linux釋出版本,比如Redhat Linux、Ubuntu Linux都已經帶了這個配置工具。

用法: iwconfig interface [essid {NN|on|off}]

[nwid {NN|on|off}]

[mode {managed|ad-hoc|...}

[freq N.NNNN[k|M|G]]

[channel N]

[ap {N|off|auto}]

[sens N]

[nick N]

[rate {N|auto|fixed}]

[rts {N|auto|fixed|off}]

[frag {N|auto|fixed|off}]

[enc {NNNN-NNNN|off}]

[power {period N|timeout N}]

[retry {limit N|lifetime N}]

[txpower N {mW|dBm}]

[commit]

說明:iwconfig是LWE最主要的工具,可以對無線網絡卡的大部分引數進行配置。

引數:

essid:設定無線網絡卡的ESSID(Extension Service Set ID)。通過ESSID來區分不同的無線網路,正常情況下只有相同ESSID的無線站點才可以互相通訊,除非想監聽無線網路。其後的引數為雙引號括起的ESSID字串,或者是any/on/off,如果ESSID字串中包含any/no/off,則需要在前面加"--"。

示例:

#iwconfig eth0 essid any 允許任何ESSID,也就是混雜模式

#iwconfig eth0 essid "My Network" 設定ESSID為"My Network"

#iwconfig eth0 essid -- "ANY" 設定ESSID為"ANY"

nwid: Network ID,只用於pre-802.11的無線網絡卡,802.11網絡卡利用ESSID和AP的MAC地址來替換nwid,現在基本上不用設定。

示例:

#iwconfig eth0 nwid AB34

#iwconfig eth0 nwid off

nick: Nickname,一些網絡卡需要設定該引數,但是802.11協議棧、MAC都沒有用到該引數,一般也不用設定。

示例:

#iwconfig eth0 nickname "My Linux Node"

mode:設定無線網絡卡的工作模式,可以是

Ad-hoc:不帶AP的點對點無線網路

Managed:通過多個AP組成的網路,無線裝置可以在這個網路中漫遊

Master:設定該無線網絡卡為一個AP

Repeater:設定為無線網路中繼裝置,可以轉發網路包

Secondary:設定為備份的AP/Repeater

Monitor:監聽模式

Auto:由無線網絡卡自動選擇工作模式

示例:

#iwconfig eth0 mode Managed

#iwconfig eth0 mode Ad-Hoc

freq/channel:設定無線網絡卡的工作頻率或者頻道,小於1000的引數被認為是頻道,大於10000的引數被認為是頻率。頻率單位為Hz,可以在數字後面附帶k, M, G來改變數量級,比如2.4G。頻道從1開始。使用lwlist工具可以檢視無線網絡卡支援的頻率和頻道。引數off/auto指示無線網路自動挑選頻率。

注意:如果是Managed模式,AP會指示無線網絡卡的工作頻率,因此該設定的引數會被忽略。Ad-hoc模式下只使用該設定的頻率初始無線網路,如果加入已經存在的Ad-hoc網路則會忽略該設定的頻率引數。

示例:

#iwconfig eth0 freq 2422000000

#iwconfig eth0 freq 2.422G

#iwconfig eth0 channel 3

#iwconfig eth0 channel auto

ap:連線到指定的AP或者無線網路,後面的引數可以是AP的MAC地址,也可以是iwlist scan出來的識別符號。如果是Ad-hoc,則連線到一個已經存在的Ad-hoc網路。使用off引數讓無線網絡卡不改變當前已連線的AP下進入自動模式。any/auto引數,無線網絡卡自動選擇最好的AP。

注意:如果無線訊號低到一定程度,無線網路會進入自動選擇AP模式。

示例:

#iwconfig eth0 ap 00:60:1D:01:23:45

#iwconfig eth0 ap any

#iwconfig eth0 ap off

rate/bit:如果無線網絡卡支援多速率,則可以通過該命令設定工作的速率。小於1000的引數由具體的無線網絡卡驅動定義,一般是傳輸速率的索引值,大於1000的為速率,單位bps,可以在數字後面附帶k, M, G來指定數量級。auto引數讓無線網絡卡自動選擇速率fixed引數讓無線網絡卡不使用自動速率模式。

示例:

#iwconfig eth0 rate 11M

#iwconfig eth0 rate auto

#iwconfig eth0 rate 5.5M auto //自動選擇5.5M以下的速率

txpower:如果無線網絡卡支援多發射功率設定,則使用該引數設定發射,單位為dBm,如果指定為W(毫瓦),只轉換公式為:

dBm=30+log(W)。引數on/off可以開啟和關閉發射單元,auto和fixed指定無線是否自動選擇發射功率。

示例:

#iwconfig eth0 txpower 15

#iwconfig eth0 txpower 30mW

#iwconfig eth0 txpower auto

#iwconfig eth0 txpower off

sens:設定接收靈敏度的下限,在該下限之下,無線網絡卡認為該無線網路訊號太差,不同的網絡卡會採取不同的措施,一些現代的無線網絡卡會自動選擇新的AP。正的引數為raw data,直接傳給無線網絡卡驅動處理,一般認為是百分比。負值表示dBm值。

示例:

#iwconfig eth0 sens -80

#iwconfig eth0 sens 2

retry:設定無線網絡卡的重傳機制。limit ‘value’ 指定最大重傳次數;lifetime ‘value’指定最長重試時間,單位為秒,可以附帶m和u來指定單位為毫秒和微秒。如果無線網絡卡支援自動模式,則在limit和lifetime之前還可以附加min和max來指定上下限值。

示例:

#iwconfig eth0 retry 16

#iwconfig eth0 retry lifetime 300m

#iwconfig eth0 retry min limit 8

rts:指定RTS/CTS握手方式,使用RTS/CTS握手會增加額外開銷,但如果無線網路中有隱藏無線節點或者有很多無線節點時可以提高效能。

後面的引數指定一個使用該機制的最小包的大小,如果該值等於最大包大小,則相當於禁止使用該機制。可以使用auto/off/fixed

引數。

示例:

#iwconfig eth0 rts 250

#iwconfig eth0 rts off

frag:設定傳送資料包的分片大小。設定分片會增加額外開銷,但在噪聲環境下可以提高資料包的到達率。一般情況下該引數小於最大包大小,有些支援Burst模式的無線網絡卡可以設定大於最大包大小的值來允許Burst模式。還可以使用auto/fixed/off引數。

示例:

#iwconfig eth0 frag 512

#iwconfig eth0 frag off

key/enc[ryption]:設定無線網絡卡使用的加密金鑰,此處為設定WEP模式的加密key,如果要使用WPA,需要wpa_supplicant工具包。

金鑰引數可以是 XXXX-XXXX-XXXX-XXXX 或者 XXXXXXXX 格式的十六進位制數值,也可以是s:xxxxxx的ASCII字元。如果在金鑰引數之前加了[index],則只是設定該索引值對應的金鑰,並不改變當前的金鑰。直接指定[index]值可以設定當前使用哪一個金鑰。指定on/off可以控制是否使用加密模式。open/restricted指定加密模式,取決於不同的無線網絡卡,大多數無線網絡卡的open模式不使用加密且允許接收沒有加密的資料包,restricted模式使用加密。可以使用多個key引數,但只有最後一個生效。

WEP金鑰可以是40bit,用10個十六進位制數字或者5個ASCII字元表示,也可以是128bit,用26個十六進位制數字或者13個ASCII字元表

示。

示例:

#iwconfig eth0 key 0123-4567-89

#iwconfig eth0 key [3] 0123-4567-89

#iwconfig eth0 key s:password [2]

#iwconfig eth0 key [2]

#iwconfig eth0 key open

#iwconfig eth0 key off

#iwconfig eth0 key restricted [3] 0123456789

#iwconfig eth0 key 01-23 key 45-67 [4] key [4]

power:設定無線網絡卡的電源管理模式。period ‘value’ 指定喚醒的週期,timeout ‘value’指定進入休眠的等待時間,這兩個引數之前可以

加min和max修飾,這些值的單位為秒,可以附加m和u來指定毫秒和微秒。off/on引數指定是否允許電源管理,all/unicast/multicast

指定允許喚醒的資料包型別。

示例:

#iwconfig eth0 power period 2

#iwconfig eth0 power 500m unicast

#iwconfig eth0 power timeout 300u all

#iwconfig eth0 power off

#iwconfig eth0 power min period 2 power max period 4

commit:提交所有的引數修改給無線網絡卡驅動。有些無線網絡卡驅動會先快取無線網絡卡引數修,使用這個命令來讓無線網絡卡的引數修改生效。不過一般不需要使用該命令,因為無線網絡卡驅動最終都會是引數的修改生效,一般在debug時會用到。

-----------

iwlist eth1 scan 搜尋無線網路:

顯示搜到的網路(此處只顯示一個):

eth1 Scan completed :

Cell 01 - Address: 00:04:E2:E3:04:FC

ESSID:"ap_demo"

Mode:Managed

Frequency:2.437 GHz

Quality:0/0 Signal level=-61 dBm Noise level=-96 dBm

Encryption key:on

Bit Rate:1 Mb/s

Bit Rate:2 Mb/s

Bit Rate:5.5 Mb/s

Bit Rate:11 Mb/s

Bit Rate:6 Mb/s

Bit Rate:9 Mb/s

Bit Rate:12 Mb/s

Bit Rate:18 Mb/s

Bit Rate:24 Mb/s

Bit Rate:36 Mb/s

Bit Rate:48 Mb/s

Bit Rate:54 Mb/s

Cell 02 ……

---------------

設定板子的channel

iwlist eth1 channel 11

--------------

設定模式:

iwconfig eth1 mode managed

通過MAC 設定AP:

iwconfig eth1 ap 00:0A:EB:CA:79:B0

連線到WEP on 的AP:

iwconfig eth1 key s:12345 等效於 iwconfig eth1 enc 3132333435(12345的hex值)(為什麼AP64bit的口令是40bit呢)

iwconfig eth1 key on

iwconfig eth1 essid sychip_demo

斷開WEP:

iwconfig eth1 enc off

檢視IP:

ifconfig eth1

設定IP:

ifconfig eth1 10.3.1.74

把IP: 129.158.215.204 , netmask: 255.255.255.0分配給rh0,

# ifconfig rh0 129.158.215.204 netmask 255.255.255.0

獲取IP;

ifconfig eth1 dhcp start (從eth1走,不需要ip即可dhcp)

udhcpc -i eth1

udhcpc --help

路由處理:

若要刪除以 10. 起始的 IP 路由表中的所有路由,請鍵入:

route delete 10.*

route del default

route add -net 10.3.0.0 netmask 255.255.0.0 eth1 (eth1獲得IP之前,使用此命令顯示:No such device