使用 ESP 对 IP 数据包进行离线加密

Offline encryption of IP packets using ESP

我知道我们可以使用 wireshark 或 tshark 在离线模式下解密使用 ESP 加密的 IPSec 数据包。 是否可以使用 tshark 或其他用户space(相对于内核-space)应用程序进行反向操作?换句话说,是否有任何应用程序可用于在离线模式下使用 ESP 协议将 IP 数据包(例如,使用 wireshark 捕获)加密为 IPSec 数据包?

谢谢!

您可以将 scapy 与 ipsec.py 一起使用。

使用示例: 服务器#scapy

>>> load_layer("ipsec")
>>> sa = SecurityAssociation(ESP, spi=0xdeadbeef, crypt_algo='AES-CBC',
                          crypt_key='sixteenbytes key')
>>> p = IP(src='1.1.1.1', dst='2.2.2.2')
>>> p /= TCP(sport=45012, dport=80)
>>> p /= Raw('testdata')
>>> p = IP(str(p))
>>> e = sa.encrypt(p)

http://fossies.org/linux/scapy/scapy/layers/ipsec.py