Ubuntu 14.04 创建无线接入点供移动设备连接上网

来源:互联网 发布:2016下半年的网络综艺 编辑:程序博客网 时间:2024/04/30 13:15

执行 iwlist 如果 Supported interface modes 的下有 AP 的话表示该网卡支持AP模式,可以创建无线热点。

1. 安装hostapd和dhcpd

sudo apt-get install hostapd isc-dhcp-server

开机不需要启动这两个服务,建议把它们关掉:
sudo update-rc.d -f hostapd remove
注释掉下面两个文件start on那一行:
sudo gedit /etc/init/isc-dhcp-server.conf
sudo gedit /etc/init/isc-dhcp-server6.conf

2. 配置hostapd和dhcpd

sudo gedit /etc/hostapd/hostapd.conf  注意自己设置其中的无线热点名称ssid和认证密码wpa_passphrase.

interface=wlan0driver=nl80211ssid=APPhw_mode=gchannel=10macaddr_acl=0auth_algs=3wpa=2wpa_passphrase=12345678wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIP CCMPrsn_pairwise=TKIP CCMP

sudo gedit /etc/dhcp/dhcpd.conf 在末尾加入以下内容:

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,8.8.8.8;}

在自己的家目录下创建一个hostapd目录,里面新建启动和关闭脚本,比如我这样写(注意把里面yoursystemname换成你的用户名):
gedit  /home/yoursystemname/hostapd/ap-start.sh


#!/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"dhcpd wlan0 -pf /var/run/dhcpd.pidnohup hostapd /etc/hostapd/hostapd.conf >/home/yoursystemname/hostapd/hostapd.log 2>&1 &

gedit  /home/yoursystemname/hostapd/ap-stop.sh

#!/bin/bashkillall hostapd dhcpdbash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"ifconfig wlan0 down

注意:原著这里有问题,我已经改了,把 /home/yoursystemname/hostapd/ap-start.sh 中的 dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid 后面部分改成 /var/run/dhcpd.pid,因为默认 dhcp-server 目录不存在

3. 启动hostapd和dhcpd

在桌面新建两个启动器(快捷方式),里面分别填入:
gksu /home/eechen/hostapd/ap-start.sh
gksu /home/eechen/hostapd/ap-stop.sh
因为脚本需要root用户身份执行,所以需要用gksu运行。

注意:如果你开启了ufw防火墙,ufw默认是禁止转发的,这会导致防火墙NAT转发失效,这时应该设置允许转发:
sudo gedit /etc/default/ufw 将 DEFAULT_FORWARD_POLICY 设为 ACCEPT
然后重启ufw即可:
sudo service ufw restart
之后运行启动器即可启动和关闭AP无线热点。

4. 用wireshark监控经过wlan0的通信

安装wireshark(其中 yoursystemname改为你的用户名):

sudo apt-get install wiresharksudo chgrp yoursystemname /usr/bin/dumpcapsudo chmod 750 /usr/bin/dumpcapsudo 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邮箱。


转自:点击打开链接

0 0
原创粉丝点击