没有合适的资源?快使用搜索试试~ 我知道了~
首页ip数据包捕获程序设计实验 mfc
ip数据包捕获程序设计实验 mfc
需积分: 31 354 浏览量
更新于2023-05-27
评论 1
收藏 18KB DOC 举报
捕获网络中的IP数据包,解析数据包的内容,并将结果显示出来。 (2) 显示内容包括:捕获的IP包的版本、源地址、目的地址、源端口、目的端口、协议类型、IP包总长度、IP包头总长度、IP数据包长度等内容。 (3) 设置停止标志,当程序接受到停止命令时即停止。
资源详情
资源评论
资源推荐

实现步骤
步骤 1. 创建一个基于对话框的应用程序 PackCapture
步 骤 2. 添 加 控 件
IDC_EDIT_COUNT,IDC_EDIT_PACKET,IDC_BTN_CAPTURE
以及静态控件 Capture Number,Capture Information。
设置对话框标题为 “数据包捕获程序”。
步骤 3. 为以下控件增加 Value 变量
控件 IDC_EDIT_COUNT 变量 int m_Count
控件 IDC_EDIT_PACKET 变量 CString m_Packet
步骤 4. 在 stdafx.h 增加以下十二行:
#include "winsock2.h"
#include "ws2tcpip.h"
#pragma comment(lib,"ws2_32.lib")
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
#define IPV4_VERSION 4
#define IPV6_VERSION 6
#define ICMP_PACKET 1
#define IGMP_PACKET 2
#define TCP_PACKET 6
#define EGP_PACKET 8
#define UDP_PACKET 17
#define OSPF_PACKET 89
步骤 5. 为 CPackCaptureDlg 增加以下 private 类型的结构体定义:
typedef struct IP_HEAD //IP 头部结构
{
union
{
unsigned char Version; //版本(字节前 4 位)
unsigned char HeadLen; //头部长度(字节后 4 位)
};
unsigned char ServiceType; //服务类型
unsigned short TotalLen; //总长度
unsigned short Identifier; //标识符
union
{
unsigned short Flags; //标志位(字前 3 位)
unsigned short FragOffset; // 片偏移(字后 13 位)
};
unsigned char TimeToLive; //生存周期
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0