void CMy213wrlDlg::OnOnOpenFile() 
{
// TODO: Add your command handler code here
    CString path;
char filter[]="CAP File(*.CAP)|*.CAP|CAP File(*.*)|*.*||";
pcap_t *fp;
    char errbuf[PCAP_ERRBUF_SIZE];
    char temp[12000],mac_string[100];
const u_char *data;
pcap_pkthdr *header;
int i=0,line; 
CFileDialog file(true, NULL,"*.cap",OFN_HIDEREADONLY,filter,NULL );
file.DoModal();
path=file.GetPathName();
m_List1.DeleteAllItems();
if ((fp = pcap_open_offline(path,errbuf)) == NULL)
{
MessageBox("不能打开记录文件");
return;
} while(pcap_next_ex(fp, &header, &data)>0)
{
   sprintf(temp,"%d",i++);
   //在列表框中插入一行
   line = m_List1.InsertItem(i,temp);       //////////*读取并在ListCtrl中解析并显示源MAC字段*///////////////
   sprintf(mac_string,"%02X:%02X:%02X:%02X:%02X:%02X",*data,*(data+1),*(data+2),*(data+3),*(data+4),*(data+5));
   m_List1.SetItemText(line,3,mac_string);       //////////*读取并在ListCtrl中显示目的MAC地址信息*///////////////
   sprintf(mac_string,"%02X:%02X:%02X:%02X:%02X:%02X",*(data+6),*(data+7),*(data+7),*(data+9),*(data+10),*(data+11));
   m_List1.SetItemText(line,6,mac_string);       //////////*请在此添加读取并在ListCtrl中显示源IP地址信息的代码*///////////////
       //////////*请在此添加读取并在ListCtrl中显示目的IP地址信息的代码*///////////////

   //////////*请在此添加读取并在ListCtrl中显示源端口的信息的代码*///////////////

   //////////*请在此添加读取并在ListCtrl中显示目的端口的信息的代码*///////////////

   //////////*请在此添加读取并在ListCtrl中显示报文长度的信息的代码*///////////////    //////////*请在此添加读取并在ListCtrl中显示报文内容的信息的代码*///////////////

}
    UpdateWindow();

}以上是抓包器listctrl中显示抓到数据包的内容,整个框架都出来了,但是我费尽千辛万苦只写了两个,一个是显示源mac的地址代码,一个是显示目的MAC地址的代码。下面那些都写不出来了,希望哪位兄弟帮小弟我填上剩下部分的源代码,小弟我感激不尽,真的,谢谢大家了。如果想要我整个抓包的源代码工程,可以QQ联系我,我的QQ是183632113.我里面还有很多地方不会,希望哪位有兴趣的可以联系我,帮我完善一下这个抓包器。