2017-05-18 18 views
0

私はCSVファイルから読み込み、他のソフトウェアで読み込むためのPCAPデータファイルを生成する簡単なQtアプリケーションを作っています。Wireshark Pcapコンバータアプリ:コンソール出力がありません

私はpcap_open_dead、pcap_dump_open、またはpcap_dumpを呼び出すとすぐに、小さなコンバータを実行してもコンソール出力は得られません。メインの冒頭に来るHello Worldもこれ以上表示されません。下のコードから、これら3つのメソッドをコメントアウトするだけで、コンソール出力と "Hello World"が戻ってきます。

新しいpcapについて無知なので、私は助けを求める。

#include <QCoreApplication> 
#include <iostream> 
#include "pcap.h" 
using namespace std; 

struct pcapWriter_S 
{ 
    bool isAvailable; 
    int m_OutPcapIpId; 
    pcap_t* m_OutPcapHandle; 
    pcap_dumper_t* m_OutPcapFile; 
}m_pcapWriter; 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    cout << "Hello World!" << endl; 

    //m_pcapWriter.m_OutPcapHandle = pcap_open_dead(DLT_EN10MB,65535); 
    //m_pcapWriter.m_OutPcapFile = pcap_dump_open(m_pcapWriter.m_OutPcapHandle, QString("tmp_csv_out.pcap").toAscii().data()); 
    m_pcapWriter.m_OutPcapIpId = 1; 

    if (m_pcapWriter.m_OutPcapFile != 0) 
    { 
     m_pcapWriter.isAvailable = true; 
    } 

    QByteArray pkt_data; 
    // Omitted code to generate pkt data from input file 

    m_pcapWriter.m_OutPcapIpId++; 

    //pcap_dump((unsigned char*)m_pcapWriter.m_OutPcapFile, &header, (unsigned char*)pkt_data.data()); 

    return a.exec(); 
} 
+0

あなたのプログラムを 'strace'で実行し、出力を出力できますか? – cnicutar

答えて

0

何とかこれは私がpcap_openを呼び出していても、まだpcap_closeを呼び出していないためです。コンソール間のものは失われてしまいます - それはpcapのものに書かれているとは断言できませんが、とにかくコンソールをブロックします。

関連する問題