18,356
社区成员
发帖
与我相关
我的任务
分享
UINT CPublic::Cappacketlivethread(LPVOID pParam) {
struct pcap_pkthdr* header;/*数据包头部信息*/
const u_char* pkt_data;//数据
m_pacNum = 0;//捕获包的个数
CFile m_file;
if (m_file.Open(_T("default.DAT"), CFile::modeRead, NULL)) //临时文件
{
m_file.Close();
m_file.Remove(_T("default.DAT"));
}
m_filepath = "default.DAT";
dumpfile = pcap_dump_open(adhandle,m_filepath);
int res = 0;
//当用户按下开始按钮,开始捕获
while (res = (pcap_next_ex(adhandle, &header, &pkt_data)) >= 0 && isStart) {
if (res == 0)continue;
++m_pacNum;
pcap_dump((u_char*)dumpfile,header,pkt_data);
}
return 0;
}