树莓派 zero W变热点
试了网上N多方法都不行,
https://github.com/RaspAP/raspap-webgui 这个很好用也傻瓜化, 但是我不想要这么重, 又PHP又啥的一大堆, 我只要连上我的一个Web应用就好了.
hostapd的文章也看了N多, 一次都配置不成功.
最后参考一个用热点来当诱骗器搞坏事文章里弄成功了, 不用hostapd, 直接通过wpa_supplicant 来实现.
怎么用树莓派制作一个流氓热点: https://jerryryle.github.io/rogueportal/
跟文中的步骤不一样的是, 我不用他的web应用, 略过nginx那一节, 保留了ssh通道, 并且给热点设置了密码.
----------------- 防止链接失效, 记录下关键步骤 ------------------
安装必要的包:
sudo apt install dnsmasq iptables-persistent macchanger nginx
在接下来的界面里都选"Yes", 回车之.
macchanger是用来随机改变Mac地址的, 搞坏事用, 搞正事其实用处不大.
[配置nginx过程略]
创建 wpa_supplicant 配置用来创建热点.
sudo nano /etc/wpa_supplicant/wpa_supplicant_rogueportal.conf
输入以下内容:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=US network={ ssid="[Your SSID Here]" mode=2 # key_mgmt=NONE key_mgmt=
WPA-PSK psk="[Your Password Here]"frequency=2412 }
ssid 是热点名, 国家换成CN. 原文不做任何认证, 因为要设陷阱, 所有人可以连接这个wifi, 我的目的跟他不一样, 加上了认证.
禁止默认的wpa_supplicant服务, 本来是用来连接wifi的.
sudo systemctl disable wpa_supplicant
配置 dhcpcd 添加静态IP
sudo nano /etc/dhcpcd.conf
env wpa_supplicant_conf=/etc/wpa_supplicant/wpa_supplicant_rogueportal.conf
interface wlan0
static ip_address=10.1.1.1/24
开启IP转发
sudo nano /etc/sysctl.conf
找到 #net.ipv4.ip_forward=1 并去掉注释变成
net.ipv4.ip_forward=1
配置 iptables 接受 DHCP, DNS和HTTP请求, 原文中拒接了别的请求, 但我保留了, 因为要用ssh.
sudo nano /etc/iptables/rules.v4
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# Accept incoming packets on existing connections on wlan0
-A INPUT -i wlan0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Allow incoming DNS requests on wlan0
-A INPUT -i wlan0 -p udp --dport 53 -j ACCEPT
# Allow incoming DHCP requests on wlan0
-A INPUT -i wlan0 -p udp --dport 67 -j ACCEPT
# Allow incoming HTTP requests on wlan0
-A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT
# Drop all other incoming requests on wlan0 如果不想使用ssh等, 可以把这条加上
# -A INPUT -i wlan0 -j REJECT
COMMIT
配置 dnsmasq
sudo nano /etc/dnsmasq.conf
把原有内容清除掉, 加入以下内容:
listen-address=10.1.1.1
no-hosts
log-queries
log-facility=/var/log/dnsmasq.log
dhcp-range=10.1.1.2,10.1.1.254,72h
dhcp-option=option:router,10.1.1.1
dhcp-authoritative
dhcp-option=114,http://go.rogueportal/index.html
# Resolve everything to the portal's IP address.
address=/#/10.1.1.1
配置 dnsmasq 不使用 Loopback接口
sudo nano /etc/default/dnsmasq
把下面一行加到最后, 或者在原有内容上去掉注释
# Do not run dnsmasq on the loopback interface
DNSMASQ_EXCEPT=lo # 在我的系统里是 DNSMASQ_EXCEPT="lo" 带双引号, 估计没啥区别
启用 dnsmasq
sudo nano /etc/default/dnsmasq
把ENABLED=0改为ENABLED=1, 然后
sudo systemctl enable dnsmasq
重启, 连上上面设置的热点名, 打开浏览器输入任意域名, 就可以访问Web应用了, 树莓派IP地址为 10.1.1.1