找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: ccxxzz

[其它] 自己做的认证管理系统

  [复制链接]
 楼主| 发表于 2010-7-31 15:01:47 | 显示全部楼层
本帖最后由 ccxxzz 于 2010-7-31 15:03 编辑

呵呵,软件自己开放1812  1813啊,你只要把防火墙开了这2个端口开放就是!晕倒!!
MSCHAP V2 就是RFC2759看了又看,问题比较大,完全没有看V1的,反倒把MSCHAP V1的模糊认证做成了!
routeros
回复

使用道具 举报

发表于 2010-7-31 23:49:20 | 显示全部楼层
楼主请问可以直接改用户网速么,ros路由会对应变速么,这个系统适合ros哪个版本,最后顶您,强人。
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-1 14:29:57 | 显示全部楼层
本帖最后由 ccxxzz 于 2010-8-1 14:36 编辑

软件里面控制速度,根本不行的,那样会造成客户PPPOE断线,这样做速度限制到软件里面,是会影响信誉的!!!

V1.0.3加入MAC地址捆绑功能,MSCHAP V1模糊认证
routeros
回复

使用道具 举报

发表于 2010-8-3 22:20:44 | 显示全部楼层
ddddddddddddddddddddddddddddddddddddddddddddd
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-4 03:04:36 | 显示全部楼层
更新 MSCHAP 模糊认证,任何帐号可登陆,当然注意请大家注意那四个优先原则,只能勾一个;订单模式:可以添加子帐号的模式  和 续费 方式;更新多NAS的认证模式;加了数据库再次开发的说明.
xnzy-radius1.0.3.rar (863.71 KB, 下载次数: 1)
routeros
回复

使用道具 举报

发表于 2010-8-18 04:50:38 | 显示全部楼层
很久不顶了,再来一下,继续努力!!
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-18 10:32:55 | 显示全部楼层
本帖最后由 ccxxzz 于 2010-8-19 05:37 编辑

最新1.0.3,支持WEB直接管理控制应用软件\MAC捆绑\MSCHAP1模糊认证->可做压力实验(无任何限制)\多NAS认证\
xnzy-radius.rar (1.79 MB, 下载次数: 82) 1-数据库导入视频.rar (624.33 KB, 下载次数: 48) 3-ROS无缝对接视频.rar (706.42 KB, 下载次数: 55) 3-ROS无缝对接视频1.rar (1.37 MB, 下载次数: 88)
那2M多的WEB视频传不上,只需要修改WEB.CONFIG中
<add key="ConnString" value="Server=127.0.0.1;User Id=rootassword=rootersist Security Info=True;Database=xnzyradius"/>
111.JPG
和ASP.NET V2的设置,就是配置中的可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

下一版本的方向:
  支持802.1X认证管理[EAP],完善MSCHAP  V1和V2
routeros
回复

使用道具 举报

发表于 2010-8-18 10:57:19 | 显示全部楼层
最好还是要把下发限速属性加进去,这样方便一些。
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-19 05:30:23 | 显示全部楼层
本帖最后由 ccxxzz 于 2010-8-19 05:36 编辑

想要开源的东西,就给大家吧!
using System;
using System.Security.Cryptography;
using System.Collections.Generic;

namespace Xnzy.Radius
{

    class Utils
    {
        static public byte[] makeRFC2865RequestAuthenticator(string sharedSecret)
        {
            byte[] sharedS = System.Text.Encoding.ASCII.GetBytes(sharedSecret);
            byte[] requestAuthenticator = new byte[16 + sharedS.Length];
            Random r = new Random();
            for (int i = 0; i < 16; i++)
                requestAuthenticator = (byte)r.Next();
            Array.Copy(sharedS, 0, requestAuthenticator, 16, sharedS.Length);
            MD5 md5 = new MD5CryptoServiceProvider();
            md5.ComputeHash(requestAuthenticator);
            return md5.Hash;
        }

        static public byte[] makeRFC2865ResponseAuthenticator(byte[] data, byte[] requestAuthenticator, string sharedSecret)
        {
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] ssArray = System.Text.Encoding.ASCII.GetBytes(sharedSecret);
            byte[] sum = new byte[data.Length + ssArray.Length];
            Array.Copy(data, 0, sum, 0, data.Length);
            Array.Copy(requestAuthenticator, 0, sum, 4, 16);
            Array.Copy(ssArray, 0, sum, data.Length, ssArray.Length);
            md5.ComputeHash(sum);
            return md5.Hash;
        }

        static public byte[] encodePapPassword(byte[] userPass, byte[] requestAuthenticator, string sharedSecret)
        {

            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();

            byte[] userPassBytes = null;
            if (userPass.Length > 128)
            {
                userPassBytes = new byte[128];
                System.Array.Copy(userPass, 0, userPassBytes, 0, 128);
            }
            else
            {
                userPassBytes = userPass;
            }
            byte[] encryptedPass = null;

            if (userPassBytes.Length < 128)
            {
                if (userPassBytes.Length % 16 == 0)
                {
                    encryptedPass = new byte[userPassBytes.Length];
                }
                else
                {
                    encryptedPass = new byte[((userPassBytes.Length / 16) * 16) + 16];
                }
            }
            else
            {
                encryptedPass = new byte[128];
            }
            System.Array.Copy(userPassBytes, 0, encryptedPass, 0, userPassBytes.Length);
            for (int i = userPassBytes.Length; i < encryptedPass.Length; i++)
            {
                encryptedPass = 0;
            }
            byte[] ssArray = System.Text.Encoding.ASCII.GetBytes(sharedSecret);
            byte[] sum = new byte[requestAuthenticator.Length + ssArray.Length];
            Array.Copy(ssArray, 0, sum, 0, ssArray.Length);
            Array.Copy(requestAuthenticator, 0, sum, ssArray.Length, requestAuthenticator.Length);
            md5.ComputeHash(sum);
            byte[] bn = md5.Hash;

            for (int i = 0; i < 16; i++)
            {
                encryptedPass = (byte)(bn ^ encryptedPass);
            }
            //[TODO] encryptedPass.Length > 16

            return encryptedPass;
        }
    }
}
是C#标准算法,RFC2865;直接类库做成DLL,通过DLL调用就能实现的算法;请使用VS2008编程!
反正是网上的,不是我的,我如果用这个C#写,那程序就太膨大了,需要.net frame
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-22 23:52:14 | 显示全部楼层
如果你做WIN2003下ASP.NET V2.0网站,无此项目,请安装WEB服务器的.NET FRAME 3.5
http://download.microsoft.com/do ... 0f28/dotnetfx35.exe
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-22 23:59:29 | 显示全部楼层
ROS2.9.7或者以下不支持在线踢人功能,2天后奉献23号端口网络连接的备用 实时踢人的DLL文件调用!
routeros
回复

使用道具 举报

发表于 2010-8-25 00:41:50 | 显示全部楼层
真强,顶楼主。
routeros
回复

使用道具 举报

 楼主| 发表于 2010-8-26 00:02:42 | 显示全部楼层
本帖最后由 ccxxzz 于 2010-8-26 00:08 编辑

23号端口,直接管理ROUTEOS端口,全部源代码,只是提供一个方法,需要你去创意和写点代码,处理ROS里面的格式输出
23号端口管理ROS.rar (196.97 KB, 下载次数: 61)
routeros
回复

使用道具 举报

发表于 2010-8-26 00:45:01 | 显示全部楼层
支持支持
routeros
回复

使用道具 举报

发表于 2010-8-28 13:03:29 | 显示全部楼层
处理ROS里面的格式输出
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-23 06:16 , Processed in 0.090507 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表