• 大小: 682KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-06
  • 语言: C/C++
  • 标签:

资源简介

包括源程序和详细的使用说明个,同时内付相关的软件 编程环境: 操作系统:Windows XP SP2 开发语言:C++ / MFC 编译环境:MS Visual C++6.0 第3方函数库:Winpcap3.1 使用说明: 1. 启动: 程序启动后首先出现网卡选择对话框,如图1所示,在设备列表中选择需要进行捕获的网卡。 2. 界面: 选择网卡后出现程序主界面,界面设计主要参照了一款比较优秀的网络协议分析工具Iris的图形化界面,采用切分窗口风格,整个程序界面分为三部分:左侧为树形视图,右侧上半部分为列表视图,右侧下半部分为编辑视图 3. 功能: 1) 如果不做任何设置,程序默认为混杂模式,点击按钮① 后,程序开始捕获网络上传输的所有数据包,并将它们显示在列表视图中。点击按钮② 停止捕获。 2) 点击列表视图中的某一行后,对应于该数据包的详细字段分析和原始数据将分别显示在左侧树形视图和右下的编辑视图中,如图2所示。 3) 列表视图中显示的最大数据包数量为2000条,超过后列表视图将清空并重新开始。另外程序还提供了在任意时刻清空当前列表视图中所有数据包的命令(提供该命令的原因是经常会有这样的情况:即列表视图中已经有了很多消息了,但目前只需要关注从即刻起之后到来的消息,这时以前的消息就不再有用并且会影响我们对所要消息的选择)。要使用该命令请在列表视图中任意位置单击鼠标右键,在弹出的菜单中选择“全部清空”

资源截图

代码片段和文件信息

// ctrlext.cpp :
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include “stdafx.h“
#include “ctrlext.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define new DEBUG_NEW

/////////////////////////////////////////////////////////////////////////////
// Inline function declarations

#define _AFXCTL_INLINE inline


/////////////////////////////////////////////////////////////////////////////
// CTreeCtrlNode


const CTreeCursor& CTreeCursor::operator =(const CTreeCursor& posSrc)
{
if(&posSrc != this){
m_hTreeItem = posSrc.m_hTreeItem;
m_pTree = posSrc.m_pTree;
}
return *this;
}


CTreeCursor CTreeCursor::_Insert(LPCTSTR strItemint nImageIndexHTREEITEM hAfter)
{
TV_INSERTSTRUCT ins;
ins.hParent = m_hTreeItem;
ins.hInsertAfter = hAfter;
ins.item.mask = TVIF_TEXT;
ins.item.pszText = (LPTSTR) strItem;
if(nImageIndex != -1){
ins.item.mask |= TVIF_IMAGE | TVIF_SELECTEDIMAGE;
ins.item.iImage = nImageIndex;
ins.item.iSelectedImage = nImageIndex;
}
return CTreeCursor(m_pTree->InsertItem(&ins) m_pTree);
}

int CTreeCursor::GetImageID()
{
TV_ITEM item;
item.mask = TVIF_HANDLE | TVIF_IMAGE;
item.hItem = m_hTreeItem;
m_pTree->GetItem(&item);
return item.iImage;
}

/////////////////////////////////////////////////////////////////////////////
// CTreeCtrlEx

// All handled by inlines

/////////////////////////////////////////////////////////////////////////////
// CListCtrlEx

BOOL CListCtrlEx::AddColumn(LPCTSTR strItemint nItemint nSubItemint nMaskint nFmt)
{
LV_COLUMN lvc;
lvc.mask = nMask;
lvc.fmt = nFmt;
lvc.pszText = (LPTSTR) strItem;
lvc.cx = GetStringWidth(lvc.pszText) + 15;
if(nMask & LVCF_SUBITEM){
if(nSubItem != -1)
lvc.iSubItem = nSubItem;
else
lvc.iSubItem = nItem;
}
return InsertColumn(nItem&lvc);
}

//modified by wangjun for adding a lParam ie.32-bit application-specific value to be associated with the item.
//BOOL CListCtrlEx::AddItem(int nItemint nSubItemLPCTSTR strItemint nImageIndex)
BOOL CListCtrlEx::AddItem(int nItemint nSubItemLPCTSTR strItemLPARAM lParamint nImageIndex)
{
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = nItem;
lvItem.iSubItem = nSubItem;
lvItem.pszText = (LPTSTR) strItem;
//added by wangjun
lvItem.lParam = lParam;
//added end
if(nImageIndex != -1){
lvItem.mask |= LVIF_IMAGE;
lvItem.iImage = nImageIndex;
}
if(nSubItem == 0)
return InsertItem(&lvItem);
return SetItem(&lvItem);
}

/////////////////////////////////////////////////////////////

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

     文件       5049  2007-04-20 15:59  协议分析器程序\Code\CommonDefine.h

     文件       3018  2006-06-15 20:33  协议分析器程序\Code\ctrlext.cpp

     文件       5045  2005-11-07 18:14  协议分析器程序\Code\ctrlext.h

     文件       8432  1998-03-26 16:44  协议分析器程序\Code\ctrlext.inl

     文件       1181  2005-11-08 13:22  协议分析器程序\Code\FilterSettingDlg.cpp

     文件       1634  2005-11-08 13:22  协议分析器程序\Code\FilterSettingDlg.h

     文件       1194  2005-11-12 12:07  协议分析器程序\Code\HardwareFilterPage.cpp

     文件       1343  2005-11-12 12:06  协议分析器程序\Code\HardwareFilterPage.h

     文件       2218  2007-01-24 22:07  协议分析器程序\Code\InitializeSettingDlg.cpp

     文件       1436  2005-11-06 09:51  协议分析器程序\Code\InitializeSettingDlg.h

     文件       3093  2005-11-12 12:07  协议分析器程序\Code\layer23FilterPage.cpp

     文件       1465  2005-11-12 12:06  协议分析器程序\Code\layer23FilterPage.h

     文件       1520  2005-11-12 12:07  协议分析器程序\Code\MacAddrFilterPage.cpp

     文件       1412  2005-11-12 12:06  协议分析器程序\Code\MacAddrFilterPage.h

     文件       4193  2007-02-14 16:04  协议分析器程序\Code\MainFrm.cpp

     文件       1638  2005-11-09 16:07  协议分析器程序\Code\MainFrm.h

     文件       4608  2007-02-16 10:53  协议分析器程序\Code\MyEditView.cpp

     文件       1849  2007-01-24 22:48  协议分析器程序\Code\MyEditView.h

     文件      13570  2007-02-16 10:48  协议分析器程序\Code\MyListView.cpp

     文件       2321  2007-01-24 22:54  协议分析器程序\Code\MyListView.h

     文件      21524  2007-02-20 16:29  协议分析器程序\Code\MyTreeView.cpp

     文件       2892  2006-11-04 09:42  协议分析器程序\Code\MyTreeView.h

     文件      52096  2007-06-29 12:11  协议分析器程序\Code\ProtocolAnalyzer.aps

     文件       5379  2007-06-29 13:24  协议分析器程序\Code\ProtocolAnalyzer.clw

     文件       4272  2005-11-05 11:53  协议分析器程序\Code\ProtocolAnalyzer.cpp

     文件       6288  2007-06-27 19:29  协议分析器程序\Code\ProtocolAnalyzer.dsp

     文件        557  2005-11-02 19:38  协议分析器程序\Code\ProtocolAnalyzer.dsw

     文件       1466  2006-11-04 20:06  协议分析器程序\Code\ProtocolAnalyzer.h

     文件     648192  2010-05-05 21:29  协议分析器程序\Code\ProtocolAnalyzer.ncb

     文件     103424  2010-05-05 21:29  协议分析器程序\Code\ProtocolAnalyzer.opt

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

评论

共有 条评论