使用hostapd和dhcpd來在Ubuntu上開啟無線熱點

Hostapd簡介:
簡單說,hostapd能夠使得無線網(wǎng)卡切換為master模式,模擬AP(通??梢哉J(rèn)為是路由器)功能,也就是我們說的軟AP(Soft AP)。
Hostapd的功能就是作為AP的認(rèn)證服務(wù)器,負(fù)責(zé)控制管理stations(通??梢哉J(rèn)為帶無線網(wǎng)卡的PC)的接入和認(rèn)證。
通過Hostapd可以將無線網(wǎng)卡切換為AP/Master模式,通過修改配置文件,可以建立一個開放式的(不加密)的,WEP,WPA或WPA2的無線網(wǎng)絡(luò)。并且通過修改配置文件可以設(shè)置無線網(wǎng)卡的各種參數(shù),包括頻率,信號,beacon包時間間隔,是否發(fā)送beacon包,如果響應(yīng)探針請求等等。還可以設(shè)置mac地址過濾條件等。具體可以參考它的配置文件說明。
下面就從官網(wǎng)上摘下的部分原因及翻譯。翻譯的不好請見諒。
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的認(rèn)證器
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是一個訪問點以及認(rèn)證服務(wù)器的運(yùn)行于用戶空間的守護(hù)程序。它實現(xiàn)了IEEE 802.11接入帶你(Access Point)的管理功能,是IEEE 802.1X/WPA/WPA2/EAP的認(rèn)證器,是 RADIUS client, EAP server, and RADIUS認(rèn)證服務(wù)器。當(dāng)前版本的hostapd支持linux上Host AP,madwifi和基于mac80211協(xié)議棧的驅(qū)動程序,以及FreeBSD上net80211協(xié)議棧的驅(qū)動程序。
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是一個后臺守護(hù)進(jìn)程,作為后臺組件來控制和管理認(rèn)證功能。Hostapd支持多個前臺程序。hostapd_cli,就是一個跟hostapd一起的命令行前臺程序。
下面我們來看一下利用hostapd和dhcpd在Ubuntu系統(tǒng)上建立無線熱點的方法:
執(zhí)行 iwlist 如果 Supported interface modes 的下有 AP 的話表示該網(wǎng)卡支持AP模式,可以創(chuàng)建無線熱點。
比如我的無線網(wǎng)卡是Qualcomm Atheros AR9485 Wireless Network Adapter,Linux內(nèi)核自帶了驅(qū)動ath9k,支持創(chuàng)建AP無線熱點。
1. 安裝hostapd和dhcpd
sudo apt-get install hostapd isc-dhcp-server
開機(jī)不需要啟動這兩個服務(wù),建議把它們關(guān)掉:
注釋掉下面兩個文件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服務(wù)器,8.8.8.8則是Google的DNS服務(wù)器.
在自己的家目錄下創(chuàng)建一個hostapd目錄,里面新建啟動和關(guān)閉腳本,比如我這樣寫(注意把里面eechen換成你的用戶名):
nano /home/eechen/hostapd/ap-start.sh</p> <p>#!/bin/bash
# 開啟內(nèi)核IP轉(zhuǎn)發(fā)
bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# 開啟防火墻NAT轉(zhuǎn)發(fā)(如果本機(jī)使用eth0上網(wǎng),則把ppp0改為eth0)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# 關(guān)閉NetworkManager對無線網(wǎng)卡的控制
nmcli nm wifi off
# 設(shè)置并啟動無線網(wǎng)卡
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
# 解鎖無線設(shè)備,可以用rfkill list查看解鎖結(jié)果.
rfkill unblock wlan
# 睡眠6秒,待rfkill解鎖生效
sleep 6s
# 啟動dhcpd和hostapd,如果hostapd無法啟動請查看日志hostapd.log,查看這兩個進(jìn)程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用戶身份執(zhí)行,所以需要用gksu運(yùn)行。
注意:如果你開啟了ufw防火墻,ufw默認(rèn)是禁止轉(zhuǎn)發(fā)的,這會導(dǎo)致防火墻NAT轉(zhuǎn)發(fā)失效,這時應(yīng)該設(shè)置允許轉(zhuǎn)發(fā):
然后重啟ufw即可:
之后運(yùn)行啟動器即可啟動和關(guān)閉AP無線熱點。
4. 用wireshark監(jiān)控經(jīng)過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運(yùn)行wireshark,選擇網(wǎng)絡(luò)接口wlan0,F(xiàn)ilter里輸入http.cookie contains mail.qq.com
然后手機(jī)端登錄網(wǎng)頁QQ郵箱,在WireShark即可查看和獲取QQ郵箱登錄的Cookie,如圖所示:

右鍵點擊Cookie項把Value復(fù)制出來,然后用Firefox訪問站點https://w.mail.qq.com/,Alt+C激活 Original Cookie Injector( GreaseMonkey),彈出輸入框Wireshark Cookie Dump,把Cookie項的Value粘貼到里面,然后點OK確定并刷新頁面即可登錄QQ郵箱?;蛘吣闶褂肨amper Data這個Firefox擴(kuò)展在提交時修改Cookie值也是可以的。
附:
查看連接wlan0網(wǎng)絡(luò)的客戶端:
查看網(wǎng)絡(luò)接口速度:
相關(guān)文章
Win8/Win8.1系統(tǒng)無線熱點密碼忘記了怎么辦
無線熱點密碼第一次輸入賬戶密碼之后,以后都會自動連接,所以就會忘記密碼,遇到Win8/Win8.1系統(tǒng)無線熱點密碼忘記了怎么辦?本文為大家分享解決方法2016-10-20Linux中Wi-Fi無線網(wǎng)絡(luò)和AP無線熱點的配置教程
Linux上擁有WirelessTools無線網(wǎng)管理工具,在建立Wi-Fi熱點之前我們需要先確認(rèn)好無線網(wǎng)環(huán)境的支持情況,以下我們就來詳細(xì)看一下Linux中Wi-Fi無線網(wǎng)絡(luò)和AP無線熱點的配置教程:2016-07-04win10wifi熱點開啟提示錯誤怎么辦?wifi熱點提示錯誤解決教程
win10系統(tǒng)開始不入用戶的電腦里,但是唯一重要的就是wifi,但是有些用戶會反映win10wifi熱點開啟提示錯誤,這是什么情況呢?下面就i讓小編為大家解決這一難題2016-05-22Win10 Wifi熱點連不上怎么回事 Win10連不上Wifi熱點的快速解決辦法
前幾天剛給老爸添了一臺筆記本電腦,操作系統(tǒng)是win10,由于時間關(guān)系一直沒來的急購買無線路由器,一直是使用有線連接上網(wǎng)。后來買了一臺無線路由器,確發(fā)現(xiàn)筆記本出現(xiàn)搜索2016-05-20Win10預(yù)覽版14328中怎么將筆記本變身移動WiFi熱點?
Win10預(yù)覽版14328中怎么將筆記本變身移動WiFi熱點?過去我們通常會使用命令或借助第三方工具開啟,但是在這個版本中,我們可以直接制作wifi熱點,下面我們來看看詳細(xì)的操作2016-04-27Win10預(yù)覽版14328中怎么設(shè)置內(nèi)置移動wifi熱點?
Win10預(yù)覽版14328中怎么設(shè)置內(nèi)置移動wifi熱點?在win10一周年更新預(yù)覽版14328中,已經(jīng)原生支持開啟移動熱點,我們可以通過電腦給移動設(shè)備提供無線網(wǎng),下面我們就來看看wifi2016-04-25win8.1系統(tǒng)連接手機(jī)熱點后出現(xiàn)藍(lán)屏重啟的解決方法
最近有朋友反映使用Win8.1系統(tǒng)的電腦,當(dāng)他的電腦連接手機(jī)熱點之后,會出現(xiàn)藍(lán)屏、重啟的現(xiàn)象下面小編給大家介紹一下win8.1系統(tǒng)連接手機(jī)熱點后出現(xiàn)藍(lán)屏重啟的解決方法2016-03-18Win10系統(tǒng)電腦連接手機(jī)wifi熱點后會藍(lán)屏重啟的故障原因分析及解決方法
有用戶反映win10用戶在成功連接手機(jī)WiFi熱點后,卻遇到了電腦藍(lán)屏并伴隨自動重啟的情況,且提示錯誤代碼:KERNRL_SECURITY_CHECK_FAILURE,這該怎么辦呢?這種情況怎么辦呢2016-02-26win10搜索不到無線網(wǎng)絡(luò),手機(jī)打開熱點也連不上怎么解決?
最近家中一臺安裝了Win10系統(tǒng)的筆記本出現(xiàn)搜索不到Wifi的情況,而其他筆記本搜索無線網(wǎng)絡(luò)一切正常,這可怎么解決?下面小編就為大家詳細(xì)介紹一下,一起來看看吧2015-12-16Win10 Mobile預(yù)覽版10549:顯示連接移動熱點設(shè)備的詳細(xì)信息
微軟總是在大多數(shù)Windows 10 Mobile Insider預(yù)覽版中添加一些不錯的隱藏功能。他們在最新的Windows 10 Mobile Insider預(yù)覽版build 10549中也添加了一項隱藏的新特性2015-10-20