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

📄 protohdr.h

📁 可探索指定IP地址段内的所有OICQ用户号码
💻 H
字号:
/****************************************************************************
 * Written by Sang-Eun Han (seh@brabo1.korea.ac.kr).
 * 
 * Date :
 *
 * Filename : protohdr.h
 *
 *
 * PERMISSION IS GRANTED TO USE, COPY AND DISTRIBUTE THIS SOFTWARE FOR ANY 
 * PURPOSE EXCEPT FOR A BUSINESS OR COMMERCIAL PURPOSE, AND WITHOUT FEE, PROVIDED, 
 * THAT THE ABOVE COPYRIGHT NOTICE AND THIS STATEMENT APPEAR IN ALL COPIES.
 * I MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS
 * SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS PROVIDED "AS IS."
 *
 */

#ifndef	_PROTOCOL_HEADER_H_
#define	_PROTOCOL_HEADER_H_

// Ethernet Frame Header
typedef	struct	_ETHERNET_HDR {
	UCHAR	Destination[6];
	UCHAR	Source[6];
	UCHAR	Protocol[2];
	UCHAR	Data[1];
} ETHERNET_HDR, *PETHERNET_HDR;

//rfc1340
#define PROTO_IP		(0x0800)
#define	PROTO_ARP		(0x0806)
#define	PROTO_XNS		(0x0600)
#define	PROTO_SNMP		(0x814C)
#define	PROTO_OLD_IPX	(0x8137)
#define	PROTO_NOVELL	(0x8138)
#define	PROTO_IPNG		(0x86DD)


#define	OFFSET_IP	(14)

// IPv4 Header
typedef	struct	_IP_RHDR {
	UCHAR	VerLen;
	UCHAR	Service;
	UCHAR	Length[2];
	UCHAR	Ident[2];
	UCHAR	Flagoff[2];
	UCHAR	Timelive;
	UCHAR	Protocol;
	UCHAR	Checksum[2];
	UCHAR	Source[4];
	UCHAR	Destination[4];
	UCHAR	Data[1];
} IP_RHDR, *PIP_RHDR;

// IPv6 Header
typedef	struct	_IPNG_RHDR {
	UCHAR	VerPrio;
	UCHAR	FlowLabel[3];
	UCHAR	Length[2];
	UCHAR	NextHdr;
	UCHAR	HopLimit;
	UCHAR	Source[16];
	UCHAR	Destination[16];
	UCHAR	Data[1];
} IPNG_RHDR, *PIPNG_RHDR;

// TCP Header, RFC793
typedef	struct	_TCP_RHDR {
	UCHAR	Source[2];
	UCHAR	Destination[2];
	UCHAR	Seq[4];
	UCHAR	Ack[4];
	UCHAR	Rsvd0:4;
	UCHAR	Offset:4;
	UCHAR	Flags:6;
	UCHAR	Rsvd1:2;
	UCHAR	Window[2];
	UCHAR	Checksum[2];
	UCHAR	UrgPoint[2];
	UCHAR	Data[1];
} TCP_RHDR, *PTCP_RHDR;
#define	TCP_FLAG_FIN	0x01
#define	TCP_FLAG_SYN	0x02
#define	TCP_FLAG_RST	0x04
#define	TCP_FLAG_PSH	0x08
#define	TCP_FLAG_ACK	0x10
#define	TCP_FLAG_URG	0x20

#define	PROTO_TCP	(6)

// UDP Header
typedef	struct	_UDP_RHDR {
	UCHAR	Source[2];
	UCHAR	Destination[2];
	UCHAR	Length[2];
	UCHAR	Checksum[2];
	UCHAR	Data[1];
} UDP_RHDR, *PUDP_RHDR;


// Pseudo Header for evaluating TCP/UDP Checksum
typedef	struct	_PSU_RHDR {
	UCHAR	Source[4];
	UCHAR	Destination[4];
	UCHAR	Zero;
	UCHAR	Protocol;
	UCHAR	Length[2];
	UCHAR	Data[1];
} PSU_RHDR, *PPSU_RHDR;


//Borland CBuilder is 32 bit Win App
//#ifdef	WIN32
#define	TOUSHORT(x)	(USHORT)(*(x)<<8|*(x+1))
#define	TOULONG(x)	(ULONG)(*(x)<<24|*(x+1)<<16|*(x+2)<<8|*(x+3))
//#else
//#define	TOUSHORT(x)	(*(USHORT *)x)	//Big-Endian
//#define	TOULONG(x)	(*(ULONG *)x)
//#endif


#endif	/* _PROTOCOL_HEADER_H_ */

⌨️ 快捷键说明

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