");
#----- start capturing
vCapture($IF);
if ($IPSEC::IPsecAddr{IPSEC_IPVERSION} == 4) {
} else {
## RA
vSend($IF, ra_to_nut);
vSleep(3);
}
# ping TN(Host1) <-> NUT
$max = 13;
$size = 84; # IPv6 packet size
for(my $step = 1; $step < $max ; $step ++) {
($stat, %ret) = ipsecPing2NUT($IF, 'echo_request_from_host1_esp', 'echo_reply_to_host1');
$count = $size * $step;
if ($stat eq 'GOT_REPLY') {
vLogHTML("TN received echo reply from NUT to HOST1.
");
vLogHTML("Byte count: $count byte
");
vLogHTML('OK
');
}else{
vLogHTML("TN received no echo reply from NUT to HOST1.
");
vLogHTML("Byte count: $count byte
");
vLogHTML('Fail');
ipsecExitFail();
}
}
($stat, %ret) = ipsecPing2NUT($IF, 'echo_request_from_host1_esp', 'echo_reply_to_host1');
$count = $size * $max ;
if ($stat ne 'GOT_REPLY') {
vLogHTML("TN received no echo reply from NUT to HOST1.
");
vLogHTML("Expire lifetime of SA, Byte count: $count byte
");
vLogHTML('Pass');
ipsecExitPass();
}
vLogHTML('TN received ICMP Echo Reply from NUT to HOST1.
');
vLogHTML("Over lifetime of SA!!, Byte count: $count byte
");
vLogHTML('Fail
');
ipsecExitFail();
######################################################################
__END__
=head1 NAME
HTR_E_In_LifetimeSAByte - Lifetime of SA using byte, Host Transport Mode Inbound ESP (NULL), ESP Authentication HMAC-MD5
=head1 TARGET
Host
=head1 SYNOPSIS
=begin html
HTR_E_In_LifetimeSAByte.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 = 1 kbyte
soft = 1 kbyte |
| 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