资源简介

协议分析器程序的源码,内含源程序和说明文档。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “MyCap.h“
#include “InterfaceDlg.h“
#include “pcap.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

CInterfaceDlg::CInterfaceDlg(CWnd* pParent )
: CDialog(CInterfaceDlg::IDD pParent)
{
  strcpy(m_szName ““);
  strcpy(m_szNetmask ““);
}


void CInterfaceDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX IDC_INTERFACE_LIST m_lstInterface);
}


BEGIN_MESSAGE_MAP(CInterfaceDlg CDialog)
END_MESSAGE_MAP()

BOOL CInterfaceDlg::OnInitDialog() 
{
  CDialog::OnInitDialog();

  //获取网络设备列表
  pcap_if_t *alldevs;    //网卡列表指针
  pcap_if_t *d;          //指向当前选中网卡的指针
  u_int netmask;         //子网掩码
  char errbuf[PCAP_ERRBUF_SIZE];  //错误信息缓冲区
  int inum = 0;
  int i=0;
  CString strMsg;
  if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING NULL &alldevs errbuf) == -1)
{
    //若没有网络设备则打印错误信息
strMsg.Format(“Error in pcap_findalldevs: %s“ errbuf);
        MessageBox(strMsg);
        return FALSE;
}
  CString strText;
  CRect rect;
  m_lstInterface.SetExtendedstyle(m_lstInterface.GetExtendedstyle()|LVS_EX_FULLROWSELECT );
  m_lstInterface.GetWindowRect(&rect);
  m_lstInterface.InsertColumn(0 “NO.“ LVCFMT_LEFTrect.Width()*1/10  0);
  m_lstInterface.InsertColumn(1 “说明“ LVCFMT_LEFTrect.Width()*9/10  0);
  m_lstInterface.InsertColumn(2 “Name“ LVCFMT_LEFT0 1);
  m_lstInterface.InsertColumn(3 “netmask“ LVCFMT_LEFT0 1);
  
  //列出网络设备列表
  for(d=alldevs; d; d=d->next)
  {
    strText.Format(“%d“ i);
    m_lstInterface.InsertItem(istrText.GetBuffer(16));
m_lstInterface.SetItemText(i 1 d->description);
m_lstInterface.SetItemText(i 2 d->name);
if(d->addresses != NULL)   
  netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
else  
  netmask=0xffffff; 
m_lstInterface.SetItemText(i 3 itoa(netmaskm_szNetmask 10));
    if (strcmp(d->name m_szName) == 0)
    {
      m_lstInterface.SetFocus();
      m_lstInterface.SetItemState(i LVIS_SELECTED LVIS_SELECTED);
      m_lstInterface.SetHotItem(i);    
    }
    i++;
}
  pcap_freealldevs(alldevs);
  return TRUE; 
}

void CInterfaceDlg::OnOK() 
{
  if (!m_lstInterface.GetItemCount( ))
  {    
    return;  
  }
  POSITION pos = m_lstInterface.GetFirstSelectedItemPosition();
  if (pos == NULL)
  {
    MessageBox(“No items were selected!“);
    return;
  }
  else
  {
     if (pos)
     {
        int nItem = m_lstInterface.GetNextSelectedItem(pos);
        TRACE1(“Item %d was selected!\n“ nItem);
        m_lstInterface.GetItemText(nItem 1 m_szDescription 255);
        m_lstInterface.GetItemText(nItem 2 m_szName 255);       
     }
  }
CDialog::OnOK();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      62331  2010-01-08 20:55  说明文档\ftp协议交互过程.pdf

     文件      70416  2010-01-08 20:55  说明文档\http协议交互过程.pdf

     文件      51261  2010-01-08 20:55  说明文档\smtp协议交互过程.pdf

    ..A..H.       162  2010-01-08 16:05  说明文档\~$说明文档.doc

     文件       1081  2004-04-23 18:53  源程序\Mycap\Capture.h

     文件       2872  2010-01-08 15:13  源程序\Mycap\InterfaceDlg.cpp

     文件       1327  2010-01-08 12:52  源程序\Mycap\InterfaceDlg.h

     文件       3493  2010-01-08 14:22  源程序\Mycap\MainFrm.cpp

     文件       1565  2010-01-08 12:52  源程序\Mycap\MainFrm.h

     文件      28128  2010-01-08 15:26  源程序\Mycap\MyCap.aps

     文件       3239  2010-01-08 15:27  源程序\Mycap\MyCap.clw

     文件       4122  2010-01-08 14:14  源程序\Mycap\MyCap.cpp

     文件       5195  2010-01-08 13:01  源程序\Mycap\MyCap.dsp

     文件        535  2004-04-23 10:29  源程序\Mycap\MyCap.dsw

     文件       1282  2010-01-08 12:53  源程序\Mycap\MyCap.h

     文件     615424  2010-01-08 20:32  源程序\Mycap\MyCap.ncb

     文件      70656  2010-01-08 20:32  源程序\Mycap\MyCap.opt

     文件        244  2010-01-08 15:30  源程序\Mycap\MyCap.plg

     文件      11119  2010-01-08 15:25  源程序\Mycap\MyCap.rc

     文件       1835  2010-01-08 14:14  源程序\Mycap\MyCapDoc.cpp

     文件       1388  2010-01-08 12:58  源程序\Mycap\MyCapDoc.h

     文件      11398  2010-01-08 20:32  源程序\Mycap\MyCapView.cpp

     文件       4041  2010-01-08 12:53  源程序\Mycap\MyCapView.h

     文件       4458  2004-05-06 23:22  源程序\Mycap\mysniff.txt

     文件      12617  2010-01-08 14:06  源程序\Mycap\mysniffview.cpp

     文件       1671  2010-01-08 12:58  源程序\Mycap\mysniffview.h

     文件       2543  2010-01-08 14:04  源程序\Mycap\myview.cpp

     文件       1611  2010-01-08 12:58  源程序\Mycap\myview.h

     文件       1416  2010-01-08 14:04  源程序\Mycap\packetfilter.cpp

     文件       1364  2010-01-08 12:58  源程序\Mycap\packetfilter.h

............此处省略20个文件信息

评论

共有 条评论