📄 ipmondlg.h
字号:
// ipmonDlg.h : header file
//
#if !defined(AFX_IPMONDLG_H__47076949_0324_11D5_924F_00010219EDF4__INCLUDED_)
#define AFX_IPMONDLG_H__47076949_0324_11D5_924F_00010219EDF4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef struct _PROTN2T
{
int proto ; //协议标识
char *pprototext ; //名称
}PROTN2T ;
#define PROTO_NUM 11
/* The IP header */
typedef struct _IPHEADER {
unsigned char header_len:4;//版本及首部长度
unsigned char version:4; //数据报类型
unsigned char tos; // 服务类型
unsigned short total_len; // 数据包大小
unsigned short ident; // 数据报标识
unsigned short flags; //标志及片偏移
unsigned char ttl; //生存时间
unsigned char proto; //协议
unsigned short checksum; //首部校验和
unsigned int sourceIP; //源地址
unsigned int destIP; //目的地址
}IPHEADER;
//定义UDP头部长度
#define UDP_HEAD_LEN 8 /* UDP head length */
//#define PSEUDO_HEAD_LEN 12 /* Pseudo head length */
//定义ICMP头部长度
#define ICMP_HEAD_LEN 4 /* ICMP head length */
struct TCPPacketHead {
WORD SourPort;//源端口
WORD DestPort;//目的端口
DWORD SeqNo;//序号
DWORD AckNo;//确认号
BYTE HLen;//数据偏移,数据起始处距离报文段起始处有多远
BYTE Flag;//控制比特位
WORD WndSize;//窗口大小,用于控制对方发送的数据量
WORD ChkSum;//检验和
WORD UrgPtr;//紧急指针
};
struct ICMPPacketHead {
BYTE Type;//报文类型
BYTE Code;//代码
WORD ChkSum;//检验和
};
struct UDPPacketHead {
WORD SourPort;//源端口
WORD DestPort;//目的端口
WORD Len;//UDP数据报长度
WORD ChkSum;//检验和
};
///////////////////////////CString类型的包结构体,用来存储包内容用在treeview中//////////////////////////////////
typedef struct _CSTRING_IP {
CString headerlen; //版本及首部长度
CString strversion; //数据报类型
CString strtos; // 服务类型
CString totallen; // 数据包大小
CString identf; // 数据报标识
CString flag; //标志及片偏移
CString ttlen; //生存时间
CString pro; //协议
CString checksum; //首部校验和
CString sourceip; //源地址
CString destip; //目的地址
int nextpro;
}CSTRING_IP;
typedef struct CSTRING_TCP{
CString sourport;//源端口
CString destport;//目的端口
CString seqno;//序号
CString ackno;//确认号
CString headlen; //头长
CString dlen;//数据长度
CString hlen;//数据偏移,数据起始处距离报文段起始处有多远
CString flag;//控制比特位
CString wndsize;//窗口大小,用于控制对方发送的数据量
CString chksum;//检验和
CString urgptr;//紧急指针
}CSTRING_TCP;
typedef struct CSTRING_ICMP{
CString sport;
CString dport;
CString type;//报文类型
CString code;//代码
CString chksum;//检验和
CString hlen; //头长
CString dlen;//数据长度
}CSTRING_ICMP;
typedef struct CSTRING_UDP{
CString sourport;//源端口
CString destport;//目的端口
CString len;//UDP数据报长度
CString dlen;//数据长度
CString chksum;//检验和
}CSTRING_UDP;
/////////////////////////////////////////////////////////////////////////////
// CIpmonDlg dialog
class CIpmonDlg : public CDialog
{
// Construction
public:
void showtree(int n);
void showcount();
void AddData(char *s,CString s0,CString s1,CString s2,CString s3,CString s4,CString s5,CString s6);
CIpmonDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CIpmonDlg)
enum { IDD = IDD_IPMON_DIALOG };
CProgressCtrl m_pro_other;
CProgressCtrl m_pro_icmp;
CProgressCtrl m_pro_tcp;
CProgressCtrl m_pro_udp;
CTreeCtrl m_tree;
CListCtrl m_ctrList;
CButton m_start;
CString m_edit;
CString m_edit_tcp;
CString m_edit_udp;
CString m_edit_icmp;
CString m_edit_all;
CString m_edit_other;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CIpmonDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
DWORD m_ipsource ; // IP in net format
DWORD m_iphostsource ; // same IP in host format
DWORD m_iphost;
DWORD m_ipcheckedhost;
SOCKET m_s ;
DWORD m_threadID ;
BOOL m_Multihomed ;
BOOL m_Local ;
CDWordArray m_IPArr ;
friend UINT threadFunc ( LPVOID p ) ;
// Generated message map functions
//{{AFX_MSG(CIpmonDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnStart();
afx_msg void OnStop();
afx_msg void OnExit();
afx_msg void OnClickList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_IPMONDLG_H__47076949_0324_11D5_924F_00010219EDF4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -