Raw Socket(原始套接字)实现Sniffer(嗅探)(3) ---------------------------------------------------------------- Acknowledgement number ---------------------------------------------------------------- Offset Resrvd UAPRSF Window ---------------------------------------------------------------- Checksum Urgent pointer ---------------------------------------------------------------- Option + Padding ---------------------------------------------------------------- Data ----------------------------------------------------------------
五. 实现 Sniffer OK! 现在都清楚了, 还等什么. 下面是我用 BCB6 写的一个 Simple Sniffer 的代码, 仅供参考. (需要在工程文件里加入WS2_32.LIB这个文件) //*************************************************************************// //* CPP File: WMain.cpp //* Simple Sniffer by shadowstar //* http://shadowstar.126.com/ //*************************************************************************// #include <vcl.h> #pragma hdrstop
#include <winsock2.h> #include <ws2tcpip.h> #include <mstcpip.h> #include <netmon.h> #include "WMain.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent* Owner)