`

[译]命令行连接wifi

 
阅读更多
原文地址:http://www.blackmoreops.com/2014/09/18/connect-to-wifi-network-from-command-line-in-linux/

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

1. 找到可用WiFi适配器
用来找到你的本地Linux主机连接的WiFi适配器
引用

root@kali:~# iw dev
phy#1
    Interface wlan0
        ifindex 4
        type managed
root@kali:~#

上述说明,该系统有一个物理WiFi适配器:
Designated name: phy#1
Device names: wlan0
Interface Index: 4. 通常是连接的端口(可以是usb端口)
Type: Managed. Type说明无线设备的运行模式。managed是指该设备是一个WiFi站点或一个连接到AP的客户端。

2. 检查设备状态
引用

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:~#

一个设备是UP的(wlan0), 一个设备是DOWN的(wlan1)

3. 打开WiFi接口
引用
root@kali:~# ip link set wlan0 up


再次运行show link命令,可以看到wlan1现在是up的
引用

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:~#

4. 检查连接状态
引用

root@kali:~# iw wlan0 link
Not connected.
root@kali:~#


上述结果显示没有连接到任何网络
5. 扫描无线网络
引用

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:
    SSID: blackMOREOps
    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 ----

上述中两条关键信息是SSID和安全协议(WPA/WPA2 vs WEP)。SSID是blackMOREOps,协议是RSN,也就是常说的WPA2.

6. 生成wpa/wpa2配置文件
现在我们为wpa_supplicant生成一个预共享密钥(passphrase)的配置文件
引用

root@kali:~# wpa_passphrase blackMOREOps >> /etc/wpa_supplicant.conf
abcd1234
root@kali:~#
(where 'abcd1234' was the Network password)

需要在命令运行后,手动输入passphrase作为blackMOREOps 网络的密钥。

wpa_passphrase将会根据你的输入创建配置。每个新的网络都会有一个新的配置,它不会替换已经存在的配置文件,配置位于/etc/wpa_supplicant.conf
引用
root@kali:~# cat /etc/wpa_supplicant.conf
# reading passphrase from stdin
network={
ssid="blackMOREOps"
#psk="abcd1234"
psk=42e1cbd0f7fbf3824393920ea41ad6cc8528957a80a404b24b5e4461a31c820c
}
root@kali:~#

7. 连接WPA/WPA2 WiFi网络
引用
root@kali:~# wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
root@kali:~#

-B:在后台运行wpa_supplicant
-D:指定无线驱动,wext是通用驱动
-c:指定配置文件位置

使用iw命令测试连接结果
引用
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

8. 使用dhclient来获得一个IP
引用
root@kali:~# dhclient wlan0
Reloading /etc/samba/smb.conf: smbd only.
root@kali:~#

使用ip或ifconfig命令来确认获得IP
引用

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:~#

然后添加默认路由规则,配置的最后一步确保有合适的路由规则
引用

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


9. 测试连接
引用
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:~#
  • 大小: 31 KB
  • 大小: 46.5 KB
  • 大小: 58.2 KB
  • 大小: 24.9 KB
  • 大小: 70.8 KB
  • 大小: 78.9 KB
  • 大小: 89.4 KB
  • 大小: 87.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics