");
#----- start capturing
vCapture($IF);
if ($IPSEC::IPsecAddr{IPSEC_IPVERSION} == 4) {
} else {
## RA
vSend($IF, ra_to_nut);
vSleep(3);
}
# ping TN(Host1) <-> NUT
while (1) {
($stat, %ret) = ipsecPing2NUT($IF, 'echo_request_from_host1_esp', 'echo_reply_to_host1');
$rtime = getTimeUTC();
$count = $rtime - $stime;
if ($stat eq 'GOT_REPLY') {
if ($count <= $htime){
vLogHTML("TN received echo reply from NUT to HOST1.
");
vLogHTML("Timer count: $count sec
");
vLogHTML('OK
');
}else{
if ($ret{status} !=0) {
vLogHTML("TN received no echo reply from NUT to HOST1.
");
vLogHTML("Expire lifetime of SA, Timer count: $count sec
");
vLogHTML('OK
');
}else{
vLogHTML("Over lifetime of SA!!, Timer count: $count sec
");
goto error;
}
}
}else{
vLogHTML("TN received no echo reply from NUT to HOST1.
");
if ($count > $htime){
vLogHTML("Expire lifetime of SA, Timer count: $count sec
");
vLogHTML('OK
');
last;
}else{
vLogHTML("Timer count: $count sec
");
vLogHTML('Warn');
}
}
}
#ipsecRemoteAsyncWait();
ipsecExitPass();
error:
vLogHTML("TN received echo reply from NUT to HOST1.
");
ipsecRemoteAsyncWait();
ipsecExitFail();
######################################################################
__END__
=head1 NAME
HTR_E_In_LifetimeSATime - Lifetime of SA using time, Host Transport Mode Inbound ESP (NULL), ESP Authentication HMAC-MD5
=head1 TARGET
Host
=head1 SYNOPSIS
=begin html
HTR_E_In_LifetimeSATime.seq [-tooloption ...] -pkt HTR_E_LifetimeSA.def
-tooloption : v6eval tool option
See also HTR_E_common.def and HTR_common.def
=end html
=head1 INITIALIZATION
=begin html
For details of Network Topology, see 00README
Set NUT's SAD and SPD as following:
NET5 NET3
HOST1_NET5 -- Router -- NUT
-----transport----->
Security Association Database (SAD)
| source address |
HOST1_NET5 |
| destination address |
NUT_NET3 |
| SPI |
0x1000 |
| mode |
transport |
| lifetime |
hard = 35 sec
soft = 35 sec |
| protocol |
ESP |
| ESP algorithm |
NULL |
| ESP authentication |
HMAC-MD5 |
| ESP authentication key |
TAHITEST89ABCDEF |
Security Policy Database (SPD)
| source address |
HOST1_NET5 |
| destination address |
NUT_NET3 |
| upper spec |
any |
| direction |
in |
| protocol |
ESP |
| mode |
transport |
=end html
=head1 TEST PROCEDURE
=begin html
Tester Target
| |
|-------------------------->|
| ICMP Echo Request |
| (with ESP) |
| |
|<--------------------------|
| ICMP Echo Reply |
| |
| : |
| Expire Lifetime of SA |
| : |
| |
|-------------------------->|
| ICMP Echo Request |
| (with ESP) |
| |
|<--------------------------|
| No ICMP Echo Reply |
| |
v v
- Send ICMP Echo Request with ESP
- Receive ICMP Echo Reply
- Continue until expire lifetime of SA
- Send ICMP Echo Request with ESP
- No Receive ICMP Echo Reply
ICMP Echo Request with ESP
| IP Header |
Source Address |
HOST1_NET5 |
|
Destination Address |
NUT_NET3 |
| ESP |
SPI |
0x1000 |
|
Algorithm |
DES-CBC |
|
Key |
TAHITEST |
| ICMP |
Type |
128 (Echo Request) |
ICMP Echo Reply
| IP Header |
Source Address |
NUT_NET3 |
|
Destination Address |
HOST1_NET5 |
| ICMP |
Type |
129 (Echo Reply) |
=end html
=head1 JUDGMENT
PASS: When lifetime of SA was expired, TN didn't receive ICMP Echo Reply from NUT.
FAIL: When lifetime of SA was expired, TN received ICMP Echo Reply from NUT.
=head1 SEE ALSO
perldoc V6evalTool
=begin html
IPSEC.html IPsec Test Common Utility
=cut