`
pioneer21th
  • 浏览: 25733 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

怎样用Java获得Server的Mac地址(关于添加license)?

阅读更多
大家好,最近做项目要求License保护,想来想去,没有其他的好办法,就用Truelicense绑定Mac地址的办法了(不知道有没有更好的办法,同志们指点)。但是Java 是没有获取Mac地址的API的。在网上查了一下,发现有办法获取,就是让Java执行nbstat -a IP命令,然后获取stream解析。但是又据说Unix不支持此命令,小弟我现在没有Unix环境,不能验证。大家谁做过类似的项目的,比如添加license,获取mac地址等等的,都说一下吧,谢谢。
分享到:
评论
14 楼 oma1989 2012-05-24  
获取Mac请参考:http://oma1989.iteye.com/admin/blogs/1335788
13 楼 pioneer21th 2007-01-22  
是的,楼上的注意真的很不错。不过现实情况下是用作服务器的一般都是不连Internet的好像。

还好,客户的服务器OS是windows,现在就将就着用好了,如果有了其他类型的OS,再修改代码吧。有哪位兄弟方便了给验证一下nbstat在Unix下能否执行?
12 楼 smilesmith 2007-01-20  
floating 写道
在unix下面修改一个主机的mac是非常容易的事情,比如在aix上用smit就可以随意的修改mac地址。用nbstat -a访问到的mac地址就是这个值,而不是aix机器上网卡真实的mac地址。我建议lz可以采用联网认证的方式,即安装系统的时候需要能够访问到internet上的认证服务器。(或者能够访问到lz自己公司的销售工程师的笔记本上的认证服务器),而同一个license只能安装一次。如果客户需要合法再次安装这个软件,我们可以给他一个新的lisence。

这个方法还不错.
windows的mac也是很好改的.
可以用软件狗,每次运行时都读取软件狗的信息.
11 楼 kdekid 2007-01-19  
其实,最有用的就是法律手段。可惜遵守法律的人比较少。
10 楼 floating 2007-01-19  
在unix下面修改一个主机的mac是非常容易的事情,比如在aix上用smit就可以随意的修改mac地址。用nbstat -a访问到的mac地址就是这个值,而不是aix机器上网卡真实的mac地址。我建议lz可以采用联网认证的方式,即安装系统的时候需要能够访问到internet上的认证服务器。(或者能够访问到lz自己公司的销售工程师的笔记本上的认证服务器),而同一个license只能安装一次。如果客户需要合法再次安装这个软件,我们可以给他一个新的lisence。
9 楼 ggyy 2007-01-19  
用C实现Jini,然后用Java去调用不就行了.需要部署的系统就实现一个.调用Shell虽然简单,感觉和Java配合得不好.
8 楼 ahuaxuan 2007-01-19  
我曾经也做过,不过因为客户的机器是windows,所以开始我用jni来获取到了mac地址,后来又通过command来从得到了包括ip和mac地址的一个字符串,然后再解析字符串得到mac地址。关于truelicense我到没有用过,当时自己写了一些小算法来生成和解析license,然后再混淆,如果混淆器够强,在没有源代吗的情况下要破解还是不容易的。
7 楼 KayMO 2007-01-18  
pioneer21th 写道
大家好,最近做项目要求License保护,想来想去,没有其他的好办法,就用Truelicense绑定Mac地址的办法了(不知道有没有更好的办法,同志们指点)。但是Java 是没有获取Mac地址的API的。在网上查了一下,发现有办法获取,就是让Java执行nbstat -a IP命令,然后获取stream解析。但是又据说Unix不支持此命令,小弟我现在没有Unix环境,不能验证。大家谁做过类似的项目的,比如添加license,获取mac地址等等的,都说一下吧,谢谢。

unix不支持么?
记得很久以前写过一个用Runtime执行command获取Stream的东东,
在solaris下抓grep信息
6 楼 pioneer21th 2007-01-18  
kdekid 写道
用公私密钥系统,你用私钥生成license,在客户端用公钥检查这个license的合法性。然后用混淆器把你发布的包加密。


是的,我们准备采用的TrueLicense正是基于这种思想。但是,生成的License如果不和某种东西绑定,是不能保护你的系统拷贝的,即你授权的用户可以拿着这个license再免费的送给别人使用,现在一些共享软件不是也遇到这个问题了吗?
5 楼 kdekid 2007-01-18  
pioneer21th 写道
Lucas Lee 写道
这种不标准的做法,也只好硬做了。
你可以根据System.getProperties()获得当前系统是Unix还是Windows,然后分别使用各自的shell命令好了。


那么,有解决此类问题(包括license问题)的标准做法吗?

用公私密钥系统,你用私钥生成license,在客户端用公钥检查这个license的合法性。然后用混淆器把你发布的包加密。
4 楼 pioneer21th 2007-01-18  
adamzhao 写道


这??
控制Ip范围不可以吗? 将来怎么再改哦


对于一个产品来说,你怎么能知道和要求用户的Server用什么IP地址呢?
况且,一般情况下,Server多数都用内网IP,不光是IP范围一样,甚至连IP地址都可能一样。
3 楼 pioneer21th 2007-01-18  
Lucas Lee 写道
这种不标准的做法,也只好硬做了。
你可以根据System.getProperties()获得当前系统是Unix还是Windows,然后分别使用各自的shell命令好了。


那么,有解决此类问题(包括license问题)的标准做法吗?
2 楼 adamzhao 2007-01-18  
pioneer21th 写道
大家好,最近做项目要求License保护,想来想去,没有其他的好办法,就用Truelicense绑定Mac地址的办法了(不知道有没有更好的办法,同志们指点)。但是Java 是没有获取Mac地址的API的。在网上查了一下,发现有办法获取,就是让Java执行nbstat -a IP命令,然后获取stream解析。但是又据说Unix不支持此命令,小弟我现在没有Unix环境,不能验证。大家谁做过类似的项目的,比如添加license,获取mac地址等等的,都说一下吧,谢谢。


这??
控制Ip范围不可以吗? 将来怎么再改哦
1 楼 LucasLee 2007-01-18  
这种不标准的做法,也只好硬做了。
你可以根据System.getProperties()获得当前系统是Unix还是Windows,然后分别使用各自的shell命令好了。

相关推荐

    使用truelicense实现用于JAVA工程license机制(包括license生成和验证)

    在Java开发中,为了保护软件不被非法使用,开发者通常会采用授权许可(License)机制。TrueLicense是一款强大的开源工具,专门用于构建Java应用程序的许可证管理解决方案。它提供了灵活的API,可以方便地集成到你的...

    Java Mud Server-开源

    Java是一种跨平台的语言,这意味着Java Mud Server可以在任何支持Java的系统上运行,包括Windows、Linux、Mac OS等。这极大地提高了服务器部署的灵活性和可移植性。此外,Java的“一次编写,到处运行”原则确保了...

    red5-server-1.0.9

    它的出现为开发者提供了更多的选择,因为它是用Java语言编写的,这使得它具有跨平台的特性,可以在多种操作系统上运行,包括但不限于Windows、Linux和Mac OS。 **Java编程基础** Red5服务器的编写语言是Java,这...

    java8源码-opencv:简单讲解在Mac和linux上使用和安装配置opencv环境

    java8 源码 @author Hh.li1993 文件下载地址 Install OpenCV3 on Ubuntu or mac Install OpenCV3 on Ubuntu (linux Ubuntu Ubuntu Server 16.04 LTS java1.8 ant python3 环境 ) 只是测试了java 环境 (python网上一...

    【GIS地图服务】geoserver-2.24.1-war.zip

    6. **Apache Tomcat**:Apache Tomcat是一个开源的Servlet容器,支持Java Servlet和JavaServer Pages(JSP)标准,是部署Java Web应用的常用平台。geoserver需要与Tomcat集成,提供GIS服务。 7. **WMS**:Web Map ...

    openjdk-11.0.19-windows版本

    OpenJDK 11.0.19 是一个开源、免费的Java开发工具包,它在Windows平台上提供了Java运行环境(JRE)和Java开发工具(JDK)。这个版本是Oracle JDK的一个替代品,遵循GNU General Public License (GPL) v2 with ...

    jtds驱动

    4. **跨平台**: 由于是Java编写,Jtds可以在任何支持Java的平台上运行,包括Windows、Linux、Mac OS等。 5. **SSL支持**: 提供了对SSL加密连接的支持,确保数据传输的安全性。 6. **社区活跃**: 开源项目,拥有...

    jweb-server:网络服务器

    jweb-server是用Java语言编写的,这使得它能够在任何支持Java的平台上运行,包括Windows、Linux、Mac OS等。Java的跨平台特性为jweb-server提供了广泛的适用性。 ### 2. 轻量级架构 作为一个轻量级服务器,jweb-...

    jrebel idea 插件包

    JRebel是一款强大的Java开发工具,它允许开发者在不重启应用服务器的情况下实时看到代码更改的效果,极大地提高了开发效率。Idea是JetBrains公司推出的著名Java集成开发环境IntelliJ IDEA的简称,广受开发者喜爱。...

    MAC搭建Python开发环境.docx

    在MAC操作系统上搭建Python开发环境是一项常见的任务,因为虽然Mac系统自带了Python 2.7版本,但许多现代项目和库都依赖于更新的Python版本,比如Python 3。以下是一份详细的指南,教你如何在Mac上安装Python 3并...

    InstallAnywhere v5.5.1--专业、强大的安装工具

    摘要 用于制作应用软件的安装程序,支持任何开发平台,灵活性强,性能突出,对JAVA程序的支持也相当完善。 组件列表 技术特性 ♦;;; ;;;通用安装、配置和客户化 ·在终端用户的系统上,将文件和...

    ( apache-tomcat-7.0.33.rar )

    Apache Tomcat 7.0.33 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat的7.x系列中的一个稳定版本,提供了对Java EE 6规范的支持。在...

    润乾报表lisense设计器授权文件+所有服务器授权文件v4.0

    Server2012-06-01V4.0Windows.lic、Server2012-06-01V4.0Other.lic 和 Server2012-06-01V4.0Linux.lic 这三个文件分别对应于在Windows、其他操作系统(可能包括Mac OS或特定版本的Unix)以及Linux环境下运行的润乾...

    Tomcat-8.0.33

    Apache Tomcat 8.0.33 是一个广泛使用的开源软件,主要作为Java Servlet和JavaServer Pages(JSP)的容器。它实现了Java EE的Web应用程序部署规范,为开发者提供了在本地环境中运行Java Web应用的平台。这个版本的...

    JMeterP1.3.0 版本 mac下载

    JMeter 是Apache组织开发的,遵循Apache License 2.0协议,可以在【LICENSE】文件中查看授权详情。该版本号P1.3.0表明它是JMeter的一个早期版本,虽然可能不如最新版功能全面,但在一些特定场景下仍被使用。 JMeter...

    我的世界 forge-1.19-服务端.zip

    打开Forge的配置文件夹,修改server.properties文件,根据需求调整服务器参数,如服务器名称、端口号、最大玩家数等。同时,你可能还需要编辑eula.txt文件,同意EULA(End User License Agreement)才能启动服务端。...

    tomcat8.5x64位绿色版

    它主要用于部署和运行Java Servlets和JavaServer Pages(JSP)。Tomcat是开源软件,遵循Apache Software License,因此具有很高的灵活性和可扩展性。 【描述】"好用的很,给自己留个备份"表明该版本的Tomcat在使用...

    geronimo-book.pdf

    Apache Geronimo is a robust and flexible open-source Java EE (previously known as J2EE) application server. The "geronimo-book.pdf" provides detailed guidance on installing, configuring, and deploying...

    svn安装及插件

    JAVAHL-LICENSE文件包含了JavaHL(Java bindings for Subversion)的许可协议,JavaHL是一个JNI绑定,允许Java应用直接调用SVN C库,提高性能。 .SEQUENCE-LICENSE可能是序列号或授权相关的文件,但具体用途需要...

    【最新版】SQLProStudio.2020.35.app.zip【亲测可用】最好的简单而强大的数据库管理

    SQLPro支持许多数据库类型,包括MySQL(和MariaDB),Postgres / PostgreSQL,Redshift,Microsoft SQL Server(2005和更高版本),Oracle(8i和更高版本),SQLite和SnowflakeDB。 表创建,自定义查询,自动完成和...

Global site tag (gtag.js) - Google Analytics