加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用perl socket 在WINDOWS DHCP服务上 实现ip绑定

发布时间:2020-12-15 21:10:38 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/usr/bin/perl #server.pl #use strict; use Socket; use constant IPADDR = '192.168.1.254';use constant PORT = 4000;use constant MAX_RECV_LEN

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/usr/bin/perl 
#server.pl 
 
#use strict; 
use Socket; 

use constant IPADDR => '192.168.1.254';
use constant PORT => 4000;
use constant MAX_RECV_LEN => 100;



my $local_host = gethostbyname(IPADDR);
my $local_port = PORT;
my $proto = getprotobyname('udp');
my $local_addr = sockaddr_in($local_port,$local_host);

socket(DHCP_SOCK,PF_INET,SOCK_DGRAM,$proto) or die "socket() failed: $!";
bind(DHCP_SOCK,$local_addr);

my $all;
my $myall=[];


while( 1 )
{
	my $my_all = recv( DHCP_SOCK,$all,MAX_RECV_LEN,0 ) or warn "Problem with recv all";
	
	@myall=split(/;/,$all);
	
	my $ipaddr = @myall[0];
	my $macaddr = @myall[1];
	my $net = @myall[2];
	my $opt = @myall[3];
	my $username = @myall[4];
	
	if ( $my_all ){
	#	my( $the_port,$the_ip ) = sockaddr_in( $my_all );
		
		#system("(echo %date:~0,10% %time:~0,5% ip:$ipaddr,mac:$macaddr,net:$net,opt:$opt,user:$username )");
		system("(echo %date:~0,user:$username >> e:batdhcp_debug.log )");
		
		if ( $opt eq 'addmac') {
			system("(echo %date:~0,5% add $ipaddr $macaddr $username >> e:batdhcp_server.log )");
			system("(netsh dhcp server scope $net add reservedip $ipaddr $macaddr $username $username BOTH ||echo %date:~0,5% false add >> e:batdhcp_server.log)");
		}
		
		elsif ( $opt eq 'rmvmac') {
			system("(echo %date:~0,5% delete $ipaddr $macaddr >> e:batdhcp_server.log )");
			system("(netsh dhcp server scope $net delete reservedip $ipaddr $macaddr ||echo %date:~0,5% false delete >> e:batdhcp_server.log )");
		}
	}	
	else
	{
		warn "Problem with recv: @!n";
	}

}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读