为了确保数据包捕获的安全,您将使用哪种方法来使所有(或接近所有)过去捕获的数据包完全无法访问,除非给出给定的密码。
我的习惯是
挂载
ecrypt
分区mount -t ecryptfs /srv /srv
tshark
使用缓冲区运行并将文件保存在加密文件系统上/media/
tshark -B 100k -i wlan0 -w /srv/capture-file.pcap
这种方法的问题是,只有在系统卸载后,该文件capture-file.pcap
才无法访问。ecryptfs
如何在系统上完全没有非加密版本的捕获的情况下进行捕获?
答案1
加密数据事实上的标准工具是GnuPG(或兼容的专有程序前列腺特发性硬化症。
在您想要解密数据的计算机上生成密钥对 ( gpg --gen-key
)。导出公钥 ( gpg --export …
) 并将其复制到要加密的计算机上(当然,如果加密和解密在同一台计算机上完成,则可以跳过此步骤)。然后运行
tshark … -w - | gpg -e >capture.pcap.gpg
要解密,只需运行gpg capture.pcap.gpg
.
GnuPG 还可以进行基于密码的加密,而-c
不是-e
.由于以下两个原因,这不太安全:
- 因为人们倾向于选择强度不够强的密码,即使是最好记的密码也不如随机生成的密钥那么强。
- 因为加密所需的信息也足以解密,而使用非对称密钥对可以在没有解密凭据的情况下进行加密。
答案2
用于加密捕获
tshark -w - | openssl enc -des3 -out capture.pcap.des3
阅读与
openssl enc -d -des3 -out capture.pcap.des3 | wireshark -i - k