使用WIFI网卡 wpa_supplicant

在上篇文章中,编译了应用程序iw,它使得我们的开发板可以通过usb wifi网卡连接到无线热点,为了方便实验,我们采用了手机设置了无线热点。
对手机的热点有4中安全方式:

WEP
WPA
WPA2
使用iw工具,只能连接到前两种安全模式。对于WPA、WPA2这两种安全模式,iw工具就无能为力了。
需要使用wpa_supplicant,wpa_supplicant可以用于上述4中"认证/加密"
下载源码:网址为wireless.kernel.org/en/users/Documentation/wpa_supplicant
点击 wpa_supplicant‘s home page,看到最新版本是wpa_supplicant-2.9.tar.gz。

但是这里我们选用wpa_supplicant-2.0.tar.gz

a. wpa_supplicant : 可用于上述4种"认证/加密"
a.1 先编译它的依赖libopenssl
tar xzf openssl-1.0.1d.tar.gz
cd openssl-1.0.1d/
./config shared no-asm --prefix=$PWD/tmp
修改Makefile:
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
NM= arm-linux-nm
MAKEDEPPROG= arm-linux-gcc

make
make install
安装:
把编译出来的头文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

把编译出来的库文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把编译出来的库文件应该放入NFS文件系统的lib目录:
/work/nfs_root/fs_mini_mdev_new/lib

a.2 要有一个配置文件.config
tar xzf wpa_supplicant-2.0.tar.gz
cd wpa_supplicant-2.0/wpa_supplicant/
cp defconfig .config
修改.config加上一行: CONFIG_LIBNL32=y
修改Makefile:
CC=arm-linux-gcc

make
make DESTDIR=$PWD/tmp install

使用:
mkdir -p /var/run/wpa_supplicant
① OPEN
wpa_supplicant -B -c/etc/plaintext.conf -iwlan0
wpa_cli -iwlan0 status // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1

配置文件内容为:
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="dswei"
  key_mgmt=NONE
}

② WEP/WEP
wpa_supplicant -B -c/etc/wep.conf -iwlan0
wpa_cli -iwlan0 status // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1

配置文件:
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="dswei"
  key_mgmt=NONE
  wep_key0="baiwenwang123"
  wep_tx_keyidx=0  //使用第0个密码
}

③WPA(TKIP)
wpa_supplicant -B -c/etc/wpa-psk-tkip.conf -iwlan0
wpa_cli -iwlan0 status // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1

配置文件
ctrl_interface=/var/run/wpa_supplicant # 一个目录,用于wpa_supplicant和wpa_cli的socket通信
network={
  ssid="dswei"
  proto=WPA # proto: list of accepted protocols, 可取WPA,RSN
        # If not set, this defaults to: WPA RSN
  key_mgmt=WPA-PSK # 认证方式
              # If not set, this defaults to: WPA-PSK WPA-EAP
  pairwise=TKIP # If not set, this defaults to: CCMP TKIP
  group=TKIP # If not set, this defaults to: CCMP TKIP WEP104 WEP40
  psk="baiwenwang123"
}

④ WPA2(AES)
wpa_supplicant -B -c/etc/wpa_wpa2.conf -iwlan0
wpa_cli -iwlan0 status // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1

配置文件:
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="dswei"
  psk="baiwenwang123"
}

另:
wpa_cli可工作于"命令模式"和"交互模式"

命令模式:wpa_cli -iwlan0 scan

交互模式:

wpa_cli
status
scan

⑤ 配置文件里设置多个network:
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="dswei"
  psk="baiwenwang123"
}
network={
  ssid="Programer"
  psk="baiwenwang"
}

它会根据顺序先连接dswei,如果连接不上,再去连接Programer

⑥ 访问外网:

例如:ping news.qq.com

ping: bad address ‘news.qq.com‘
需要将new.qq.com转换成ip,这里就涉及到了一个DNS,域名服务器

修改/etc/resolv.conf添加DNS:
nameserver 192.168.1.1

此时,再ping news.qq.com

PING news.qq.com(182.254.1.167):56 data bytes
ping: sendto: Network is unreachbale

有了外网ip了,但是无法到达。还需要干啥呢?
还需要加路由,设置网关。

设置网关:
route add default gw 192.168.1.1

注意:以上几种连接方式,在连接上了AP之后,我们还需要手工设置网卡的ip,能否让网卡自动获取ip呢?可以的。
下一篇博客讲解的dhcp就可以实现此功能。

原文地址:https://www.cnblogs.com/-glb/p/11610311.html

时间: 2024-08-03 23:31:23

使用WIFI网卡 wpa_supplicant的相关文章

S5PV210 移植无线wifi网卡 MT7601

一.准备工作 1.MT7601驱动下载 点击下载 2.插入usb WiFi 启动开发板linux,lsusb查看usb驱动 Bus 001 Device 003: ID 148f:7601看到的是该驱动的厂家设备信息 3.解压源码到linux下,确认USB的VID和PID,在rtusb_dev_id.c中 USB_DEVICE_ID rtusb_dev_id[] = { #ifdef RT6570 {USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */ #e

[CDLinux]VM模拟器中设置主机wifi网卡上网

1.打开Virtual Network Editor,开始 --> 程序 --> VMware --> Virtual Network Editor 选中VMnet0,在下面的"VMnet信息"设置区域选中"桥接",然后把宿主机的无线网卡添加进去. 2.打开VMware软件,选中左边要上网的linux主机,右键 --> Settings,打开Virtual Machine Settins窗口 设置"网络适配器",在右边&q

不止是联网!教你玩转PC自带Wi-Fi网卡

前言:Wi-Fi对于现在的智能手机来说已经是再熟悉不过的配置了,而主板自带Wi-Fi网卡的设计也越来越普及,但有些玩家可能思维还停留在“Wi-Fi网卡 = 连无线网络用的网卡,我用有线就不需要”的层次,因此我们今天就来跟大家谈谈,PC自带Wi-Fi网卡到底能够实现什么样的功能. 不止是联网!教你玩转PC自带Wi-Fi网卡 ●很多主板都自带了Wi-Fi无线网卡 七彩虹 战斧 C.A88AK旗舰版配备板载Wi-Fi网卡 Wi-Fi无线网卡以往一般常见于ITX尺寸的迷你主板上面,主要为了提升主板在客厅

[02]树莓派无线USB网卡,Mercury WIFI配置

从淘宝购买的树莓派只是裸板,没带任何配件,所以需要的配件只能单独购买了,SD卡和无线USB网卡等都是单独购买的,前面一篇已经讲过SD卡的使用了,现在这篇讲无线USB网卡的使用. USB无线网卡有免驱和有驱之分,无线USB网卡是在华强北买到的,想买免驱的,但是没找到,就买到了Mercury (11N技术150M无线系列 MW150US)USB无线网卡,需要安装驱动,Mercury官网是没有Linux驱动的,只好在网上找,确认到这款MW150US网卡芯片是realtek 8188eu,于是找到一篇关

【pc杂谈】win7系统通过虚拟网卡共享wifi

用管理员权限进入dos命令行 启用并设定虚拟WiFi网卡:netsh wlan set hostednetwork mode=allow  ssid=paulnet key=paulwinflo(注意key一般为8位及以上) PC设置共享1)打开“网络和共享中心”--“更改适配器设置”看看是不是多了一项,若果有多出的这一项“无线网络连接2”,那么说明前边的设置是正确的.(为方便起见,将其重命名为“个人虚拟网络”.)2)在所要共享的网络上,右键选择“属性”→“共享”,勾上“允许其他······连接

随身wifi双网卡配置+window7同时多用户远程+某些公司网络环境限制方案

公司只提供几台机器,且机器限制同时连接内部办公网络, 而临时我们人手比较多,项目紧张,而对方申请手续比较麻烦, 问了一下对方网管,说没变通办法处理. 在我的尝试下,最后找到一种解决方案; 解决前问题: 1 window7系统,只允许同时一个远程用户;第二个用户一登录就自动把当前用户退出;一台机器几个人同时使用时,就需要分时段来使用,非常战时; 2 机器只有一个网卡,且开发环境与外网不通, 解决方案: 1 大家通过远程连接这台机器,经过远程的远程的远程的远程.....来开发......很多远程跳转

关闭Windows 系统当前连接的Wifi以及判断物理\虚拟网卡,有线\无线网卡

1.关闭wifi ,调用Api [DllImport("Wlanapi.dll", SetLastError = true)] public static extern uint WlanDisconnect(IntPtr hClientHandle, ref Guid pInterfaceGuid, IntPtr pReserved); 2.获取当前连接wifi 网卡句柄 The WlanOpenHandle function opens a connection to the se

树莓派学习笔记——USB wifi配置指南

0 前言 树莓派既可以使用有线网络又可以无线网络,如果使用有线网络不方便的话可以借助USB wifi无线网卡让树莓派也插上无线"翅膀".但是和使用有线网络即插即用的方式不同,USB wifi网卡需要进行一些配置.通过一天的配置实验,本文总结了树莓派wifi配置的两种方法--[1]使用wpa_gui工具方法和[2]修改配置文件方法. [1]使用wpa_gui工具方法 wpa_gui是一种linux平台常用的wifi配置工具,wpa_gui具有图形界面操作简单.由于,树莓派B板只有两个US

树莓派学习笔记——Wifi AP热点模式 使用RT5370

0.前言 本文详细说明为树莓派增加Wifi AP热点功能的具体步骤.配置完成之后,树莓派将增加一个Wifi热点功能,使用笔记本或手机便可连接树莓派,树莓派具有了AP热点功能,可更一步扩展树莓派相关的WEB功能,通过连接树莓派提供的热点,登录树莓派提供的WEB服务,便可获得树莓派所监控的相关信息. 配置的步骤较多,请保持耐心. [配置说明] 1.树莓派热点名称(SSID)为Raspberry_AP,热点密码为12345678,加密方式为WPA2. 2.树莓派无线网口的IP地址为192.168.0.