网络准入 重定向,DNS劫持内网设备访问网站

环境:Nginx
问题:

1.某网络实施网络准入控制,需要劫持不受信网段的客户端 所有访问到指定引导页面
2.需要劫持PS4 用户访问任意网站,或用户指南 方式全自动破解

解决办法:搭建dnsmasq DNS服务器,全域名解析指向内网,搭配ngnix 反向代理所有域名到指定页面

背景:

1.局域网内用户取得IP后,需要进行portal认证才能上网,需要引导用户去认证页面,通过DNS劫持和nginx转发,用户访问任意网址自动跳转到弹窗页面
2.PS4 破解需要访问Hen的网站,对于架设在内网的网站需要在浏览器中手动输入网址才能发起破解,想要从用户指南菜单自动跳转到网站 全自动执行Hen

技术栈:Docker + dnsmasq + Nginx

文章目录

    • 1.DNS劫持 :
    • 2.配置dnsmasq :
      • 2.1 配置dnsmasq :
      • 2.2 测试dnsmasq :
    • 3.网站篇:
    • 4.修改客户端DNS
    • 5.在PS4上测试用户指南
      • 5.1 确保DNS正确
      • 5.2 打开用户指南,观察页面跳转和全自动破解


1.DNS劫持 :

为了图省事dnsmasq 直接拉的docker, 参考下面的配置文件,你如果有openwrt的路由器也可以直接使用,改配置文件即可,
这个镜像 jpillora/dnsmasq 带一个web修改配置文件界面,方便

version: "3.3"services:dns-server:image: jpillora/dnsmasqcontainer_name: dns-serverrestart: alwaysenvironment:TZ: Asia/ShanghaiHTTP_USER: adminHTTP_PASS: adminPORT: "5380"network_mode: "host"volumes:- /volume3/docker/dnsmasq/config/dnsmasq.conf:/etc/dnsmasq.conf:rw# 日志大小限制logging:driver: json-fileoptions:max-size: "10m"

2.配置dnsmasq :

2.1 配置dnsmasq :

访问容器的5380端口,修改配置文件,重启服务
我们的目的是用户访问任意网址都去我们的网站,直接这一条就好了:

#所有域名
address=/#/192.168.31.232

在这里插入图片描述

2.2 测试dnsmasq :

使用浏览器访问任意网址测试下,或者直接nsloouo或者ping

 nslookup www.baidu.com 192.168.31.192

在这里插入图片描述

到这里,准入的部分,你只需要将这个VLAN/网段的 DHCP的DNS设置为这台,就可以实现自动跳转到验证页面了

3.网站篇:

安装ngnix是为了实现PS4 用户指南功能,他访问的是一个长链接,类似这样:
https://manuals.playstation.net/document/ct/ps4/index.html
如果直接转发域名,它携带的/document/ct/ps4/index.html传过去,就打不开了
就毕竟我们的伪站是没有这么多路径、虚拟目录,这就需要用到ngnix的反向代理了

为了省事还是用docker,参考下列配置:
用的jc21/nginx-proxy-manage 这个容器,web配置更方便了

version: '3'
services:app:image: 'dockerproxy.com/jc21/nginx-proxy-manager:latest'restart: unless-stoppedports:- '80:80'  # 冒号左边可以改成自己服务器未被占用的端口- '82:81'  # 冒号左边可以改成自己服务器未被占用的端口- '443:443' # 冒号左边可以改成自己服务器未被占用的端口volumes:- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中- ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中```

打开NPM的配置网站,就是81端口对应的那个,修改默认网站设置,先随便填写一个网站

在这里插入图片描述
然后打开配置文件直接修改为所有路径到HEN的网站:
一般是在容器的ngnix/data/nginx/default_host/site.conf 这个文件
直接修改为如下样式

# ------------------------------------------------------------
# Default Site
# ------------------------------------------------------------server {listen 80 default;
listen [::]:80 default;server_name default-host.localhost;access_log /data/logs/default-host_access.log combined;error_log /data/logs/default-host_error.log warn;include conf.d/include/letsencrypt-acme-challenge.conf;location / {rewrite ^ http://192.168.31.192:84/900/02/index.html permanent;
}}

找台电脑DNS设置为dnsmasq 的服务器,随便访问下任何网站,并携带路径测试,应该都能转发到目标网站

比如:
http://123/456
http://abc/def/123

4.修改客户端DNS

现在去PS4修改DNS执行dnsmasq,你也可以使用dhcp的option功能,让客户端自动获取不一样的dns

参考这篇文章:https://blog.csdn.net/wangrui1573/article/details/133270271

5.在PS4上测试用户指南

5.1 确保DNS正确

5.2 打开用户指南,观察页面跳转和全自动破解

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/149411.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC程序开发(JavaEE进阶系列3)

目录 前言: 1.什么是Spring MVC 1.1MVC的定义 1.2MVC和Spring MVC的关系 1.3为什么要学习Spring MVC 2.Spring MVC项目的创建 3.Spring MVC框架的使用 3.1连接的功能 3.1.1RequestMapping 3.1.2GetMapping 3.1.3PostMapping 3.2获取参数的功能 3.2.1获…

Error string: Could not load library

启动Rivz时,报错: Error string: Could not load library (Poco exception libg2o_csparse_extension.so.0.1: cannot open shared object file: No such file or directory) [ERROR] [1696572310.529059051]: Failed to load nodelet [/radar_graph_s…

Dubbo 融合 Nacos 成为注册中心

Nacos 作为 Dubbo 生态系统中重要的注册中心实现,本文将会介绍如何进行 Dubbo 对接 Nacos 注册中心的工作。 预备工作 请确保后台已经启动 Nacos 服务 快速上手 Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”…

【C++设计模式之原型模式:创建型】分析及示例

简介 原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制已有对象来生成新的对象,而无需再次使用构造函数。 描述 原型模式通过复制现有对象来创建新的对象,而无需显式地调用构造函数或暴露对象的创建…

flink处理函数--副输出功能

背景 在flink中,如果你想要访问记录的处理时间或者事件时间,注册定时器,或者是将记录输出到多个输出流中,你都需要处理函数的帮助,本文就来通过一个例子来讲解下副输出 副输出 本文还是基于streaming-with-flink这本…

c#设计模式-行为型模式 之 责任链模式

🚀简介 又名职责链模式,为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对 象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为…

sigmoid和softmax函数有什么区别

Sigmoid函数和Softmax函数都是常用的激活函数,但它们的主要区别在于应用场景和输出结果的性质。 Sigmoid函数(也称为 Logistic函数): Sigmoid函数将输入值映射到0到1之间的连续实数范围,通常用于二元分类问题。 Si…

重置Jetson设备的Ubuntu密码:通过挂载根目录到另一个Linux系统

在本文中,我们将介绍如何在忘记Ubuntu 20.04密码的情况下重置密码。我们将通过将Ubuntu的根目录挂载到另一个Linux系统来实现这一目的。我们还将介绍chroot命令的功能。 1. 背景 最近,我们研发团队遇到了一个棘手的问题。一台用于研发,多人使…

小黑上午参加婚礼,下午去姥姥家帮着看店学习人情世故的leetcode之旅:213. 打家劫舍 II

动态规划 class Solution:def rob(self, nums: List[int]) -> int:# 数组长度n len(nums)if n 1:return nums[0]# 打家劫舍1中的函数def rob1(start, end):if start end:return nums[start]# 动态规划指针first 0second nums[start]third nums[start]# 动态规划操作f…

【C++】:类和对象(2)

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…

信息学奥赛一本通-编程启蒙3330:【例56.1】 和为给定数

3330&#xff1a;【例56.1】 和为给定数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 625 通过数: 245 【题目描述】 现给出若干个整数&#xff0c;询问其中是否有一对数的和等于给定的数。 【输入】 共三行&#xff1a; 第一行是整数nn(0<n≤100,000)&…

Python小技巧:快速合并字典dict()

文章目录 前言知识点字典合并1. dict.update()基础合并2. 字典推导式 update() 后话 前言 这里是Python小技巧的系列文章。这是第四篇&#xff0c;快速合并字典。 在Python的使用中&#xff0c;有时候需要将两个 dict(字典) 进行合并。 通常我们会借助 dict(字典) 的内置方法 …

Python之元组

Python之元组 元组tuple 一个有序的元素组成的集合使用小括号 ( ) 表示元组是不可变对象 tuple(), (), type(()) # 空元组 ((), (), tuple)(1,), (1) # 元组中只有1必须加逗号&#xff0c;否则就是1了 # ((1,), 1)x 1, 2 # 以逗号分隔的内容会形成元组&#xff0c;封装元组x…

ubuntu配置vscode c++环境

下载vscode deb安装包 Get Started with C on Linux in Visual Studio Code 1. 安装vscode sudo dpkg -i code_1.83.0-1696350811_amd64.deb 2. 确保gcc编译器已经安装 g --version 如果没有安装&#xff0c;执行以下命令安装 sudo apt-get update sudo apt-get install …

博弈论——议价博弈(Bargaining)

议价博弈(Bargaining) 0 引言 议价(bargaining) 是市场经济中最常见的事情,也是博弈论最早研究的问题。这里介绍一种议价的动态博弈模型。同样地&#xff0c;对于动态博弈模型&#xff0c;我们还是用常见的逆推归纳法去寻找该博弈的子博弈完美纳什均衡。 1 议价博弈 议价博弈…

数据在内存中的存储(1)

文章目录 目录1. 数据类型介绍1.1 类型的基本归类 2. 整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍2.3 练习 附&#xff1a; 目录 数据类型介绍整形在内存中的存储大小端字节序介绍及判断浮点型在内存中的存储 1. 数据类型介绍 前面我们已经学习了基本的内置类型以…

2023 年 Bitget Wallet 测评

对Bitget Wallet钱包的看法 Bitget Wallet在安全性、产品实力和使用体验方面可与Metamask媲美&#xff0c;甚至有所超越&#xff0c;唯一稍显不足的是知名度稍逊一筹。在众多钱包中&#xff0c;Bitget Wallet是拥有最全面的钱包之一&#xff0c;尤其适合那些希望一步到位&…

【数据结构】初探时间与空间复杂度:算法评估与优化的基础

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要了解算法的时间复杂度与空间复杂度等相关知识。 目录&#xff1a; &#x1f30f; 时间复杂度&#x1f52d…

数据结构--》数组和广义表:从基础到应用的全面剖析

数据结构为我们提供了组织和处理数据的基本工具。而在这个广袤的数据结构领域中&#xff0c;数组和广义表是两个不可或缺的重要概念。它们作为线性结构的代表&#xff0c;在算法与应用中扮演着重要的角色。 无论你是初学者还是进阶者&#xff0c;本文将为你提供简单易懂、实用可…

Linux 安全 - SUID机制

文章目录 一、文件权限位二、SUID简介 一、文件权限位 &#xff08;1&#xff09; $ ls -l text.txt -rw-rw-r-- 1 yl yl 0 Sep 28 16:25 text.txt其中第一个字段-rw-rw-r–&#xff0c;我们可以把它分为四部分看&#xff1a; -rw-rw-r--&#xff08;1&#xff09;- &a…