要检验包是否受到保护,请使用 snoop 命令来测试连接。以下前缀可以在 snoop 输出中显示:
AH: 前缀指明 AH 正在保护头。如果已使用 auth_alg 来保护通信,则会看到此前缀。
ESP: 前缀指明正在发送加密数据。如果已使用 encr_auth_alg 或 encr_alg 来保护通信,则会看到此前缀。
开始之前
必须可以同时访问两个系统才能测试连接。
您必须承担 root 角色才能创建 snoop 输出。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
% su - Password: xxxxxxxx #
# ipseckey dump
此输出指示哪些 SPI 值与使用的 SA 匹配、使用了哪些算法、密钥等等。
在 partym 上的一个终端窗口中,从 enigma 系统搜寻包。
# snoop -d net0 -o /tmp/snoop_capture enigma Using device /dev/e1000g (promiscuous mode)
在另一个终端窗口中,远程登录到 enigma 系统。提供您的口令。然后,承担 root 角色并将包从 enigma 系统发送到 partym 系统。包应该由 snoop -v enigma 命令捕获。
partym% ssh enigma Password: xxxxxxxx enigma% su - Password: xxxxxxxx enigma# ping partym
partym# snoop -i /tmp.snoop_capture -v
您也可以将 snoop 输出装入 Wireshark 应用程序。有关更多信息,请参见如何准备 IPsec 和 IKE 系统以便开展故障排除和snoop 命令和 IPsec。
在此文件中,您应该在初始 IP 头信息之后看到包括 AH 和 ESP 信息的输出。类似以下内容的 AH 和 ESP 信息表明包正在受到保护:
IP: Time to live = 64 seconds/hops IP: Protocol = 51 (AH) IP: Header checksum = 4e0e IP: Source address = 192.168.116.16, enigma IP: Destination address = 192.168.13.213, partym IP: No options IP: AH: ----- Authentication Header ----- AH: AH: Next header = 50 (ESP) AH: AH length = 4 (24 bytes) AH: <Reserved field = 0x0> AH: SPI = 0xb3a8d714 AH: Replay = 52 AH: ICV = c653901433ef5a7d77c76eaa AH: ESP: ----- Encapsulating Security Payload ----- ESP: ESP: SPI = 0xd4f40a61 ESP: Replay = 52 ESP: ....ENCRYPTED DATA.... ETHER: ----- Ether Header ----- ...