MySnifferDlg.h
上传用户:bjaaa555
上传日期:2009-10-18
资源大小:33k
文件大小:5k
- // MySnifferDlg.h : header file
- //
- #if !defined(AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_)
- #define AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- /////////////////////////////////////////////////////////////////////////////
- // CMySnifferDlg dialog
- #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
- /*
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ]IHL] Version ]Type of Service] Total Length ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Identification ]Flags] Fragment Offset ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Time to Live ] Protocol ] Header Checksum ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Source Address ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Destination Address ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] TCP header, then your data ...... ]
- ] ]
- */
- /* IP Protocol Header */
- typedef struct _IPHEADER {
- unsigned char header_len:4;
- unsigned char version:4;
- unsigned char type_of_service;
- unsigned short total_len;
- unsigned short unique_ident;
- unsigned short flags;
- unsigned char time_to_live;
- unsigned char proto;
- unsigned short checksum;
- unsigned int sourceIP;
- unsigned int destIP;
- }IPHEADER;
- /* Transffer level protocol flags, */
- #define IPPROTO_IP 0 //IP
- #define IPPROTO_ICMP 1 //ICMP
- #define IPPROTO_IGMP 2 //Internet Group Management Protocol
- #define IPPROTO_GGP 3 //gateway^2 (deprecated)
- #define IPPROTO_TCP 6 //TCP
- #define IPPROTO_PUP 12 //PUP?
- #define IPPROTO_UDP 17 //User datagram protocol
- #define IPPROTO_IDP 22 //xns idp?
- #define IPPROTO_ND 77 //UNOFFICIAL NET DISK PROTO
- #define IPPROTO_RAW 255 //raw IP Packet
- #define IPPROTO_MAX 256
- #define PROTO_NUM 11
- typedef struct _PROTN2T
- {
- int proto;
- char *pprototext;
- }PROTN2T;
- /*
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Source Port ] Destination Port ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Sequence Number ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Acknowledgment Number ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Data ] ]U]A]P]R]S]F] ]
- ] Offset] Reserved ]R]C]S]S]Y]I] Window ]
- ] ] ]G]K]H]T]N]N] ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] Checksum ] Urgent Pointer ]
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- ] your data ... next 500 octets ]
- ] ...... ]
- */
- /* TCP Header */
- typedef struct TCPPacketHead {
- WORD SourPort;
- WORD DestPort;
- DWORD SeqNo;
- DWORD AckNo;
- BYTE HLen;
- BYTE Flag;
- WORD WndSize;
- WORD ChkSum;
- WORD UrqPtr;
- }TCPHEADER;
- #define TCP_URG 0x20 /* TCP URG */
- #define TCP_ACK 0x10 /* TCP ACK */
- #define TCP_PSH 0x08 /* TCP PSH */
- #define TCP_RST 0x04 /* TCP RST */
- #define TCP_SYN 0x02 /* TCP SYN */
- #define TCP_FIN 0x01 /* TCP FIN */
- typedef struct ICMPPacketHead {
- BYTE Type;
- BYTE Code;
- WORD ChkSum;
- }ICMPHEADER;
- #define ICMP_HEAD_LEN 4 /* ICMP head length */
- typedef struct UDPPacketHead {
- WORD SourPort;
- WORD DestPort;
- WORD Len;
- WORD ChkSum;
- }UDPHEADER;
- #define UDP_HEAD_LEN 8 /* UDP head length */
- class CMySnifferDlg : public CDialog
- {
- // Construction
- public:
- CMySnifferDlg(CWnd* pParent = NULL); // standard constructor
- DWORD m_ipsource; // IP in net format
- DWORD m_iphostsource; // same IP in host format
- DWORD m_ipcheckedhost;
- DWORD m_threadID;
- SOCKET m_s;
- friend UINT threadFunc(LPVOID p);
- void AddData(CString s0, CString s1, CString s2, CString s3, CString s4, CString s5, CString s6);
- // Dialog Data
- //{{AFX_DATA(CMySnifferDlg)
- enum { IDD = IDD_MYSNIFFER_DIALOG };
- CButton m_Start;
- CListCtrl m_ListCtrl;
- //}}AFX_DATA
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CMySnifferDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
- // Implementation
- protected:
- HICON m_hIcon;
- // Generated message map functions
- //{{AFX_MSG(CMySnifferDlg)
- virtual BOOL OnInitDialog();
- afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
- afx_msg void OnPaint();
- afx_msg HCURSOR OnQueryDragIcon();
- afx_msg void OnButton1();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_MYSNIFFERDLG_H__DC1B5700_C47B_4BC4_8349_2DD2A0627BE5__INCLUDED_)