
openwrt使用WDS时,使用DNS劫持实现访问域名访问web
发布日期:2021-05-07 15:56:20
浏览次数:21
分类:技术文章
本文共 1006 字,大约阅读时间需要 3 分钟。
导读
前阵子因为工作需要,要在中继器(openwrt使用WDS)wifi中继过程中登陆中继器的web。
由于WDS是工作做OSI7层网络模型中的链路层(二层),直接使用iptables进行DNS劫持显然行不通,后来还尝试了使用libpcap进行抓包转发,哈哈,显然行不通,各种折腾。最后发现Linux还有二层防火墙:)
ebtables – 与iptables相似 详细使用方法可参考 。openwrt使用WDS时DNS劫持步骤
1. openwrt配置WDS
这不是本文章的重点:)
可按住openwrt官网的document进行配置 我使用的是gl-inet的路由器,里面已经集成了该功能的配置,直接在web上配置即可,这路由器可以当成开发板学习,有兴趣的同学可以买一个来学习一下openwrt,哈哈哈!WDS中继成功后,中继器会从上级获得一个ip
$ifconfig br-lan | grep "inet addr" | awk -F : '{print $2}' | awk '{print $1}' 192.168.7.106
我这获得的是192.168.7.106,需要记住这个ip,后面会用到。
2. 安装ebtables
路由器连接上网络
$opkg update$opkg install kmod-ebtables-ipv4$opkg install ebtables-utils
3. 配置防火墙
使用ebtables将OSI二层数据重定向到OSI三层
$ebtables -t broute -A BROUTING -p ipv4 --ip-proto udp --ip-dport 53 -j redirect
使用iptables将所有53端口的数据都DNAT到中继器本地DNS服务器
$iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.7.106
此时,DNS劫持已经完成。
最后添加本地域名解析到/etc/hosts,重启dns。这样就可以像市面上的中继器一样,通过域名访问中继器web了。
$echo "192.168.7.106 dengxinfa.com" >> /etc/hosts$/etc/init.d/dnsmasq restart
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月19日 11时30分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
react-redux使用hooks替代connect
2019-03-05
使用 FileUpload 实现文件上传
2019-03-05
11.2.6 时间值的小数秒
2019-03-05
11.2.7 日期和时间类型之间的转换
2019-03-05
附录 B 错误信息和常见问题
2019-03-05
第4章 MySQL 程序
2019-03-05
设置柱形图的柱的宽度
2019-03-05
c/c++ 学习
2019-03-05
redis 内存溢出_从数据存储的角度告诉你Redis为什么这么快!
2019-03-05
java gradle 目录_拆分Gradle中的所有输出目录
2019-03-05
http+flv+java,制作一个全功能的FLV播放器
2019-03-05
php寻找文本,寻找文本 · Leing中文PHP框架 · 看云
2019-03-05
实例分析Facebook激励视频广告接入
2019-03-05
实例:使用OKGO下载网络压缩包资源,然后解压缩放在本地使用
2019-03-05
实例:Gson解析泛型对象
2019-03-05
Android主题和样式精炼详解
2019-03-05
Shell脚本-KVM虚拟机添加(删除)硬件
2019-03-05
HDFS Missing Block诊断信息的改进
2019-03-05
解决mybatis嵌套查询使用PageHelper分页不准确
2019-03-05
关掉SpringBoot中的debug日志
2019-03-05