Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用perl socket 在WINDOWS DHCP服务上 实现ip绑定大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_0@#!/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:\\bat\\dhcp_debug.log )"); if ( $opt eq 'addmac') { system("(echo %date:~0,5% add $ipaddr $macaddr $username >> e:\\bat\\dhcp_server.log )"); system("(netsh dhcp server scope $net add reservedip $ipaddr $macaddr $username $username BOTH ||echo %date:~0,5% false add >> e:\\bat\\dhcp_server.log)"); } elsif ( $opt eq 'rmvmac') { system("(echo %date:~0,5% delete $ipaddr $macaddr >> e:\\bat\\dhcp_server.log )"); system("(netsh dhcp server scope $net delete reservedip $ipaddr $macaddr ||echo %date:~0,5% false delete >> e:\\bat\\dhcp_server.log )"); } } else { warn "Problem with recv: @!\n"; } }

大佬总结

以上是大佬教程为你收集整理的使用perl socket 在WINDOWS DHCP服务上 实现ip绑定全部内容,希望文章能够帮你解决使用perl socket 在WINDOWS DHCP服务上 实现ip绑定所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: