詳細(xì)解析:Linux操作系統(tǒng)的無線網(wǎng)絡(luò)命令
iwconfig
iwconfig是LinuxWirelessExtensions(LWE)的用戶層配置工具之一。LWE是Linux下對無線網(wǎng)絡(luò)配置的工具,包括內(nèi)核的支持、用戶層配置工具和驅(qū)動接口的支持三部分。目前很多無線網(wǎng)卡都支持LWE,而且主流的Linux發(fā)布版本,比如RedhatLinux、UbuntuLinux都已經(jīng)帶了這個配置工具。
用法:iwconfiginterface[essid{NN|on|off}]
[nwid{NN|on|off}]
[mode{managed|ad-hoc|...}
[freqN.NNNN[k|M|G]]
[channelN]
[ap{N|off|auto}]
[sensN]
[nickN]
[rate{N|auto|fixed}]
[rts{N|auto|fixed|off}]
[frag{N|auto|fixed|off}]
[enc{NNNN-NNNN|off}]
[power{periodN|timeoutN}]
[retry{limitN|lifetimeN}]
[txpowerN{mW|dBm}]
[commit]
說明:iwconfig是LWE最主要的工具,可以對無線網(wǎng)卡的大部分參數(shù)進(jìn)行配置。
參數(shù):
essid:設(shè)置無線網(wǎng)卡的ESSID(ExtensionServiceSetID)。通過ESSID來區(qū)分不同的無線網(wǎng)絡(luò),正常情況下只有相同ESSID的無線站點(diǎn)才可以互相通訊,除非想監(jiān)聽無線網(wǎng)絡(luò)。其后的參數(shù)為雙引號括起的ESSID字符串,或者是any/on/off,如果ESSID字符串中包含any/no/off,則需要在前面加"--"。
示例:
#iwconfigeth0essidany允許任何ESSID,也就是混雜模式
#iwconfigeth0essid"MyNetwork"設(shè)置ESSID為"MyNetwork"
#iwconfigeth0essid--"ANY"設(shè)置ESSID為"ANY"
nwid:NetworkID,只用于pre-802.11的無線網(wǎng)卡,802.11網(wǎng)卡利用ESSID和AP的MAC地址來替換nwid,現(xiàn)在基本上不用設(shè)置。
示例:
#iwconfigeth0nwidAB34
#iwconfigeth0nwidoff
nick:Nickname,一些網(wǎng)卡需要設(shè)置該參數(shù),但是802.11協(xié)議棧、MAC都沒有用到該參數(shù),一般也不用設(shè)置。
示例:
#iwconfigeth0nickname"MyLinuxNode"
mode:設(shè)置無線網(wǎng)卡的工作模式,可以是
Ad-hoc:不帶AP的點(diǎn)對點(diǎn)無線網(wǎng)絡(luò)
Managed:通過多個AP組成的網(wǎng)絡(luò),無線設(shè)備可以在這個網(wǎng)絡(luò)中漫游
Master:設(shè)置該無線網(wǎng)卡為一個AP
Repeater:設(shè)置為無線網(wǎng)絡(luò)中繼設(shè)備,可以轉(zhuǎn)發(fā)網(wǎng)絡(luò)包
Secondary:設(shè)置為備份的AP/Repeater
Monitor:監(jiān)聽模式
Auto:由無線網(wǎng)卡自動選擇工作模式
示例:
#iwconfigeth0modeManaged
#iwconfigeth0modeAd-Hoc
#p#freq/channel:設(shè)置無線網(wǎng)卡的工作頻率或者頻道,小于1000的參數(shù)被認(rèn)為是頻道,大于10000的參數(shù)被認(rèn)為是頻率。頻率單位為Hz,可以在數(shù)字后面附帶k,M,G來改變數(shù)量級,比如2.4G。頻道從1開始。使用lwlist工具可以查看無線網(wǎng)卡支持的頻率和頻道。參數(shù)off/auto指示無線網(wǎng)絡(luò)自動挑選頻率。
注意:如果是Managed模式,AP會指示無線網(wǎng)卡的工作頻率,因此該設(shè)置的參數(shù)會被忽略。Ad-hoc模式下只使用該設(shè)定的頻率初始無線網(wǎng)絡(luò),如果加入已經(jīng)存在的Ad-hoc網(wǎng)絡(luò)則會忽略該設(shè)置的頻率參數(shù)。
示例:
#iwconfigeth0freq2422000000
#iwconfigeth0freq2.422G
#iwconfigeth0channel3
#iwconfigeth0channelauto
ap:連接到指定的AP或者無線網(wǎng)絡(luò),后面的參數(shù)可以是AP的MAC地址,也可以是iwlistscan出來的標(biāo)識符。如果是Ad-hoc,則連接到一個已經(jīng)存在的Ad-hoc網(wǎng)絡(luò)。使用off參數(shù)讓無線網(wǎng)卡不改變當(dāng)前已連接的AP下進(jìn)入自動模式。any/auto參數(shù),無線網(wǎng)卡自動選擇最好的AP。
注意:如果無線信號低到一定程度,無線網(wǎng)絡(luò)會進(jìn)入自動選擇AP模式。
示例:
#iwconfigeth0ap00:60:1D:01:23:45
#iwconfigeth0apany
#iwconfigeth0apoff
rate/bit:如果無線網(wǎng)卡支持多速率,則可以通過該命令設(shè)置工作的速率。小于1000的參數(shù)由具體的無線網(wǎng)卡驅(qū)動定義,一般是傳輸速率的索引值,大于1000的為速率,單位bps,可以在數(shù)字后面附帶k,M,G來指定數(shù)量級。auto參數(shù)讓無線網(wǎng)卡自動選擇速率fixed參數(shù)讓無線網(wǎng)卡不使用自動速率模式。
示例:
#iwconfigeth0rate11M
#iwconfigeth0rateauto
#iwconfigeth0rate5.5Mauto//自動選擇5.5M以下的速率
txpower:如果無線網(wǎng)卡支持多發(fā)射功率設(shè)定,則使用該參數(shù)設(shè)定發(fā)射,單位為dBm,如果指定為W(毫瓦),只轉(zhuǎn)換公式為:
dBm=30+log(W)。參數(shù)on/off可以打開和關(guān)閉發(fā)射單元,auto和fixed指定無線是否自動選擇發(fā)射功率。
示例:
#iwconfigeth0txpower15
#iwconfigeth0txpower30mW
#iwconfigeth0txpowerauto
#iwconfigeth0txpoweroff
sens:設(shè)置接收靈敏度的下限,在該下限之下,無線網(wǎng)卡認(rèn)為該無線網(wǎng)絡(luò)信號太差,不同的網(wǎng)卡會采取不同的措施,一些現(xiàn)代的無線網(wǎng)卡會自動選擇新的AP。正的參數(shù)為rawdata,直接傳給無線網(wǎng)卡驅(qū)動處理,一般認(rèn)為是百分比。負(fù)值表示dBm值。
#p#示例:
#iwconfigeth0sens-80
#iwconfigeth0sens2
retry:設(shè)置無線網(wǎng)卡的重傳機(jī)制。limit‘value’指定最大重傳次數(shù);lifetime‘value’指定最長重試時間,單位為秒,可以附帶m和u來指定單位為毫秒和微秒。如果無線網(wǎng)卡支持自動模式,則在limit和lifetime之前還可以附加min和max來指定上下限值。
示例:
#iwconfigeth0retry16
#iwconfigeth0retrylifetime300m
#iwconfigeth0retryminlimit8
rts:指定RTS/CTS握手方式,使用RTS/CTS握手會增加額外開銷,但如果無線網(wǎng)絡(luò)中有隱藏?zé)o線節(jié)點(diǎn)或者有很多無線節(jié)點(diǎn)時可以提高性能。
后面的參數(shù)指定一個使用該機(jī)制的最小包的大小,如果該值等于最大包大小,則相當(dāng)于禁止使用該機(jī)制。可以使用auto/off/fixed
參數(shù)。
示例:
#iwconfigeth0rts250
#iwconfigeth0rtsoff
frag:設(shè)置發(fā)送數(shù)據(jù)包的分片大小。設(shè)置分片會增加額外開銷,但在噪聲環(huán)境下可以提高數(shù)據(jù)包的到達(dá)率。一般情況下該參數(shù)小于最大包大小,有些支持Burst模式的無線網(wǎng)卡可以設(shè)置大于最大包大小的值來允許Burst模式。還可以使用auto/fixed/off參數(shù)。
示例:
#iwconfigeth0frag512
#iwconfigeth0fragoff
key/enc[ryption]:設(shè)置無線網(wǎng)卡使用的加密密鑰,此處為設(shè)置WEP模式的加密key,如果要使用WPA,需要wpa_supplicant工具包。
密鑰參數(shù)可以是XXXX-XXXX-XXXX-XXXX或者XXXXXXXX格式的十六進(jìn)制數(shù)值,也可以是s:xxxxxx的ASCII字符。如果在密鑰參數(shù)之前加了[index],則只是設(shè)置該索引值對應(yīng)的密鑰,并不改變當(dāng)前的密鑰。直接指定[index]值可以設(shè)置當(dāng)前使用哪一個密鑰。指定on/off可以控制是否使用加密模式。open/restricted指定加密模式,取決于不同的無線網(wǎng)卡,大多數(shù)無線網(wǎng)卡的open模式不使用加密且允許接收沒有加密的數(shù)據(jù)包,restricted模式使用加密。可以使用多個key參數(shù),但只有最后一個生效。
WEP密鑰可以是40bit,用10個十六進(jìn)制數(shù)字或者5個ASCII字符表示,也可以是128bit,用26個十六進(jìn)制數(shù)字或者13個ASCII字符表示。
示例:
#iwconfigeth0key0123-4567-89
#iwconfigeth0key[3]0123-4567-89
#iwconfigeth0keys:password[2]
#iwconfigeth0key[2]
#iwconfigeth0keyopen
#iwconfigeth0keyoff
#iwconfigeth0keyrestricted[3]0123456789
#iwconfigeth0key01-23key45-67[4]key[4]
power:設(shè)置無線網(wǎng)卡的電源管理模式。period‘value’指定喚醒的周期,timeout‘value’指定進(jìn)入休眠的等待時間,這兩個參數(shù)之前可以
加min和max修飾,這些值的單位為秒,可以附加m和u來指定毫秒和微秒。off/on參數(shù)指定是否允許電源管理,all/unicast/multicast
指定允許喚醒的數(shù)據(jù)包類型。
示例:
#iwconfigeth0powerperiod2
#iwconfigeth0power500municast
#iwconfigeth0powertimeout300uall
#iwconfigeth0poweroff
#iwconfigeth0powerminperiod2powermaxperiod4
commit:提交所有的參數(shù)修改給無線網(wǎng)卡驅(qū)動。有些無線網(wǎng)卡驅(qū)動會先緩存無線網(wǎng)卡參數(shù)修,使用這個命令來讓無線網(wǎng)卡的參數(shù)修改生效。不過一般不需要使用該命令,因為無線網(wǎng)卡驅(qū)動最終都會是參數(shù)的修改生效,一般在debug時會用到。
-----------
iwlisteth1scan搜索無線網(wǎng)絡(luò):
顯示搜到的網(wǎng)絡(luò)(此處只顯示一個):
eth1Scancompleted:
Cell01-Address:00:04:E2:E3:04:FC
ESSID:"ap_demo"
Mode:Managed
Frequency:2.437GHz
Quality:0/0Signallevel=-61dBmNoiselevel=-96dBm
Encryptionkey:on
BitRate:1Mb/s
BitRate:2Mb/s
BitRate:5.5Mb/s
BitRate:11Mb/s
BitRate:6Mb/s
BitRate:9Mb/s
BitRate:12Mb/s
BitRate:18Mb/s
BitRate:24Mb/s
BitRate:36Mb/s
BitRate:48Mb/s
BitRate:54Mb/s
Cell02……
---------------
設(shè)置板子的channel
iwlisteth1channel11
--------------
設(shè)置模式:
iwconfigeth1modemanaged
通過MAC設(shè)置AP:
iwconfigeth1ap00:0A:EB:CA:79:B0
連接到WEPon的AP:
iwconfigeth1keys:12345等效于iwconfigeth1enc3132333435(12345的hex值)(為什么AP64bit的口令是40bit呢)
iwconfigeth1keyon
iwconfigeth1essidsychip_demo
斷開WEP:
iwconfigeth1encoff
查看IP:
ifconfigeth1
設(shè)置IP:
ifconfigeth110.3.1.74
把IP:129.158.215.204,netmask:255.255.255.0分配給rh0,
#ifconfigrh0129.158.215.204netmask255.255.255.0
獲取IP;
ifconfigeth1dhcpstart(從eth1走,不需要ip即可dhcp)
udhcpc-ieth1
udhcpc--help
路由處理:
若要刪除以10.起始的IP路由表中的所有路由,請鍵入:
routedelete10.*
routedeldefault
routeadd-net10.3.0.0netmask255.255.0.0eth1(eth1獲得IP之前,使用此命令顯示:Nosuchdevice)
【編輯推薦】