MySnifferDlg.h
上传用户:bjaaa555
上传日期:2009-10-18
资源大小:33k
文件大小:5k
源码类别:

系统/网络安全

开发平台:

Visual C++

  1. // MySnifferDlg.h : header file
  2. //
  3. #if !defined(AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_)
  4. #define AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_
  5. #if _MSC_VER > 1000
  6. #pragma once
  7. #endif // _MSC_VER > 1000
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CMySnifferDlg dialog
  10. #define SIO_RCVALL            _WSAIOW(IOC_VENDOR,1)
  11. /*
  12.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  13.     ]IHL]  Version  ]Type of Service]          Total Length         ]
  14.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  15.     ]         Identification        ]Flags]      Fragment Offset    ]
  16.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  17.     ]  Time to Live ]    Protocol   ]         Header Checksum       ]
  18.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  19.     ]                       Source Address                          ]
  20.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  21.     ]                    Destination Address                        ]
  22.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  23.     ]  TCP header, then your data ......                            ]
  24.     ]                                                               ]
  25. */
  26. /* IP Protocol Header */
  27. typedef struct _IPHEADER {
  28. unsigned char header_len:4;
  29. unsigned char version:4;
  30. unsigned char type_of_service;
  31. unsigned short total_len;
  32. unsigned short unique_ident;
  33. unsigned short flags;
  34. unsigned char time_to_live;
  35. unsigned char proto;
  36. unsigned short checksum;
  37. unsigned int sourceIP;
  38. unsigned int destIP;
  39. }IPHEADER;
  40. /* Transffer level protocol flags, */
  41. #define IPPROTO_IP 0 //IP
  42. #define IPPROTO_ICMP 1 //ICMP
  43. #define IPPROTO_IGMP 2 //Internet Group Management Protocol
  44. #define IPPROTO_GGP 3 //gateway^2 (deprecated)
  45. #define IPPROTO_TCP 6 //TCP
  46. #define IPPROTO_PUP 12 //PUP?
  47. #define IPPROTO_UDP 17 //User datagram protocol
  48. #define IPPROTO_IDP 22 //xns idp?
  49. #define IPPROTO_ND 77 //UNOFFICIAL NET DISK PROTO
  50. #define IPPROTO_RAW 255 //raw IP Packet
  51. #define IPPROTO_MAX 256
  52. #define PROTO_NUM 11
  53. typedef struct _PROTN2T
  54. {
  55. int proto;
  56. char *pprototext;
  57. }PROTN2T;
  58. /*
  59.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  60.     ]          Source Port          ]       Destination Port        ]
  61.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  62.     ]                        Sequence Number                        ]
  63.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  64.     ]                    Acknowledgment Number                      ]
  65.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  66.     ]  Data ]           ]U]A]P]R]S]F]                               ]
  67.     ] Offset] Reserved  ]R]C]S]S]Y]I]            Window             ]
  68.     ]       ]           ]G]K]H]T]N]N]                               ]
  69.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  70.     ]           Checksum            ]         Urgent Pointer        ]
  71.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  72.     ]   your data ... next 500 octets                               ]
  73.     ]   ......                                                      ]
  74. */
  75. /* TCP Header */
  76. typedef struct TCPPacketHead {
  77. WORD SourPort;
  78. WORD DestPort;
  79. DWORD SeqNo;
  80. DWORD AckNo;
  81. BYTE HLen;
  82. BYTE Flag;
  83. WORD WndSize;
  84. WORD ChkSum;
  85. WORD UrqPtr;
  86. }TCPHEADER;
  87. #define TCP_URG 0x20 /* TCP URG */
  88. #define TCP_ACK 0x10 /* TCP ACK */
  89. #define TCP_PSH 0x08 /* TCP PSH */
  90. #define TCP_RST 0x04 /* TCP RST */
  91. #define TCP_SYN 0x02 /* TCP SYN */
  92. #define TCP_FIN 0x01 /* TCP FIN */
  93. typedef struct ICMPPacketHead {
  94. BYTE Type;
  95. BYTE Code;
  96. WORD ChkSum;
  97. }ICMPHEADER;
  98. #define ICMP_HEAD_LEN 4 /* ICMP head length */
  99. typedef struct UDPPacketHead {
  100. WORD SourPort;
  101. WORD DestPort;
  102. WORD Len;
  103. WORD ChkSum;
  104. }UDPHEADER;
  105. #define UDP_HEAD_LEN 8 /* UDP head length */
  106. class CMySnifferDlg : public CDialog
  107. {
  108. // Construction
  109. public:
  110. CMySnifferDlg(CWnd* pParent = NULL); // standard constructor
  111. DWORD  m_ipsource; // IP in net format
  112. DWORD  m_iphostsource; // same IP in host format
  113. DWORD  m_ipcheckedhost;
  114. DWORD  m_threadID;
  115. SOCKET m_s;
  116. friend UINT threadFunc(LPVOID p);
  117. void AddData(CString s0, CString s1, CString s2, CString s3, CString s4, CString s5, CString s6);
  118. // Dialog Data
  119. //{{AFX_DATA(CMySnifferDlg)
  120. enum { IDD = IDD_MYSNIFFER_DIALOG };
  121. CButton m_Start;
  122. CListCtrl m_ListCtrl;
  123. //}}AFX_DATA
  124. // ClassWizard generated virtual function overrides
  125. //{{AFX_VIRTUAL(CMySnifferDlg)
  126. protected:
  127. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  128. //}}AFX_VIRTUAL
  129. // Implementation
  130. protected:
  131. HICON m_hIcon;
  132. // Generated message map functions
  133. //{{AFX_MSG(CMySnifferDlg)
  134. virtual BOOL OnInitDialog();
  135. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  136. afx_msg void OnPaint();
  137. afx_msg HCURSOR OnQueryDragIcon();
  138. afx_msg void OnButton1();
  139. //}}AFX_MSG
  140. DECLARE_MESSAGE_MAP()
  141. };
  142. //{{AFX_INSERT_LOCATION}}
  143. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  144. #endif // !defined(AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_)