eee-byte / mgate Goto Github PK
View Code? Open in Web Editor NEWThis project forked from microcai/mgate
mgate is a network monitor software
License: Other
This project forked from microcai/mgate
mgate is a network monitor software
License: Other
mgate === mgate 是一个网络安全软件,它运行在 互联网网关上 监视一切网络动向 mgate 同时还可用于上网计费系统。 mgate 模拟了远程服务器,对于没有 被允许上网的客户端,发送虚假的 302 跳转指令让浏览器进入到登录页面。 mgate 通过解析 TCP 数据,抢在远程服务器应答之前即伪造远程服务器的 数据包,使客户端以为已经同远程服务器完成 TCP 握手,然后接受 maget 返回的 伪造 HTTP 响应。通常这个响应就是一个302跳转,指示浏览器打开 登录页面。 1.9版本以前,本程序通过 php编写的web 前端配合来工作。 考虑到部署人员并不熟悉 UNIX 系统环境,所以将 web 界面内置入本软件。 现在您只需要安装配置本系统就部署完毕了。 安装(安装步骤请参考 INSTALL 文件)完成后,您首先应该查看的是位于 /etc 目录下的配置文件 /etc/mgate.cfg 请参考配置文件的注释进行修改。 配置完毕并成功运行的时候,用浏览器访问 http://yourserver:port/ 一下 下文如果没特别制定,用 / 指代http://yourserver:port/ ======================================================================= mgate 与短信服务的交互 mgate 需要短信验证时,与短信验证服务器的交互方式就是 HTTP 协议。 具体的来讲,每当有人试图登录,monitor 就给短信服务器发送一个 HTTP 请求 为了权限,可选使用HTTP Digest或则Basic进行认证。 当然,还可以使用 HTTPS 进行通讯 GET /gencode?clientid=xxxxx 这里 clientid 就是咖啡馆的编号。 服务器将在返回的 HTML 页面的 <code> 标签里返回验证码。以及一个内部使用的ID(随你怎么用吧) mgate 将把验证码扭曲图形化后显示出来 用户需要将正确的验证码通过短信形式发送到短信服务器 接着点击页面上的验证。 mgate 将再次发送一个HTTP请求 GET /verifiycode\?clientid=xxx&code=xxx&ID=xxxxxxxx 服务器将返回验证者使用的手机号码于 <phone> 标签。 如果是一个错误的请求比如没有这个验证码,服务器应该在HTTP的响应状态码里使用 404 如果是验证码过期还没有被认证,就使用状态码 408 如果是未过期验证码,用户还未认证的,使用状态码 102 错误的时候,可以有选择的返回描述页面。monitor 将用此页面提示用户。 如果没有,mgate 将使用内置的错误描述页面 ======================================================================= 各个 URL 的功能说明 / 主页。在这里可以提交验证码和获得验证码。主页嵌入了获得验证码的页面,该验证码获得页面 mgate.cfg 指定。 /info 这里可以查看系统的一些信息。包括实时CPU占有率和个个 ip 的流量显示 /log 这里可以察看截获的网络日志。 ======================================================================== 对 内置 HTTP 服务器的简单说明 内置 HTTP 服务器的默认根地址为 /usr/share/mgate/www/ 放到这里的对应文件可以覆盖 mgate 内部带的同名文件。mgate 在解析一个页面的时候,首先到这里查找是否有 存在的页面文件,如果没有就使用内置于的文件,如果内置的文件没有就会发出 404 错误。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.