`

[译]命令行连接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
分享到:
评论

相关推荐

    树莓派+命令行连接wifi

    树莓派+命令行连接wifi 树莓派是一种小型的单板计算机,它具有强大的计算能力和丰富的功能。在树莓派3中,包含有WiFi功能,可以使用命令行连接WiFi。在一些不能使用图形界面的情况下,我们可以通过命令行连接WiFi。...

    Android通过命令连接wifi的方法(解决usb不能用问题)

    在Android系统中,有时我们可能遇到USB连接无法使用的情况,这时就需要通过命令行来操作设备,包括连接WiFi。本文将详细介绍如何使用Android命令行连接WiFi,以解决USB接口不可用的问题。 首先,我们需要通过串口...

    windows命令行设置wifi

    这篇博客"windows命令行设置wifi"可能详细介绍了如何利用这些命令来操作无线网络连接。虽然描述部分为空,但我们可以根据标题推测其主要内容可能涉及以下知识点: 1. **命令提示符(CMD)与PowerShell**: - Windows...

    redis客户端支持redis命令行和集群连接

    redis客户端支持redis命令行和集群连接redis客户端支持redis命令行和集群连接redis客户端支持redis命令行和集群连接redis客户端支持redis命令行和集群连接redis客户端支持redis命令行和集群连接

    mysql.exe命令行连接器

    mysql命令行连接器,最原始的mysql操作程序

    Linux下使用命令行连接无线网络

    要使用`wpa_supplicant`,你需要创建一个配置文件,例如`wpa_supplicant.conf`,在其中列出你要连接的网络信息,包括SSID(网络名称)、PSK(预共享密钥,即WiFi密码)等。 配置文件示例: ``` network={ ssid="你...

    Linux设置并启动WiFi的命令行方法.txt

    解决一些无法联网的老Linux系统无法自动识别到无线网卡设备并开启WIFI的问题。 注:部分命令需要原系统自带。

    linux下自动连接wifi程序源码

    Linux系统提供了丰富的命令行工具来管理网络接口,如`iwconfig`用于查看无线网卡信息,`iwlist`用于扫描可用的WiFi网络,`ifconfig`用于配置网络接口,以及`dhclient`或`wpa_supplicant`用于获取IP地址和连接WiFi。...

    联想E42安装manjaro并配置WiFi和显卡.html

    在联想E42上安装manjaro并配置使用WiFi和显卡过程中的坑和解决

    mysql.exe 在 win下命令行连接 mysql用,喜欢命令行操作的可以下载

    mysql.exe 在 win下命令行连接 mysql用,喜欢命令行操作的可以下载

    openwrt命令行模式命令及其工具putty.rar

    openwrt命令行模式命令及其工具 需要学会用ssh登录路由器用linux命令查看。 ps 命令查看当前系统运行的进程信息 free 命令查看内存使用和swap挂载情况 ls 查看目录和文件 cd 进入退出目录 vi 查看编辑配置文件 ...

    wifiap命令行

    或者你用命令行(注意在windows7下运行) 以管理员身份运行cmd 先查一下你的网卡是否支持 netsh wlan show drivers “支持的承载网络”后面写的是“是”还是“否”。否的话这个方法就行不通了,找个Apwifi软件测试...

    自动开启internet连接共享(ICS)的命令行

    标题中的“自动开启Internet连接共享(ICS)的命令行”是指使用操作系统内置的命令行工具,如CMD或PowerShell,来自动配置并启用Internet连接共享功能。Internet连接共享(ICS)允许一台计算机通过其网络连接为其他...

    WiFi共享命令行

    WiFi共享命令行是一种高效的方法,用于在没有图形用户界面的情况下设置和管理网络共享。这种方式特别适合于系统管理员或开发者,他们可能需要在远程服务器或无GUI环境(如Linux终端)中进行操作。以下是对这个主题的...

    指定ssid和密码及连接类型使用命令控制开关连接WiFi

    在IT行业中,尤其是在Android系统开发或者自动化运维场景下,通过命令行来控制设备连接WiFi是一种常见且实用的技术。本文将详细讲解如何利用命令指定SSID、密码以及连接类型来控制WiFi的开关连接,这对于那些没有...

    命令行下mysql 连接器

    在本文中,我们将深入探讨命令行下MySQL连接器的相关知识,包括它的特点、用途、使用方法以及如何随身携带。 首先,让我们理解标题中的“命令行下MySQL连接器”。这个工具是指MySQL的命令行客户端(mysql.exe),它...

    wifi-dialog:连接wifi网络的简单命令行对话框

    **WiFi-Dialoog:基于Python的简单命令行WiFi连接工具** WiFi-Dialoog是一个用Python3编写的命令行工具,它利用pythondialog库来创建交互式的用户界面,以及iwlist和wpa_supplicant这两个无线网络管理工具,为用户...

    用命令行连接MySQL数据库

    本篇文章将详细介绍如何通过命令行连接到MySQL数据库,以及处理可能出现的问题。 首先,连接MySQL数据库的基础步骤是: 1. **启动命令行**:在Windows操作系统中,可以通过快捷键`Win+R`打开运行对话框,输入`cmd`...

    Go-一个命令行工具以QRCode格式显示您当前的WifiSSID和密码

    标题中的“Go-一个命令行工具以QRCode格式显示您当前的WifiSSID和密码”指出,这个项目是一个使用Go语言开发的命令行应用程序,它的主要功能是将当前连接的无线网络(Wifi)的SSID(服务集标识符,即网络名称)和...

    Win10已连接WiFi密码查看器.zip

    在Windows 10操作系统中,查看已连接的WiFi网络的密码通常需要通过命令行界面来完成,这确实不如Windows 7中的图形化界面方便。针对这一情况,有一些第三方开发者制作了专门的工具来简化这一过程,例如"Win10已连接...

Global site tag (gtag.js) - Google Analytics