fprintf无法在wireshark源

时间:2016-08-23 18:20:42

标签: c file debugging ssl wireshark

我正在尝试更改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

1 个答案:

答案 0 :(得分:1)

wireshark目录是写保护的,因此我对wireshark代码所做的任何修改都无法写入同一目录中的文件。

@MarkPlotnick,@ Olaf和@ Jean-Bapiste都指向正确的方向,通常作为一个好习惯,应该使用错误处理程序编写更好的调试代码。