本篇內(nèi)容介紹了“如何使用hostapd和dhcpd在Ubuntu上開啟無線熱點(diǎn)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站重做改版、二道江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為二道江等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Hostapd簡(jiǎn)介:
簡(jiǎn)單說,hostapd能夠使得無線網(wǎng)卡切換為master模式,模擬AP(通常可以認(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模式,通過修改配置文件,可以建立一個(gè)開放式的(不加密)的,WEP,WPA或WPA2的無線網(wǎng)絡(luò)。并且通過修改配置文件可以設(shè)置無線網(wǎng)卡的各種參數(shù),包括頻率,信號(hào),beacon包時(shí)間間隔,是否發(fā)送beacon包,如果響應(yīng)探針請(qǐng)求等等。還可以設(shè)置mac地址過濾條件等。具體可以參考它的配置文件說明。
下面就從官網(wǎng)上摘下的部分原因及翻譯。翻譯的不好請(qǐ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是一個(gè)訪問點(diǎn)以及認(rèn)證服務(wù)器的運(yùn)行于用戶空間的守護(hù)程序。它實(shí)現(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ū)動(dòng)程序,以及FreeBSD上net80211協(xié)議棧的驅(qū)動(dòng)程序。
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是一個(gè)后臺(tái)守護(hù)進(jìn)程,作為后臺(tái)組件來控制和管理認(rèn)證功能。Hostapd支持多個(gè)前臺(tái)程序。hostapd_cli,就是一個(gè)跟hostapd一起的命令行前臺(tái)程序。
下面我們來看一下利用hostapd和dhcpd在Ubuntu系統(tǒng)上建立無線熱點(diǎn)的方法:
執(zhí)行 iwlist 如果 Supported interface modes 的下有 AP 的話表示該網(wǎng)卡支持AP模式,可以創(chuàng)建無線熱點(diǎn)。
比如我的無線網(wǎng)卡是Qualcomm Atheros AR9485 Wireless Network Adapter,Linux內(nèi)核自帶了驅(qū)動(dòng)ath9k,支持創(chuàng)建AP無線熱點(diǎn)。
1. 安裝hostapd和dhcpd
代碼如下:
sudo apt-get install hostapd isc-dhcp-server
開機(jī)不需要啟動(dòng)這兩個(gè)服務(wù),建議把它們關(guān)掉:
代碼如下:
sudo update-rc.d -f hostapd remove
注釋掉下面兩個(gè)文件start on那一行:
代碼如下:
sudo nano /etc/init/isc-dhcp-server.conf
sudo nano /etc/init/isc-dhcp-server6.conf
2. 配置hostapd和dhcpd
代碼如下:
sudo nano /etc/hostapd/hostapd.conf
注意自己設(shè)置其中的無線熱點(diǎn)名稱ssid和認(rèn)證密碼wpa_passphrase.
代碼如下:
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
代碼如下:
sudo nano /etc/dhcp/dhcpd.conf
在末尾加入以下內(nèi)容:
代碼如下:
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)建一個(gè)hostapd目錄,里面新建啟動(dòng)和關(guān)閉腳本,比如我這樣寫(注意把里面eechen換成你的用戶名):
代碼如下:
nano /home/eechen/hostapd/ap-start.sh
#!/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對(duì)無線網(wǎng)卡的控制
nmcli nm wifi off
# 設(shè)置并啟動(dòng)無線網(wǎng)卡
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
# 解鎖無線設(shè)備,可以用rfkill list查看解鎖結(jié)果.
rfkill unblock wlan
# 睡眠6秒,待rfkill解鎖生效
sleep 6s
# 啟動(dòng)dhcpd和hostapd,如果hostapd無法啟動(dòng)請(qǐng)查看日志hostapd.log,查看這兩個(gè)進(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
#!/bin/bash
killall hostapd dhcpd
bash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"
ifconfig wlan0 down
3. 啟動(dòng)hostapd和dhcpd
在桌面新建兩個(gè)啟動(dòng)器(快捷方式),里面分別填入:
代碼如下:
gksu /home/eechen/hostapd/ap-start.sh
gksu /home/eechen/hostapd/ap-stop.sh
因?yàn)槟_本需要root用戶身份執(zhí)行,所以需要用gksu運(yùn)行。
注意:如果你開啟了ufw防火墻,ufw默認(rèn)是禁止轉(zhuǎn)發(fā)的,這會(huì)導(dǎo)致防火墻NAT轉(zhuǎn)發(fā)失效,這時(shí)應(yīng)該設(shè)置允許轉(zhuǎn)發(fā):
代碼如下:
sudo nano /etc/default/ufw 將 DEFAULT_FORWARD_POLICY 設(shè)為 ACCEPT
然后重啟ufw即可:
代碼如下:
sudo service ufw restart
之后運(yùn)行啟動(dòng)器即可啟動(dòng)和關(guān)閉AP無線熱點(diǎn)。
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)頁(yè)QQ郵箱,在WireShark即可查看和獲取QQ郵箱登錄的Cookie,如圖所示:
右鍵點(diǎn)擊Cookie項(xiàng)把Value復(fù)制出來,然后用Firefox訪問站點(diǎn)https://w.mail.qq.com/,Alt+C激活 Original Cookie Injector( GreaseMonkey),彈出輸入框Wireshark Cookie Dump,把Cookie項(xiàng)的Value粘貼到里面,然后點(diǎn)OK確定并刷新頁(yè)面即可登錄QQ郵箱。或者你使用Tamper Data這個(gè)Firefox擴(kuò)展在提交時(shí)修改Cookie值也是可以的。
附:
查看連接wlan0網(wǎng)絡(luò)的客戶端:
代碼如下:
sudo arp
返回IP地址和MAC硬件地址和無線接口名.
代碼如下:
iw dev wlan0 station dump
能顯示收發(fā)包和字節(jié)數(shù)等.
查看網(wǎng)絡(luò)接口速度:
代碼如下:
sar -n DEV 1
“如何使用hostapd和dhcpd在Ubuntu上開啟無線熱點(diǎn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!