|
Raw Socket(原始套接字)实现Sniffer(嗅探)(6) { switch (Protocol) { case IPPROTO_ICMP : //1 /* control message protocol */ return PROTOCOL_STRING_ICMP_TXT; case IPPROTO_TCP : //6 /* tcp */ return PROTOCOL_STRING_TCP_TXT; case IPPROTO_UDP : //17 /* user datagram protocol */ return PROTOCOL_STRING_UDP_TXT; default : return PROTOCOL_STRING_UNKNOWN_TXT; } } //--------------------------------------------------------------------------- //*************************************************************************// //* Header File: WMain.h for WMain.cpp class TMainForm //*************************************************************************// //--------------------------------------------------------------------------- #ifndef WMainH #define WMainH //--------------------------------------------------------------------------- #define BUFFER_SIZE 65535 #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ComCtrls.hpp> #include <ExtCtrls.hpp> #include <winsock2.h> #include "netmon.h" //--------------------------------------------------------------------------- class TMainForm : public TForm { __published: // IDE-managed Components TPanel *Panel1; TButton *btnCtrl; TListView *lsvPacket; TLabel *Label1; void __fastcall btnCtrlClick(TObject *Sender);
|