亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arpbind-lib.pl

?? 使用PERL寫關于CGI界面程序
?? PL
?? 第 1 頁 / 共 2 頁
字號:
sub sort_arp_record{		my @my_list;	my $my_row = 0;	my @my_arr;	my $my_file = "./tmp/bind_record.db";		open(MYFILE, $my_file) || (&error($text{'index_er'}) && exit(0));	while ($l_line=<MYFILE>)	{				@my_list = split( /\t+/, $l_line );				my $my_num1 = 0;		@my_numlist = split(/\./, $my_list[1]);		$my_num1 += $my_numlist[0] << 24;		$my_num1 += $my_numlist[1] << 16;		$my_num1 += $my_numlist[2] << 8;		$my_num1 += $my_numlist[3];		push(@my_array, $l_line);		#push(@my_arr, $my_list[0]);		push(@my_arr, $my_num1);		push(@my_arr, $my_row);				$my_row++;	}	close( MYFILE );	%my_sort = @my_arr;	@my_sorarra = keys(%my_sort);	@my_sorarra = sort(@my_sorarra);		my @my_sortnum;	foreach (@my_sorarra)	{		push(@my_sortnum, $my_sort{$_});	}	$my_row = 0;	my $my_file = "./tmp/sortdown_record.db";	open(MYFILE,">".$my_file) || (&error($text{'index_er'}) && exit(0));	foreach (@my_sortnum)	{		@my_list = split( /\t+/, $my_array[$_] );			print MYFILE $my_row."\t".$my_list[1]."\t".$my_list[2]."\t".$my_list[3]."\t".$my_list[4]."\t".$my_list[5]."\t".$my_list[6];				$my_row++	}	close (MYFILE);		@my_sortnum = reverse(@my_sortnum);	$my_row = 0;	my $my_file = "./tmp/sortup_record.db";	open(MYFILE, ">".$my_file) || (&error($text{'index_er'}) && exit(0));	foreach (@my_sortnum)	{		@my_list = split( /\t+/, $my_array[$_] );			print MYFILE $my_row."\t".$my_list[1]."\t".$my_list[2]."\t".$my_list[3]."\t".$my_list[4]."\t".$my_list[5]."\t".$my_list[6];		$my_row++;	}	close (MYFILE);}sub draw_arp_record{	my @my_list;#	local $my_row = 0;	my $my_srcfile = "./tmp/bind_record.db";	my $my_file = "./tmp/bind_recorda.db";		open(MYFILE,">".$my_file) || (&error($text{'index_er'}) && exit(0));	open( FILE, $my_srcfile);	while( $l_line=<FILE> )	{		@my_list = split( /\t+/, $l_line );		$my_list[3] !~ /^AA:AA:AA:AA.+/ && next;		print MYFILE $my_row."\t".$my_list[1]."\t".$my_list[3]."\n";		$my_row++;	}	close( FILE );	close( MYFILE );}sub ip_bind{	local ($ip, $mac) = @_;	&read_file($config{'bind_file'}, \%mac_stat);	if ( !$mac_stat{$mac} )	{				my $cmd1 = "iptables -A IPMACLIMIT -s $ip -m mac --mac-source ! $mac -j DROP";		my $cmd2 = "iptables -A IPMACLIMIT -s ! $ip -m mac --mac-source $mac -j DROP";		system($cmd1);		system($cmd2);		$mac_stat{$mac} = $ip;		&write_file($config{'bind_file'}, \%mac_stat);	}}sub ip_unbind{	local ($ip, $mac) = @_;	&read_file($config{'bind_file'}, \%mac_stat);	if ( $mac_stat{$mac} )	{		my $cmd1 = "iptables -D IPMACLIMIT -s $ip -m mac --mac-source ! $mac -j DROP";		my $cmd2 = "iptables -D IPMACLIMIT -s ! $ip -m mac --mac-source $mac -j DROP";		system($cmd1);		system($cmd2);		delete $mac_stat{$mac};		&write_file($config{'bind_file'}, \%mac_stat);	}}sub get_bind{	local ($ip, $mac) = @_;	&read_file($config{'bind_file'}, \%mac_stat);	if ( !$mac_stat{$mac} )	{		$mac_stat{$mac} = $ip;		&write_file($config{'bind_file'}, \%mac_stat);	}}sub get_unbind{	local ($ip, $mac) = @_;	&read_file($config{'bind_file'}, \%mac_stat);	if ( $mac_stat{$mac} )	{		delete $mac_stat{$mac};		&write_file($config{'bind_file'}, \%mac_stat);	}}# active_interfaces()# Returns a list of currently ifconfig'd interfacessub active_interfaces{local(@rv, @lines, $l);&open_execute_command(IFC, "ifconfig -a", 1, 1);while(<IFC>) {	s/\r|\n//g;	if (/^\S+/) { push(@lines, $_); }	else { $lines[$#lines] .= $_; }	}close(IFC);foreach $l (@lines) {	local %ifc;	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }	elsif (!$_[0]) { next; }	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }	if ($l =~ /P-t-P:(\S+)/) { $ifc{'ptp'} = $1; }	$ifc{'up'}++ if ($l =~ /\sUP\s/);	$ifc{'promisc'}++ if ($l =~ /\sPROMISC\s/);	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);	$ifc{'index'} = scalar(@rv);	push(@rv, \%ifc);	}return @rv;}# activate_interface(&details)# Create or modify an interfacesub activate_interface{local $a = $_[0];local $cmd = "ifconfig $a->{'name'}";if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }$cmd .= " $a->{'address'}";if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }if ($a->{'mtu'} && $a->{'virtual'} eq "") { $cmd .= " mtu $a->{'mtu'}"; }if ($a->{'up'}) { $cmd .= " up"; }else { $cmd .= " down"; }local $out = &backquote_logged("$cmd 2>&1");if ($?) { &error($out); }if ($a->{'ether'}) {	$out = &backquote_logged(		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");	if ($?) { &error($out); }	}}# deactivate_interface(&details)# Shutdown some active interfacesub deactivate_interface{local $name = $_[0]->{'name'}.	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");if ($_[0]->{'virtual'} ne "") {	# Shutdown virtual interface by setting address to 0	local $out = &backquote_logged("ifconfig $name 0 2>&1");	}local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();if ($still) {	# Old version of ifconfig or non-virtual interface.. down it	local $out = &backquote_logged("ifconfig $name down 2>&1");	local ($still) = grep { $_->{'fullname'} eq $name }			      &active_interfaces();	if ($still) {		&error("<pre>$out</pre>");		}	}}# iface_type(name)# Returns a human-readable interface type namesub iface_type{if ($_[0] =~ /^(.*)\.(\d+)$/) {	return &iface_type("$1")." VLAN";	}return "PPP" if ($_[0] =~ /^ppp/);return "SLIP" if ($_[0] =~ /^sl/);return "PLIP" if ($_[0] =~ /^plip/);return "Ethernet" if ($_[0] =~ /^eth/);return "Wireless Ethernet" if ($_[0] =~ /^wlan/);return "Arcnet" if ($_[0] =~ /^arc/);return "Token Ring" if ($_[0] =~ /^tr/);return "Pocket/ATP" if ($_[0] =~ /^atp/);return "Loopback" if ($_[0] =~ /^lo/);return "ISDN rawIP" if ($_[0] =~ /^isdn/);return "ISDN syncPPP" if ($_[0] =~ /^ippp/);return "CIPE" if ($_[0] =~ /^cip/);return "VmWare" if ($_[0] =~ /^vmnet/);return "Wireless" if ($_[0] =~ /^wlan/);return $text{'ifcs_unknown'};}# list_routes()# Returns a list of active routessub list_routes{local @rv;&open_execute_command(ROUTES, "netstat -rn", 1, 1);while(<ROUTES>) {	s/\s+$//;	if (/^([0-9\.]+)\s+([0-9\.]+)\s+([0-9\.]+)\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S+)$/) {		push(@rv, { 'dest' => $1,			    'gateway' => $2,			    'netmask' => $3,			    'iface' => $4 });		}	}close(ROUTES);return @rv;}# iface_hardware(name)# Does some interface have an editable hardware addresssub iface_hardware{return $_[0] =~ /^eth/;}# allow_interface_clash()# Returns 0 to indicate that two virtual interfaces with the same IP# are not allowedsub allow_interface_clash{return 0;}# get_dns_config()# Returns a hashtable containing keys nameserver, domain, search & ordersub get_dns_config{local $dns;local $rc;if ($use_suse_dns && ($rc = &parse_rc_config()) && $rc->{'NAMESERVER'}) {	# Special case - get DNS settings from SuSE config	local @ns = split(/\s+/, $rc->{'NAMESERVER'}->{'value'});	$dns->{'nameserver'} = [ grep { $_ ne "YAST_ASK" } @ns ];	local $src = $rc->{'SEARCHLIST'};	$dns->{'domain'} = [ split(/\s+/, $src->{'value'}) ] if ($src);	$dnsfile = $rc_config;	}else {	&open_readfile(RESOLV, "/etc/resolv.conf");	while(<RESOLV>) {		s/\r|\n//g;		s/#.*$//;		if (/nameserver\s+(.*)/) {			push(@{$dns->{'nameserver'}}, split(/\s+/, $1));			}		elsif (/domain\s+(\S+)/) {			$dns->{'domain'} = [ $1 ];			}		elsif (/search\s+(.*)/) {			$dns->{'domain'} = [ split(/\s+/, $1) ];			}		}	close(RESOLV);	$dnsfile = "/etc/resolv.conf";	}&open_readfile(SWITCH, "/etc/nsswitch.conf");while(<SWITCH>) {	s/\r|\n//g;	if (/^\s*hosts:\s+(.*)/) {		$dns->{'order'} = $1;		}	}close(SWITCH);$dns->{'files'} = [ $dnsfile, "/etc/nsswitch.conf" ];return $dns;}# save_dns_config(&config)# Writes out the resolv.conf and nsswitch.conf filessub save_dns_config{local $rc;&lock_file($rc_config) if ($suse_dns_config);if ($use_suse_dns && ($rc = &parse_rc_config()) && $rc->{'NAMESERVER'}) {	&save_rc_config($rc, "NAMESERVER", join(" ", @{$_[0]->{'nameserver'}}));	&save_rc_config($rc, "SEARCHLIST", join(" ", @{$_[0]->{'domain'}}));	}else {	&lock_file("/etc/resolv.conf");	&open_readfile(RESOLV, "/etc/resolv.conf");	local @resolv = <RESOLV>;	close(RESOLV);	&open_tempfile(RESOLV, ">/etc/resolv.conf");	foreach (@{$_[0]->{'nameserver'}}) {		&print_tempfile(RESOLV, "nameserver $_\n");		}	if ($_[0]->{'domain'}) {		if ($_[0]->{'domain'}->[1]) {			&print_tempfile(RESOLV, "search ",join(" ", @{$_[0]->{'domain'}}),"\n");			}		else {			&print_tempfile(RESOLV, "domain $_[0]->{'domain'}->[0]\n");			}		}	foreach (@resolv) {		&print_tempfile(RESOLV, $_) if (!/^\s*(nameserver|domain|search)\s+/);		}	&close_tempfile(RESOLV);	&unlock_file("/etc/resolv.conf");	}&lock_file("/etc/nsswitch.conf");&open_readfile(SWITCH, "/etc/nsswitch.conf");local @switch = <SWITCH>;close(SWITCH);&open_tempfile(SWITCH, ">/etc/nsswitch.conf");foreach (@switch) {	if (/^\s*hosts:\s+/) {		&print_tempfile(SWITCH, "hosts:\t$_[0]->{'order'}\n");		}	else {		&print_tempfile(SWITCH, $_);		}	}&close_tempfile(SWITCH);&unlock_file("/etc/nsswitch.conf");if ($suse_dns_config && $rc->{'USE_NIS_FOR_RESOLVING'}) {	if ($_[0]->{'order'} =~ /nis/) {		&save_rc_config($rc, "USE_NIS_FOR_RESOLVING", "yes");		}	else {		&save_rc_config($rc, "USE_NIS_FOR_RESOLVING", "no");		}	}&unlock_file($rc_config) if ($suse_dns_config);}$max_dns_servers = 3;# order_input(&dns)# Returns HTML for selecting the name resolution ordersub order_input{if ($_[0]->{'order'} =~ /\[/) {	# Using a complex resolve list	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";	}else {	# Can select by menus	local @o = split(/\s+/, $_[0]->{'order'});	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;	local ($rv, $i, $j);	local @srcs = ( "", "files", "dns", "nis", "nisplus", "ldap", "db" );	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "LDAP", "DB" );	for($i=1; $i<@srcs; $i++) {		local $ii = $i-1;		$rv .= "<select name=order_$ii>\n";		for($j=0; $j<@srcs; $j++) {			$rv .= sprintf "<option value=\"%s\" %s>%s\n",					$srcs[$j],					$o[$ii] eq $srcs[$j] ? "selected" : "",					$srcn[$j] ? $srcn[$j] : "&nbsp;";			}		$rv .= "</select>\n";		}	return $rv;	}}# parse_order(&dns)# Parses the form created by order_input()sub parse_order{if (defined($in{'order'})) {	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});	$_[0]->{'order'} = $in{'order'};	}else {	local($i, @order);	for($i=0; defined($in{"order_$i"}); $i++) {		push(@order, $in{"order_$i"}) if ($in{"order_$i"});		}	$_[0]->{'order'} = join(" ", @order);	}}sub mac_sort{	my $my_cmd = "sort -k4 ".$module_root_directory."/tmp/bind_record.db|";	my @my_sortnum = ();	my @my_list;	my $my_row = 0;	my $my_file = "./tmp/mac_downsort.db";		open(MYFILE,">".$my_file) || (&error($text{'index_er'}) && exit(0));	open(CMD, $my_cmd);	while( $l_line=<CMD> )	{				push(@my_sortnum, $l_line);		@my_list = split( /\t+/, $l_line );		print MYFILE $my_row."\t".$my_list[1]."\t".$my_list[2]."\t".$my_list[3]."\t".$my_list[4]."\t".$my_list[5]."\t".$my_list[6];		$my_row++;	}	close( CMD );	close( MYFILE );		@my_sortnum = reverse(@my_sortnum);	$my_row = 0;	my $my_file = "./tmp/mac_upsort.db";	open(MYFILE, ">".$my_file) || (&error($text{'index_er'}) && exit(0));	foreach (@my_sortnum)	{		@my_list = split( /\t+/, $_ );		print MYFILE $my_row."\t".$my_list[1]."\t".$my_list[2]."\t".$my_list[3]."\t".$my_list[4]."\t".$my_list[5]."\t".$my_list[6];		$my_row++;	}	close (MYFILE);	}#Get the system working's modesub get_sysmode{	local %work_mode;	&read_file($config{'sys_mode'}, \%work_mode);	return $work_mode{'mode'};}1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情综合网站| 亚洲国产精品一区二区www在线| 久久99国产精品麻豆| 日韩欧美你懂的| 激情六月婷婷久久| 欧美va亚洲va| 国产成人精品免费视频网站| 中文字幕乱码一区二区免费| 东方aⅴ免费观看久久av| 国产精品久久久久久久久免费桃花 | 成人午夜在线播放| 国产精品传媒视频| 色妹子一区二区| 五月综合激情网| 日韩欧美一区二区三区在线| 国产伦精一区二区三区| 国产精品国产自产拍高清av王其| 一本在线高清不卡dvd| 亚洲一卡二卡三卡四卡无卡久久 | 欧美日韩一区不卡| 美女一区二区视频| 欧美国产一区二区| 欧美日韩国产系列| 国产麻豆视频精品| 一区二区三区国产| 精品日韩一区二区| 99精品国产一区二区三区不卡| 亚洲男人电影天堂| 日韩免费一区二区三区在线播放| 国产成人一级电影| 亚洲午夜电影在线| 久久久久久日产精品| 色欧美88888久久久久久影院| 日韩**一区毛片| 国产农村妇女毛片精品久久麻豆 | 国产香蕉久久精品综合网| 97se亚洲国产综合自在线不卡| 亚洲成av人片在线| 国产精品久久夜| 欧美大黄免费观看| 色国产精品一区在线观看| 国产精品一区二区视频| 午夜精品久久久久久久久久| 国产欧美一区二区精品秋霞影院 | 99综合影院在线| 久久99久久久久久久久久久| 亚洲乱码国产乱码精品精小说| 欧美刺激脚交jootjob| 在线这里只有精品| 成人涩涩免费视频| 精品一区二区在线看| 亚洲一二三四在线观看| 中文字幕av不卡| 久久婷婷一区二区三区| 欧美男男青年gay1069videost | 国产精品综合视频| 日本欧美大码aⅴ在线播放| 国产精品电影一区二区三区| 精品国产乱码久久久久久浪潮| 欧美色涩在线第一页| 91在线视频播放| 成人午夜电影久久影院| 久久99精品国产麻豆婷婷| 日日夜夜精品视频免费| 亚洲自拍偷拍九九九| 国产精品久久久久久久久免费桃花| 亚洲精品在线网站| 欧美一区二区视频网站| 欧美人伦禁忌dvd放荡欲情| 欧洲视频一区二区| 色婷婷综合视频在线观看| 成人激情校园春色| 成人精品免费看| 不卡一卡二卡三乱码免费网站| 国产福利一区二区三区视频| 久久99精品一区二区三区| 日韩—二三区免费观看av| 亚洲成人av福利| 午夜精品久久久久久久99樱桃| 亚洲一区二区精品久久av| 香蕉加勒比综合久久| 亚洲色图都市小说| 中文字幕av在线一区二区三区| 国产日韩欧美不卡在线| 欧美韩国一区二区| 国产精品久久久久aaaa| 国产精品电影一区二区| 亚洲免费在线观看视频| 一区二区三区欧美日| 亚洲一区二区三区四区在线免费观看| 亚洲男同性恋视频| 香蕉久久一区二区不卡无毒影院| 天天色综合天天| 精品一二三四区| 丁香亚洲综合激情啪啪综合| 91免费在线播放| 欧美色视频在线观看| 欧美一级艳片视频免费观看| 欧美大度的电影原声| 日本一区二区高清| 一区二区三区欧美日| 日韩av午夜在线观看| 国产河南妇女毛片精品久久久| 97久久精品人人做人人爽50路| 色婷婷综合五月| 日韩欧美国产不卡| 日本一区二区动态图| 一区二区三区.www| 麻豆精品在线观看| 成人美女视频在线观看18| 欧美视频在线一区二区三区| 精品少妇一区二区三区视频免付费| 久久久国产午夜精品| 亚洲精品日韩一| 老司机精品视频导航| 99re热视频精品| 91精品欧美综合在线观看最新| 久久久久久97三级| 亚洲精品国产精品乱码不99 | 国产激情精品久久久第一区二区| 91视频在线看| 精品少妇一区二区三区日产乱码 | 激情久久五月天| 91在线云播放| 日韩欧美中文字幕精品| 国产精品麻豆欧美日韩ww| 亚瑟在线精品视频| 丁香婷婷综合色啪| 欧美日韩中字一区| 国产丝袜美腿一区二区三区| 亚洲v日本v欧美v久久精品| 成人一区二区三区视频在线观看 | 久久亚洲捆绑美女| 亚洲午夜电影网| 成人精品国产福利| 精品1区2区在线观看| 日韩极品在线观看| 色偷偷久久一区二区三区| 欧美精彩视频一区二区三区| 秋霞av亚洲一区二区三| 欧美中文一区二区三区| 中文一区二区完整视频在线观看| 免费精品视频最新在线| 欧美日韩免费电影| 亚洲精品久久久久久国产精华液| 国产成人自拍高清视频在线免费播放 | 亚洲线精品一区二区三区| 暴力调教一区二区三区| ww久久中文字幕| 久久精品国产色蜜蜜麻豆| 在线电影院国产精品| 香蕉久久夜色精品国产使用方法| 91成人看片片| 一区二区三区在线免费视频| 成人免费高清视频在线观看| 久久在线观看免费| 日本欧美韩国一区三区| 在线看日韩精品电影| 亚洲精品水蜜桃| 成人av午夜电影| 久久久久久久久伊人| 国产乱一区二区| 日韩欧美高清dvd碟片| 午夜精品一区在线观看| 久久精品理论片| 精品999在线播放| 亚洲一区二区三区影院| 高清beeg欧美| 精品美女一区二区三区| 亚洲老司机在线| 国产黄色91视频| 国产欧美精品一区二区色综合 | 欧美一卡在线观看| 一区二区三区不卡视频在线观看 | 亚洲成人综合在线| 99久久久无码国产精品| 国产精品三级av| 国产不卡免费视频| 久久久久九九视频| 国产一区二区看久久| 精品动漫一区二区三区在线观看| 亚洲精品免费一二三区| 91久久免费观看| 亚洲一区av在线| 欧美日韩精品久久久| 蜜臀va亚洲va欧美va天堂| 91精品国产日韩91久久久久久| 午夜精品久久久久| 欧美亚洲国产一区在线观看网站| 日韩中文字幕不卡| 91麻豆精品久久久久蜜臀| 久久精品国产在热久久| 国产精品丝袜一区| 99久久精品情趣| 一区二区三区四区在线| 91在线观看免费视频| 无吗不卡中文字幕| 欧美不卡一区二区| 国产成人av资源| 一区二区中文字幕在线|