[讨论]数据包需要几个头文件
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])需要几个头文件,谁有给我用一下。。
努力学习,艰苦奋斗! 在
Microsoft Windows XP Professional Chinese Simplified Service Packet 2
Microsoft Windows XP Professional Chinese Simplified Service Packet 1 Russia Cracked Version
网络卡混杂模式 WinPcap3.1Beta4
环境下
测试失败 运行后没反应
目前可以测试的环境 具备条件的
Microsoft Windows 98 Second Edition Chinese Simplified Released
Microsoft Windows XP Professional Chinese Simplified Service Packet 2 Released
Microsoft Windows XP Professional Chinese Simplified Service Packet 1 Russia Cracked Version Pirate
Microsoft Windows XP Professional English Version Pirate
Microsoft Windows 2000 Professional Chinese Traditional Service Packet 4 Pirate
Microsoft Windows 2000 Professional Chinese Simplified Service Packet 4 Pirate
Microsoft Windows 2000 Professional English Version Service Packet 4 Pirate
Microsoft Windows 2000 Advanced Server Chinese Simplified Service Packet 4 Pirate
Microsoft Windows Server 2003 Enterprise Edition Chinese Simplified Pirate
Redhat Linux 9 Chinese Simplified Commercial Released
FreeBSD 5.3 Chinese Simplified Released [url]http://wmjie.51.net/swords/nettools/testsniffer.cpp[/url]
#include <ws2tcpip.h>
#include <mstcpip.h>
这两个文件我在系统include 文件夹里没有找到,郁闷啊。
这是怎么回事?? MSTcpIP.h
[code]// Copyright (C) Microsoft Corporation, 1996-1999
#if _MSC_VER > 1000
#pragma once
#endif
/* Argument structure for SIO_KEEPALIVE_VALS */
struct tcp_keepalive {
u_long onoff;
u_long keepalivetime;
u_long keepaliveinterval;
};
// New WSAIoctl Options
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
#define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2)
#define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3)
#define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4)
#define SIO_ABSORB_RTRALERT _WSAIOW(IOC_VENDOR,5)
#define SIO_UCAST_IF _WSAIOW(IOC_VENDOR,6)
#define SIO_LIMIT_BROADCASTS _WSAIOW(IOC_VENDOR,7)
#define SIO_INDEX_BIND _WSAIOW(IOC_VENDOR,8)
#define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9)
#define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10)
#define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11)
[/code] WS2TCPIP.H这个VC6.0里我记得有来着
[code]
/*
** WS2TCPIP.H - WinSock2 Extension for TCP/IP protocols
**
** This file contains TCP/IP specific information for use
** by WinSock2 compatible applications.
**
** To provide the backward compatibility, all the TCP/IP
** specific definitions that were included in the WINSOCK.H
** file are now included in WINSOCK2.H file. WS2TCPIP.H
** file includes only the definitions introduced in the
** "WinSock 2 Protocol-Specific Annex" document.
**
** Rev 0.3 Nov 13, 1995
** Rev 0.4 Dec 15, 1996
*/
#ifndef _WS2TCPIP_H_
#define _WS2TCPIP_H_
/* Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP */
struct ip_mreq {
struct in_addr imr_multiaddr; /* IP multicast address of group */
struct in_addr imr_interface; /* local IP address of interface */
};
/* TCP/IP specific Ioctl codes */
#define SIO_GET_INTERFACE_LIST _IOR('t', 127, u_long)
/* Option to use with [gs]etsockopt at the IPPROTO_IP level */
#define IP_OPTIONS 1 /* set/get IP options */
#define IP_HDRINCL 2 /* header is included with data */
#define IP_TOS 3 /* IP type of service and preced*/
#define IP_TTL 4 /* IP time to live */
#define IP_MULTICAST_IF 9 /* set/get IP multicast i/f */
#define IP_MULTICAST_TTL 10 /* set/get IP multicast ttl */
#define IP_MULTICAST_LOOP 11 /*set/get IP multicast loopback */
#define IP_ADD_MEMBERSHIP 12 /* add an IP group membership */
#define IP_DROP_MEMBERSHIP 13/* drop an IP group membership */
#define IP_DONTFRAGMENT 14 /* don't fragment IP datagrams */
/* Option to use with [gs]etsockopt at the IPPROTO_UDP level */
#define UDP_NOCHECKSUM 1
/* Option to use with [gs]etsockopt at the IPPROTO_TCP level */
#define TCP_EXPEDITED_1122 0x0002
/* IPv6 definitions */
struct in_addr6 {
u_char s6_addr[16]; /* IPv6 address */
};
struct sockaddr_in6 {
short sin6_family; /* AF_INET6 */
u_short sin6_port; /* Transport level port number */
u_long sin6_flowinfo; /* IPv6 flow information */
struct in_addr6 sin6_addr; /* IPv6 address */
};
typedef struct in_addr6 IN6_ADDR;
typedef struct in_addr6 *PIN6_ADDR;
typedef struct in_addr6 FAR *LPIN6_ADDR;
typedef struct sockaddr_in6 SOCKADDR_IN6;
typedef struct sockaddr_in6 *PSOCKADDR_IN6;
typedef struct sockaddr_in6 FAR *LPSOCKADDR_IN6;
#define IN6ADDR_SETANY(x) {\
(x)->sin6_family = AF_INET6; \
(x)->sin6_port = 0; \
(x)->sin6_flowinfo = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 0; \
}
#define IN6ADDR_SETLOOPBACK(x) {\
(x)->sin6_family = AF_INET6; \
(x)->sin6_port = 0; \
(x)->sin6_flowinfo = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \
*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 1; \
}
#define IN6ADDR_ISANY(x) ( \
(x)->sin6_family == AF_INET6 && \
*((u_long *)((x)->sin6_addr.s6_addr) ) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 1) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 2) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 3) == 0 \
)
#define IN6ADDR_ISLOOPBACK(x) (\
(x)->sin6_family == AF_INET6 && \
*((u_long *)((x)->sin6_addr.s6_addr) ) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 1) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 2) == 0 && \
*((u_long *)((x)->sin6_addr.s6_addr) + 3) == 1 \
)
typedef union sockaddr_gen{
struct sockaddr Address;
struct sockaddr_in AddressIn;
struct sockaddr_in6 AddressIn6;
} sockaddr_gen;
/* Structure to keep interface specific information */
typedef struct _INTERFACE_INFO
{
u_long iiFlags; /* Interface flags */
sockaddr_gen iiAddress; /* Interface address */
sockaddr_gen iiBroadcastAddress; /* Broadcast address */
sockaddr_gen iiNetmask; /* Network mask */
} INTERFACE_INFO, FAR * LPINTERFACE_INFO;
/* Possible flags for the iiFlags - bitmask */
#define IFF_UP 0x00000001 /* Interface is up */
#define IFF_BROADCAST 0x00000002 /* Broadcast is supported */
#define IFF_LOOPBACK 0x00000004 /* this is loopback interface */
#define IFF_POINTTOPOINT 0x00000008 /*this is point-to-point interface*/
#define IFF_MULTICAST 0x00000010 /* multicast is supported */
#endif /* _WS2TCPIP_H_ */
[/code] 我的include里 WS2TCPIP.H 文件,但是没有MSTcpIP.h 这个文件。。
怎么回事啊?是不是 MSTcpIP.h 这个文件是自己写的? vs.net2003中有MSTcpIP.h这个头文件,这个不是自己写的,看看MSTcpIP.h的源码:
// Copyright (C) Microsoft Corporation, 1996-1999
#if _MSC_VER > 1000
#pragma once
#endif
。。。。。。
。。。。。。 ths, 我用的是vs 6.0 难怪找不到。谢谢恶猫。 Raw的嗅探 不用这些头文件 只需要一个宏
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
包括winsock2.h就行了 谢谢恶猫,成功了。。。高兴银。。 [quote][b]下面是引用dahubaobao于2005-01-12 18:03发表的:[/b]
Raw的嗅探 不用这些头文件 只需要一个宏
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
包括winsock2.h就行了[/quote]
我刚开始这样写的,但是没有反映。。。
现在行了。。。
C:\Debug>sniffer
混杂模式设置成功....
开始捕获数据包....
捕获数据包1:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 10.10.37.49
目的地址: 61.141.194.231
来源端口: 4000
目的端口: 8000
数据包长度: 64
捕获数据包2:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 61.141.194.231
目的地址: 10.10.37.49
来源端口: 8000
目的端口: 4000
数据包长度: 84
捕获数据包3:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 10.10.37.49
目的地址: 61.141.194.231
来源端口: 4000
目的端口: 8000
数据包长度: 200
捕获数据包4:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 61.141.194.231
目的地址: 10.10.37.49
来源端口: 8000
目的端口: 4000
数据包长度: 68
捕获数据包5:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 10.10.37.49
目的地址: 61.141.194.231
来源端口: 4000
目的端口: 8000
数据包长度: 416
捕获数据包6:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 61.141.194.231
目的地址: 10.10.37.49
来源端口: 8000
目的端口: 4000
数据包长度: 68
捕获数据包7:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 10.10.37.49
目的地址: 61.141.194.231
来源端口: 4000
目的端口: 8000
数据包长度: 64
捕获数据包8:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 61.141.194.231
目的地址: 10.10.37.49
来源端口: 8000
目的端口: 4000
数据包长度: 84
捕获数据包9:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 10.10.37.49
目的地址: 61.141.194.231
来源端口: 4000
目的端口: 8000
数据包长度: 64
捕获数据包10:
按Ctrl+C停止捕获!
协议类型: 17
来源地址: 61.141.194.231
目的地址: 10.10.37.49
来源端口: 8000
目的端口: 4000
数据包长度: 84
捕获数据包11:
按Ctrl+C停止捕获! 我发现不能检测其他包,只能检测自己机器的包。。。。 在我的机器上不行 因为我机器上一共4快网卡
程序需要完善啊 呵呵! 机器上一共4快网卡,没有碰见过这么多网卡的,哈哈
那怎么知道设置那块?看来还要好好研究一下,学习找资料中。。。 现在都不用WinPcap嗅了
页:
[1]