一般来说:“自定义IP头是通过使用socket的库函数setsockopt()的选项IP_HDRINCL来实现的”,但是由于Winsock1.1和Winsock2.0函数库里setsockopt()不支持IP_HDRINCL选项,而windows xp sp2以后又检查了源地址源端口等信息,使得这种方法十分不好用,问一下大家,有什么好办法使得各种windows版本下都能够实现发包没有?请大家指教(隐约感觉驱动应该可以,但是没有做过,怎么入手,请指教)
解决方案 »
- 修改子键键值
- VS2005多字节项目中char数组转换CString的问题。
- 错误error LNK2001: unresolved external symbol __GSHandlerCheck,救救我啊。。。
- 请问,请问 MFC程序为什么不能execute??????
- 请求多媒帮助
- 哪里有介绍hash算法的代码!和hash算法的介绍!
- 一个中型的系统,大家帮我看看我的数据库选择方案是不是可以,先谢了
- WindowFromPoint 一问
- 怎么绘制自己的菜单条!答对加分!
- 动态库so中使用了pthread,使用dlcllose卸载库,再usleep(5000)会导致segmentation fault
- 求助:如何获取浮动工具栏?
- 高手帮忙:DLL能输出类(class)吗?
使用raw socket,lz google一下吧
根据这个网页提到的:http://www.xfocus.net/articles/200202/343.html“
SOCKET sock;
sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP);
或者:
s = WSASoccket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED); 这里,我们设置了SOCK_RAW标志,表示我们声明的是一个原始套接字类型。创建原始套接字后,IP头就会包含在接收的数据中,如果我们设定 IP_HDRINCL 选项,那么,就需要自己来构造IP头。”我们要改变IP头,必须要设置IP_HDRINCL 选项,而IP_HDRINCL 选项便是我在原贴中提到的情况,请问,还有别的解决办法没有?另外:请jiangsheng(蒋晟.Net[MVP])能不能说得清楚点,谢谢
可以满足你的要求
下面是官方介绍
NDIS connection-less protocol driver sample
SUMMARYThis sample demonstrates a connection-less NDIS 5.0/5.1 protocol driver. The driver supports sending and receiving raw Ethernet frames using ReadFile/WriteFile calls from user-mode. As an NDIS protocol, it illustrates how to establish and tear down bindings to Ethernet adapters, i.e. those that export medium type NdisMedium802_3. It shows how to set a packet filter, send and receive data, and handle plug-and-play events. It also shows use of the following NDIS 5.1 features/APIs:1. Canceling sends2. NdisQueryPendingIOCount()The sample works on Windows 2000, Windows XP, and Windows Server 2003 32-bit and 64-bit platforms.这个驱动你完全可以直接用
不必作任何改动,自己把 Ring 3 部分改改就行了
很简单
呵呵
df8327(DF) :我看一下,如果行就给你分
winpcap就是基于这个东西
你仔细看看吧