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

标签 networking encryption wireshark ipsec

据我所知,我们可以使用wireshark或tshark在离线模式下解密使用ESP加密的IPSec数据包。 是否可以使用 tshark 或其他用户空间(相对于内核空间)应用程序执行相反的操作?换句话说,是否有任何应用程序可用于在离线模式下使用 ESP 协议(protocol)将 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

关于networking - 使用 ESP 对 IP 数据包进行离线加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353921/

相关文章:

php - 是否安全 :cipher encrypted result depend on the server?

excel - 字符串加密/解密

mysql - 为什么Wireshark在不使用-h参数的情况下无法捕获mysql登录包

c - 使用 C 代码获取与 ifconfig 相同的信息

java - 比较 Java 和 PHP 中的 SHA256 输出

Linux 网络 - Docker 容器通过网关到远程主机而不使用路由添加?

sockets - Wireshark对话列表的两面

network-programming - wireshark 如何将一些数据包标记为 "tcp segment of a reassembled pdu"

c - 套接字编程中shutdown()函数中SHUT_RDWR的用途

c# - 如何在 c# 中测量从 Windows XP 到 Windows 8 的进程上传和下载网络利用率?