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

📄 ip.h

📁 一个简单的sniffer,下载后请用winrar
💻 H
字号:
/*  IP structure defination 
        Written by HiHint */

#define BUFFER_SIZE 16384
#define READ 1
#define WRITE 2

#define ETHER_PROTO_IP 0x0800	/* Ethernet protocol IP */
#define ETHER_PROTO_ARP 0x0806	/* Ethernet protocol ARP */
#define ETHER_HEAD_LEN	14/* Ethernet head length */

#define ARP_HARD_TYPE 1	/* Ethernet card*/
#define ARP_PROTO_TYPE 0x0800	/* IP protocol */
#define ARP_HARD_ADDR_LEN 6	/* Ethernet card address length */
#define ARP_ADDR_LEN 4	/* IP protocol address length */
#define ARP_OPER_ARP_REQ 1	/* Arp request */
#define ARP_OPER_ARP_ANS 2	/* Arp answer */
#define ARP_OPER_RARP_REQ 3	/* Rarp request */
#define ARP_OPER_RARP_ANS 4	/* Rarp answer */
#define ARP_PACKET_LEN 28	/* Arp packet length */

#define IP_VER 4	/* IP version */
#define IP_HEAD_LEN 5	/* IP head length */
#define IP_SERV_TYPE 0	/* IP service type */
#define IP_PROTO_TCP 6	/* TCP protocol */
#define IP_PROTO_UDP 17	/* UDP protocol */
#define IP_PROTO_ICMP 1	/* ICMP protocol */
#define IP_PAD 0	/* IP pseudohead padding */
#define IP_MF 0x4000	/* IP MF */
#define IP_DF 0x2000	/* IP DF */
#define IP_FLAG_MASK 0x1fff	/* IP flagoffset mask */
#define IP_HEAD_BYTE_LEN 20	/* IP head length in byte */

#define TCP_HEAD_LEN 5	/* TCP head length */
#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 */
#define TCP_HEAD_BYTE_LEN 20	/* TCP head length in byte */

#define UDP_HEAD_LEN 8	/* UDP head length */

#define PSEUDO_HEAD_LEN 12	/* Pseudo head length */

#define ICMP_HEAD_LEN 4	/* ICMP head length */

struct EtherAddr {
	unsigned char AddrByte[6];
};

struct EtherPacketHead {
	struct EtherAddr DestEther;
	struct EtherAddr SourEther;
	unsigned short ServType;
};

struct IPAddr {
		unsigned char AddrByte[4];
};

struct IPPacketHead {
	BYTE VerHLen;
	BYTE Type;
	WORD TtlLen;
	WORD Id;
	WORD FlgOff;
	BYTE TTL;
	BYTE Proto;
	WORD ChkSum;
	struct IPAddr SourIP;
	struct IPAddr DestIP;
};

struct TCPPacketHead {
	WORD SourPort;
	WORD DestPort;
	DWORD SeqNo;
	DWORD AckNo;
	BYTE HLen;
	BYTE Flag;
	WORD WndSize;
	WORD ChkSum;
	WORD UrgPtr;
};

struct ICMPPacketHead {
	BYTE Type;
	BYTE Code;
	WORD ChkSum;
};

struct UDPPacketHead {
	WORD SourPort;
	WORD DestPort;
	WORD Len;
	WORD ChkSum;
};

struct PseudoHead {
	struct IPAddr SourIP;
	struct IPAddr DestIP;
	BYTE Pad;
	BYTE Proto;
	WORD Len;
};

struct ARPPacket {
	 WORD Type;
	 WORD Proto;
	 BYTE HardAddrLen;
	 BYTE AddrLen;
	 WORD Oper;
	 struct EtherAddr SourEther;
	 struct IPAddr SourIP;
	 struct EtherAddr DestEther;
	 struct IPAddr DestIP;
};

struct PacketTable {
	HANDLE hEvent;
	BOOL Active;
	OVERLAPPED Overlap;
	DWORD Size;
	BYTE Buffer[BUFFER_SIZE];
	DWORD Length;
	WORD Type;
};



	

⌨️ 快捷键说明

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