Ubuntu系统下创建虚拟AP和STA扫描/关联/认证/ping
创始人
2024-02-19 16:09:22
0

首先 加载mac80211.ko, 参考: https://blog.csdn.net/fantasy_wxe/article/details/128057949

然后执行如下操作,创建 AP&STA 并进行扫描、关联、认证、ping包操作

编译hostapd

wget https://w1.fi/releases/hostapd-2.10.tar.gz
tar zxvf hostapd-2.10.tar.gz
cd hostapd-2.10/hostapd/
cp defconfig .config
make

编译wpa_supplicant

wget https://w1.fi/releases/wpa_supplicant-2.10.tar.gz
tar zxvf wpa_supplicant-2.10.tar.gz
cd wpa_supplicant-2.10/wpa_supplicant
cp defconfig .config
make

编译dhcp

wget https://downloads.isc.org/isc/dhcp/4.4.3/dhcp-4.4.3.tar.gz
cd dhcp-4.4.3
./configure
make

启动AP

创建hostapd.conf配置文件,文件内容如下

# hostapd.confinterface=wlan0
driver=nl80211
country_code=CN
ssid=wifi_simu_test
channel=6
hw_mode=b
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_passphrase=helloworld
auth_algs=3
beacon_int=100

创建dhcpd.conf配置文件,文件内容如下

#dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 {option routers 192.168.100.1 ;option domain-name-servers 192.168.100.1 ;range 192.168.100.80 192.168.100.150;range 192.168.100.180 192.168.100.220;default-lease-time 600 ;max-lease-time 7200 ;# we want this server to be the only DHCP server in this networkauthoritative ;
}

在AP侧Terminal中执行如下命令

w512@w512-pc:~/wlan_test$ su root
root@w512-pc:/home/w512/wlan_test# ip netns add wifi_ap
root@w512-pc:/home/w512/wlan_test# ip netns list
wifi_ap
root@w512-pc:/home/w512/wlan_test# ip netns exec wifi_ap bash
root@w512-pc:/home/w512/wlan_test# echo $BASHPID
2280

注意: 2280在STA侧会用到

新建一个Terminal, 作为STA侧

su rootiw phy phy0 set netns 2280

在AP侧Terminal中输入如下命令

ip addr add 192.168.100.1/24 dev wlan0hostapd-2.10/hostapd/hostapd hostapd.conf &mkdir -p /var/db
touch /var/db/dhcpd.leasesdhcp-4.4.3/server/dhcpd -4 -f -d -cf dhcpd.conf -lf /var/db/dhcpd.leases wlan0&

通过ip a查看wlan0信息

root@w512-pc:/home/w512/wlan_test# ip a
1: lo:  mtu 65536 qdisc noop state DOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: wlan0:  mtu 1500 qdisc mq state UP group default qlen 1000link/ether 02:00:00:00:00:00 brd ff:ff:ff:ff:ff:ffinet 192.168.100.1/24 scope global wlan0valid_lft forever preferred_lft foreverinet6 fe80::ff:fe00:0/64 scope link valid_lft forever preferred_lft forever

STA侧启动

创建wpa_supplicant.conf文件,文件内容如下:

#wpa_supplicant.conf
network={ssid="wifi_simu_test"key_mgmt=WPA-PSKpsk="helloworld"
}

在STA侧Terminal中输入如下命令

wpa_supplicant-2.10/wpa_supplicant/wpa_supplicant -B -i wlan1 -c wpa_supplicant.confdhcp-4.4.3/client/dhclient -i wlan1

通过ip a查看wlan1信息

root@w512-pc:/home/w512/wlan_test# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s3:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:9d:d4:e9 brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3valid_lft 84831sec preferred_lft 84831secinet6 fe80::76da:36d3:6f9f:1ed7/64 scope link noprefixroute valid_lft forever preferred_lft forever
4: wlan1:  mtu 1500 qdisc mq state UP group default qlen 1000link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ffinet 192.168.100.80/24 brd 192.168.100.255 scope global dynamic wlan1valid_lft 484sec preferred_lft 484sec
5: hwsim0:  mtu 1500 qdisc noop state DOWN group default qlen 1000link/ieee802.11/radiotap 12:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff

可见, STA获取到了IP地址为192.168.100.80

从AP侧pingSTA侧

root@w512-pc:/home/w512/wlan_test# ping 192.168.100.80
PING 192.168.100.80 (192.168.100.80) 56(84) bytes of data.
64 bytes from 192.168.100.80: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from 192.168.100.80: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.100.80: icmp_seq=3 ttl=64 time=0.084 ms
64 bytes from 192.168.100.80: icmp_seq=4 ttl=64 time=0.086 ms
64 bytes from 192.168.100.80: icmp_seq=5 ttl=64 time=0.067 ms

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...