我正在尝试更改wireshark源代码,并将以下代码添加到文件中:/epan/dissectors/packet-ssl-utils.c
f=fopen("keys.txt","a+");
fflush(f);
fprintf(f,"Test");
ssl_print_data("Client Write key",c_wk,ssl_session->cipher_suite.bits/8);
ssl_print_data("Server Write key",s_wk,ssl_session->cipher_suite.bits/8);
fprintf(f,"%s %s",c_wk,s_wk);
if(ssl_session->cipher_suite.block>1) {
ssl_print_data("Client Write IV",c_iv,ssl_session->cipher_suite.block);
ssl_print_data("Server Write IV",s_iv,ssl_session->cipher_suite.block);
fprintf(f,"%s %s",c_iv,s_iv); }
else {
ssl_print_data("Client Write IV",c_iv,8);
ssl_print_data("Server Write IV",s_iv,8);
fprintf(f,"%s %s",c_iv,s_iv); }
fflush(f);
fclose(f);
我在函数ssl_generate_keyring()的开头声明了FILE指针为'f'。 多次尝试运行脚本后
sudo ./configure
sudo make
sudo make install
我仍然无法将这些变量中的数据打印到文件中。文件本身未创建。
有人可以告诉我如何将这些变量写入文件吗?
背景 您必须在终端中设置导出SSLKEYLOGFILE = / home / somefilename.txt。从终端启动浏览器,然后浏览流量。
转到wire shark首选项,然后在协议选项卡中设置keylog文件 - > ssl tab
答案 0 :(得分:1)
wireshark目录是写保护的,因此我对wireshark代码所做的任何修改都无法写入同一目录中的文件。
@MarkPlotnick,@ Olaf和@ Jean-Bapiste都指向正确的方向,通常作为一个好习惯,应该使用错误处理程序编写更好的调试代码。