f*******r 发帖数: 901 | 1 本人不是学计算机及相关专业的。所以有一个计算机网络方面的问题问一下大家。
我现在在编一个我们专业的计算小软件。我想在程序运行中判断该程序是在我们公司局域网内电脑里运行,来保证这个软件只在我们公室内部使用。想请问一下,如何实现?
我现在采用的是用在cmd里运行ipconfig,然后就会出现很多信息,我想问这些信息中那些是可以用来判断程序是在公司局域内电脑里运行。我想IP address 不行吧,那只是局域网的IP。Connection-specific DNS suffix:可以吗?那里面有我们单位的域名后缀。
不知道还有没有更好的更专业的办法?谢谢! | a**********k 发帖数: 1953 | 2 There are several ways to enforce that. One way would be to
start an activation server on a local machine that is not accessible
outside your company. After the program starts, tries to talk to
the activation server first, and exits if it is not able to hand-shake
with the activation server.
If you only want to limit the program within one LAN, set the TTL
of handshake packets to 1.
局域网内电脑里运行,来保证这个软件只在我们公室内部使用。想请问一下,如何实现?
那些是可以用来判断程序是在公司局域内电脑里运行。我想IP address 不行吧,那只
是局域网的IP。Connection-specific DNS suffix:可以吗?那里面有我们单位的域名
后缀。
【在 f*******r 的大作中提到】 : 本人不是学计算机及相关专业的。所以有一个计算机网络方面的问题问一下大家。 : 我现在在编一个我们专业的计算小软件。我想在程序运行中判断该程序是在我们公司局域网内电脑里运行,来保证这个软件只在我们公室内部使用。想请问一下,如何实现? : 我现在采用的是用在cmd里运行ipconfig,然后就会出现很多信息,我想问这些信息中那些是可以用来判断程序是在公司局域内电脑里运行。我想IP address 不行吧,那只是局域网的IP。Connection-specific DNS suffix:可以吗?那里面有我们单位的域名后缀。 : 不知道还有没有更好的更专业的办法?谢谢!
| s*****g 发帖数: 1055 | 3 Too complicated and it can happen that the program can not talk to the
activation server even the program is running in internal network.
I assume in a typical enterprise network, the host you are going to run the
program on is in active directory and has a valid A and PTR record in DNS
server via dynamic DNS update, In this case a successful query for PTR
record of the host's IP against the DNS server running on domain controller
is a good indication of whether this host is in your company's internal
network or not.
现?
【在 a**********k 的大作中提到】 : There are several ways to enforce that. One way would be to : start an activation server on a local machine that is not accessible : outside your company. After the program starts, tries to talk to : the activation server first, and exits if it is not able to hand-shake : with the activation server. : If you only want to limit the program within one LAN, set the TTL : of handshake packets to 1. : : 局域网内电脑里运行,来保证这个软件只在我们公室内部使用。想请问一下,如何实现? : 那些是可以用来判断程序是在公司局域内电脑里运行。我想IP address 不行吧,那只
| a**********k 发帖数: 1953 | 4 That will work. In this case, the DNS server acts as an activation
server with DNS PTR query being the handshake protocol.
the
controller
【在 s*****g 的大作中提到】 : Too complicated and it can happen that the program can not talk to the : activation server even the program is running in internal network. : I assume in a typical enterprise network, the host you are going to run the : program on is in active directory and has a valid A and PTR record in DNS : server via dynamic DNS update, In this case a successful query for PTR : record of the host's IP against the DNS server running on domain controller : is a good indication of whether this host is in your company's internal : network or not. : : 现?
|
|