使用hostapd和dhcpd来在Ubuntu上开启无线热点
Hostapd简介:
简单说,hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。
Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。
通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,如果响应探针请求等等。还可以设置mac地址过滤条件等。具体可以参考它的配置文件说明。
下面就从官网上摘下的部分原因及翻译。翻译的不好请见谅。
hostapd is an IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
Hostapd是IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS的认证器
hostapd is a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, mac80211-based drivers) and FreeBSD (net80211).
Hostapd是一个访问点以及认证服务器的运行于用户空间的守护程序。它实现了IEEE 802.11接入带你(Access Point)的管理功能,是IEEE 802.1X/WPA/WPA2/EAP的认证器,是 RADIUS client, EAP server, and RADIUS认证服务器。当前版本的hostapd支持linux上Host AP,madwifi和基于mac80211协议栈的驱动程序,以及FreeBSD上net80211协议栈的驱动程序。
hostapd is designed to be a “daemon” program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.
Hostapd是一个后台守护进程,作为后台组件来控制和管理认证功能。Hostapd支持多个前台程序。hostapd_cli,就是一个跟hostapd一起的命令行前台程序。
下面我们来看一下利用hostapd和dhcpd在Ubuntu系统上建立无线热点的方法:
执行 iwlist 如果 Supported interface modes 的下有 AP 的话表示该网卡支持AP模式,可以创建无线热点。
比如我的无线网卡是Qualcomm Atheros AR9485 Wireless Network Adapter,Linux内核自带了驱动ath9k,支持创建AP无线热点。
1. 安装hostapd和dhcpd
sudo apt-get install hostapd isc-dhcp-server
开机不需要启动这两个服务,建议把它们关掉:
注释掉下面两个文件start on那一行:
sudo nano /etc/init/isc-dhcp-server6.conf
2. 配置hostapd和dhcpd
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=YOUR_AP_NAME
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=3
wpa=2
wpa_passphrase=YOUR_AP_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.2 192.168.0.10;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1,180.76.76.76,8.8.8.8;
}
其中180.76.76.76是百度公共DNS服务器,8.8.8.8则是Google的DNS服务器.
在自己的家目录下创建一个hostapd目录,里面新建启动和关闭脚本,比如我这样写(注意把里面eechen换成你的用户名):
nano /home/eechen/hostapd/ap-start.sh</p> <p>#!/bin/bash
# 开启内核IP转发
bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# 开启防火墙NAT转发(如果本机使用eth0上网,则把ppp0改为eth0)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# 关闭NetworkManager对无线网卡的控制
nmcli nm wifi off
# 设置并启动无线网卡
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
# 解锁无线设备,可以用rfkill list查看解锁结果.
rfkill unblock wlan
# 睡眠6秒,待rfkill解锁生效
sleep 6s
# 启动dhcpd和hostapd,如果hostapd无法启动请查看日志hostapd.log,查看这两个进程ps -ef|egrep "dhcpd|hostapd"
nohup hostapd /etc/hostapd/hostapd.conf >/home/eechen/hostapd/hostapd.log 2>&1 &
dhcpd wlan0 -pf /var/run/dhcpd.pid
ps -ef|head -n1 && ps -ef|egrep "dhcpd|hostapd"
nano /home/eechen/hostapd/ap-stop.sh</p> <p>#!/bin/bash
killall hostapd dhcpd
bash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"
ifconfig wlan0 down
3. 启动hostapd和dhcpd
在桌面新建两个启动器(快捷方式),里面分别填入:
gksu /home/eechen/hostapd/ap-stop.sh
因为脚本需要root用户身份执行,所以需要用gksu运行。
注意:如果你开启了ufw防火墙,ufw默认是禁止转发的,这会导致防火墙NAT转发失效,这时应该设置允许转发:
然后重启ufw即可:
之后运行启动器即可启动和关闭AP无线热点。
4. 用wireshark监控经过wlan0的通信
安装wireshark(其中 eechen改为你的用户名):
sudo apt-get install wireshark
sudo chgrp eechen /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
Alt+F2运行wireshark,选择网络接口wlan0,Filter里输入http.cookie contains mail.qq.com
然后手机端登录网页QQ邮箱,在WireShark即可查看和获取QQ邮箱登录的Cookie,如图所示:
右键点击Cookie项把Value复制出来,然后用Firefox访问站点https://w.mail.qq.com/,Alt+C激活 Original Cookie Injector( GreaseMonkey),弹出输入框Wireshark Cookie Dump,把Cookie项的Value粘贴到里面,然后点OK确定并刷新页面即可登录QQ邮箱。或者你使用Tamper Data这个Firefox扩展在提交时修改Cookie值也是可以的。
附:
查看连接wlan0网络的客户端:
查看网络接口速度:
相关文章
- 无线热点密码第一次输入账户密码之后,以后都会自动连接,所以就会忘记密码,遇到Win8/Win8.1系统无线热点密码忘记了怎么办?本文为大家分享解决方法2016-10-20
- Linux上拥有WirelessTools无线网管理工具,在建立Wi-Fi热点之前我们需要先确认好无线网环境的支持情况,以下我们就来详细看一下Linux中Wi-Fi无线网络和AP无线热点的配置教程:2016-07-04
win10wifi热点开启提示错误怎么办?wifi热点提示错误解决教程
win10系统开始不入用户的电脑里,但是唯一重要的就是wifi,但是有些用户会反映win10wifi热点开启提示错误,这是什么情况呢?下面就i让小编为大家解决这一难题2016-05-22Win10 Wifi热点连不上怎么回事 Win10连不上Wifi热点的快速解决办法
前几天刚给老爸添了一台笔记本电脑,操作系统是win10,由于时间关系一直没来的急购买无线路由器,一直是使用有线连接上网。后来买了一台无线路由器,确发现笔记本出现搜索2016-05-20Win10预览版14328中怎么将笔记本变身移动WiFi热点?
Win10预览版14328中怎么将笔记本变身移动WiFi热点?过去我们通常会使用命令或借助第三方工具开启,但是在这个版本中,我们可以直接制作wifi热点,下面我们来看看详细的操作2016-04-27- Win10预览版14328中怎么设置内置移动wifi热点?在win10一周年更新预览版14328中,已经原生支持开启移动热点,我们可以通过电脑给移动设备提供无线网,下面我们就来看看wifi2016-04-25
- 最近有朋友反映使用Win8.1系统的电脑,当他的电脑连接手机热点之后,会出现蓝屏、重启的现象下面小编给大家介绍一下win8.1系统连接手机热点后出现蓝屏重启的解决方法2016-03-18
Win10系统电脑连接手机wifi热点后会蓝屏重启的故障原因分析及解决方法
有用户反映win10用户在成功连接手机WiFi热点后,却遇到了电脑蓝屏并伴随自动重启的情况,且提示错误代码:KERNRL_SECURITY_CHECK_FAILURE,这该怎么办呢?这种情况怎么办呢2016-02-26- 最近家中一台安装了Win10系统的笔记本出现搜索不到Wifi的情况,而其他笔记本搜索无线网络一切正常,这可怎么解决?下面小编就为大家详细介绍一下,一起来看看吧2015-12-16
Win10 Mobile预览版10549:显示连接移动热点设备的详细信息
微软总是在大多数Windows 10 Mobile Insider预览版中添加一些不错的隐藏功能。他们在最新的Windows 10 Mobile Insider预览版build 10549中也添加了一项隐藏的新特性2015-10-20
最新评论