[译]命令行连接wifi

53 篇文章 0 订阅
原文地址:http://www.blackmoreops.com/2014/09/18/connect-to-wifi-network-from-command-line-in-linux/

[b]需要的工具[/b]
wpa_supplicant[url]http://w1.fi/wpa_supplicant/[/url]
iw[url]http://wireless.kernel.org/en/users/Documentation/iw[/url]
ip[url]http://linux.die.net/man/8/ip[/url]
ping[url]http://en.wikipedia.org/wiki/Ping_%28networking_utility%29[/url]
[b]Linux WPA/WPA2/IEEE 802.1X Supplicant[/b]
wpa_supplicant实现WPA认证协商以及控制漫游和IEEE 802.11wlan启动的认证/关联
[b]iw – Linux Wireless[/b]
iw是基于nl80211的cli无线控制工具。支持所有最近加入内核的新驱动。旧工具是iwconfig,使用无线扩展接口,已被废弃。
[b]ip – ip program in Linux[/b]
ip用来显示操作路由,设备,路由策略和tunnel。用来开启/关闭设备,以及帮助找到网络信息。
[url]ping[/url]

[b]1. 找到可用WiFi适配器[/b]
用来找到你的本地Linux主机连接的WiFi适配器
[quote]
root@kali:~# iw dev
phy#1
Interface wlan0
ifindex 4
type managed
root@kali:~#
[/quote]
上述说明,该系统有一个物理WiFi适配器:
Designated name: phy#1
Device names: wlan0
Interface Index: 4. 通常是连接的端口(可以是usb端口)
Type: Managed. Type说明无线设备的运行模式。managed是指该设备是一个WiFi站点或一个连接到AP的客户端。
[img]http://dl2.iteye.com/upload/attachment/0103/4025/490814d4-13f3-35ad-b8e8-04799a7e436e.png[/img]
[b]2. 检查设备状态[/b]
[quote]
root@kali:~# ip link show wlan0
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000
link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff
root@kali:~#
[/quote]
一个设备是UP的(wlan0), 一个设备是DOWN的(wlan1)
[img]http://dl2.iteye.com/upload/attachment/0103/4027/9b864320-71f1-35ff-8008-bfd71d205003.png[/img]
[b]3. 打开WiFi接口[/b]
[quote]root@kali:~# ip link set wlan0 up[/quote]
[img]http://dl2.iteye.com/upload/attachment/0103/4030/29a44cb7-48b1-3157-8fc2-924ab9791624.png[/img]
再次运行show link命令,可以看到wlan1现在是up的
[quote]
root@kali:~# ip link show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff
root@kali:~#
[/quote]
[b]4. 检查连接状态[/b]
[quote]
root@kali:~# iw wlan0 link
Not connected.
root@kali:~#
[/quote]
[img]http://dl2.iteye.com/upload/attachment/0103/4032/1edc8337-5812-32d2-a575-f7bafcd8629a.png[/img]
上述结果显示没有连接到任何网络
[b]5. 扫描无线网络[/b]
[quote]
root@kali:~# iw wlan0 scan
BSS 9c:97:26:de:12:37 (on wlan0)
TSF: 5311608514951 usec (61d, 11:26:48)
freq: 2462
beacon interval: 100
capability: ESS Privacy ShortSlotTime (0x0411)
signal: -53.00 dBm
last seen: 104 ms ago
Information elements from Probe Response frame:
[color=red] SSID: blackMOREOps[/color]
Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
DS Parameter set: channel 11
ERP: Barker_Preamble_Mode
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC (0x000c)
Extended supported rates: 6.0 9.0 12.0 48.0
---- truncated ----
[/quote]
上述中两条关键信息是SSID和安全协议(WPA/WPA2 vs WEP)。SSID是[color=red]blackMOREOps[/color],协议是[color=red]RSN[/color],也就是常说的WPA2.
[img]http://dl2.iteye.com/upload/attachment/0103/4034/71f9b5f7-417a-35a6-b462-b634a3c40fbd.png[/img]
[b]6. 生成wpa/wpa2配置文件[/b]
现在我们为wpa_supplicant生成一个预共享密钥([color=red]passphrase[/color])的配置文件
[quote]
root@kali:~# wpa_passphrase blackMOREOps >> /etc/wpa_supplicant.conf
[color=red]abcd1234[/color]
root@kali:~#
(where 'abcd1234' was the Network password)
[/quote]
需要在命令运行后,手动输入[color=red]passphrase[/color]作为[color=red]blackMOREOps [/color]网络的密钥。
[img]http://dl2.iteye.com/upload/attachment/0103/4036/44c0fb51-aa01-3895-9a64-1753e47d33a4.png[/img]
wpa_passphrase将会根据你的输入创建配置。每个新的网络都会有一个新的配置,它不会替换已经存在的配置文件,配置位于[color=red]/etc/wpa_supplicant.conf[/color]
[quote]root@kali:~# cat /etc/wpa_supplicant.conf
# reading passphrase from stdin
network={
ssid="blackMOREOps"
#psk="abcd1234"
psk=42e1cbd0f7fbf3824393920ea41ad6cc8528957a80a404b24b5e4461a31c820c
}
root@kali:~# [/quote]
7. 连接WPA/WPA2 WiFi网络
[quote]root@kali:~# wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
root@kali:~#[/quote]
[color=red]-B:[/color]在后台运行wpa_supplicant
[color=red]-D:[/color]指定无线驱动,wext是通用驱动
[color=red]-c:[/color]指定配置文件位置
[img]http://dl2.iteye.com/upload/attachment/0103/4038/9a48206f-6c75-3630-beb8-ffa821c66bb3.png[/img]
使用[color=red]iw[/color]命令测试连接结果
[quote]root@kali:~# iw wlan0 link
Connected to 9c:97:00:aa:11:33 (on wlan0)
SSID: blackMOREOps
freq: 2412
RX: 26951 bytes (265 packets)
TX: 1400 bytes (14 packets)
signal: -51 dBm
tx bitrate: 6.5 MBit/s MCS 0

bss flags: short-slot-time
dtim period: 0
beacon int: 100[/quote]
[b]8. 使用dhclient来获得一个IP[/b]
[quote]root@kali:~# dhclient wlan0
Reloading /etc/samba/smb.conf: smbd only.
root@kali:~#[/quote]
使用ip或ifconfig命令来确认获得IP
[quote]
root@kali:~# ip addr show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.4/24 brd 10.0.0.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::260:64ff:fe37:4a30/64 scope link
valid_lft forever preferred_lft forever
root@kali:~#

(or)

root@kali:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:60:64:37:4a:30
inet addr:10.0.0.4 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::260:64ff:fe37:4a30/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23868 errors:0 dropped:0 overruns:0 frame:0
TX packets:23502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22999066 (21.9 MiB) TX bytes:5776947 (5.5 MiB)

root@kali:~#
[/quote]
然后添加默认路由规则,配置的最后一步确保有合适的路由规则
[quote]
root@kali:~# ip route show
default via 10.0.0.138 dev wlan0
10.0.0.0/24 dev wlan0 proto kernel scope link src 10.0.0.4
[/quote]
[img]http://dl2.iteye.com/upload/attachment/0103/4040/026ab7ce-50b1-3d70-8a4b-b6d502ca5617.png[/img]
[b]9. 测试连接[/b]
[quote]root@kali:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=3 ttl=42 time=265 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=42 time=176 ms
64 bytes from 8.8.8.8: icmp_req=5 ttl=42 time=174 ms
64 bytes from 8.8.8.8: icmp_req=6 ttl=42 time=174 ms
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 4 received, 33% packet loss, time 5020ms
rtt min/avg/max/mdev = 174.353/197.683/265.456/39.134 ms
root@kali:~# [/quote]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值