⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sockhelper.h

📁 察看本机所有的网络包的程序
💻 H
字号:
/* -------------------------------- FILE HEADER --------------------------------
//
// Copyright (c) One2Three4 Corporation. All Rights Reservesd.
//
// File        : SockHelper.h
//
// Project     : Library.
//
// Description : Header file for the class CSockHelper.
//
// History     : 11-15-2002 Created. By RedTom.
//
// ---------------------------------------------------------------------------*/

#ifndef _CSOCKHELPER_H_
#define _CSOCKHELPER_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SockSupport.h"

// Initialize the socket environment.
static CSockSupport g_sockSpt;

typedef void (CALLBACKONRECVDATA)(void* pTheOwner,
								  char* pData,
								  int   len);

const DEFAULT_CAP_PORT = 56789;

typedef struct _tagNETDATA
{
	int   ndLen;
	char* ndBuf;
	_tagNETDATA()
	{
		ndLen = 0;
		ndBuf = NULL;
	}
}NETDATA, *PNETDATA;

class CSockHelper  
{
public:
	CSockHelper();
	virtual ~CSockHelper();

	// Helper for capturing net packets.
	// Initialize the callback function for capturing.
	void InitForCap(void* pTheOwner, CALLBACKONRECVDATA* pfOnRecvData);
	int  StartCapture(int capPort = DEFAULT_CAP_PORT, bool hasHeader = true);
	void StopCapture();
	int ParseIPPack(char* pData, int len,
		char* szProtocol, char* szSource, char* szDest, int* pHeaderLen);
	
	void SendPseudoTCPData();
	void SendPseudoUDPData();
	void Ping();

	static char* GetLocalIP(void);

protected:
	static DWORD WINAPI CaptureThread(LPVOID ctx);
	char* CheckProtocol(int iProtocol);

	HANDLE m_hCapThread;
	bool   m_bCaptureThreadRun;
	SOCKET m_sockCap;
	int    m_nCapPort;
	

private:
	void*               m_pTheOwner;
	CALLBACKONRECVDATA* m_pfOnRecvData;
};

#endif // !defined(_CSOCKHELPER_H_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -