用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

154 lines
2.9 KiB

--source include/not_windows.inc
--perl
my $MYSQL = $ENV{'MYSQL'};
my $MYSQLADMIN = $ENV{'MYSQLADMIN'};
my $MASTER_MYPORT = $ENV{'MASTER_MYPORT'};
my $MYSQLTEST_VARDIR = $ENV{'MYSQLTEST_VARDIR'};
my $LOG_FILE = $ENV{'BIND_ADDRESS_LOG_FILE'};
my @ipv4_addresses = split (/\n/, `ifconfig | grep 'inet addr' | sed 's/^.*inet addr://' | sed 's/ .*\$//'`);
my @ipv6_addresses = split (/\n/, `ifconfig | grep 'inet6 addr.*Scope:Global' | sed 's/^.*inet6 addr: //' | sed 's/ .*\$//' | sed 's|/.*\$||'`);
push (@ipv6_addresses, '::1');
open (LOGFH, ">$LOG_FILE") or
die "Can not open '$LOG_FILE': $!\n";
my $ipv4_failed = 0;
foreach my $ip (@ipv4_addresses)
{
print LOGFH "- ipv4: '$ip'\n";
my $rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'CREATE USER u1@$ip;'");
print LOGFH " CREATE status: $rc\n";
$ipv4_failed |= $rc;
my $rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'GRANT ALL PRIVILEGES ON test.* TO u1@$ip;'");
print LOGFH " GRANT status: $rc\n";
$ipv4_failed |= $rc;
$rc =
system(
"$MYSQLADMIN " .
"--host=$ip " .
"--port=$MASTER_MYPORT " .
"--user=u1 " .
"ping > /dev/null 2>&1");
print LOGFH " Connect u1@$ip status: $rc\n";
$ipv4_failed |= $rc;
$rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'DROP USER u1@$ip;'");
print LOGFH " DROP USER status: $rc\n";
$ipv4_failed |= $rc;
}
my $ipv6_failed = 0;
foreach my $ip (@ipv6_addresses)
{
print LOGFH "- ipv6: '$ip'\n";
my $rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'CREATE USER u1@$ip;'");
print LOGFH " CREATE status: $rc\n";
$ipv4_failed |= $rc;
my $rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'GRANT ALL PRIVILEGES ON test.* TO u1@$ip;'");
print LOGFH " GRANT status: $rc\n";
$ipv6_failed |= $rc;
$rc =
system(
"$MYSQLADMIN " .
"--host=$ip " .
"--port=$MASTER_MYPORT " .
"--user=u1 " .
"ping > /dev/null 2>&1");
print LOGFH " Connect u1@$ip status: $rc\n";
$ipv6_failed |= $rc;
$rc =
system(
"$MYSQL " .
"--host=127.0.0.1 " .
"--port=$MASTER_MYPORT " .
"--user=root " .
"test " .
"-e 'DROP USER u1@$ip;'");
print LOGFH " DROP USER status: $rc\n";
$ipv6_failed |= $rc;
}
close LOGFH;
unless ($ipv4_failed)
{
print "IPv4 connectivity: OK\n";
}
else
{
print "IPv4 connectivity: FAIL\n";
}
unless ($ipv6_failed)
{
print "IPv6 connectivity: OK\n";
}
else
{
print "IPv6 connectivity: FAIL\n";
}
EOF