阅读:3369回复:14
如何获得在NDIS中间层截获得数据包的tcp/udp,和端口号?
是不是先剥离ip头,获得tcp包,或udp包?
|
|
|
沙发#
发布于:2004-09-19 10:46
查看TCP/IP协议规范
|
|
|
板凳#
发布于:2004-09-19 11:43
typedef struct _TCPHEAD
{ unsigned short usSrcPort; // Source Port unsigned short usDestPort; // Destination Port unsigned long ulSerialNo; // Number of Sequence unsigned long ulAckNo; // Number of aknowledge unsigned char dataOffset; // Pointer to data unsigned char flags; // Flags unsigned short windows; // Size of window unsigned short checksum; // Total checksum unsigned short urgentPointer; // Urgent pointer } TcpHead, *PTcpHead; typedef struct _UdpHead { unsigned short SourcePort; // Source Port unsigned short DestinationPort; // Destination Port unsigned short Length; // Total length unsigned short Checksum; // Total checksum } UdpHead, *PUdpHead; 取到TCP或UDP的头,然后。。。。 |
|
地板#
发布于:2004-09-20 09:22
谢谢楼上两位,结贴
|
|
|
地下室#
发布于:2004-09-20 09:27
那它先截获的的是ip包吧,是不是还有icmp包,和arp,rarp包?
|
|
|
5楼#
发布于:2004-09-20 09:42
你装个sniffer软件听一把,不就什么包的结构都清楚了么!
|
|
|
6楼#
发布于:2004-09-20 16:32
我现在需要做一个截获数据包的驱动而且要对其包结构进行分析
|
|
|
7楼#
发布于:2004-09-21 15:06
大侠,问一下,你是怎么做的呢,能不能把你地代码发过来给我看一下,谢谢了,拜托
|
|
8楼#
发布于:2004-09-21 20:26
我还没写代码,正在设计过程中。
|
|
|
9楼#
发布于:2004-09-21 20:27
我不是大虾,我是菜鸟。我也是刚接触驱动开发。
|
|
|
10楼#
发布于:2004-09-22 19:04
在Ethernet上,数据包的格式为
| Des | Src | Type | Data | Chksum | 这里Type为 0x800的是IP数据包,0x806的是ARP数据包。 如果Type是0x800的话 Data又可以是 | IP Header | IP Data | 再根据IP Header里的 Protocol来判断下面的东东~~ #define IPPROTO_IP 0 /* dummy for IP */ #define IPPROTO_ICMP 1 /* control message protocol */ #define IPPROTO_GGP 2 /* gateway^2 (deprecated) */ #define IPPROTO_TCP 6 /* tcp */ #define IPPROTO_PUP 12 /* pup */ #define IPPROTO_UDP 17 /* user datagram protocol */ #define IPPROTO_IDP 22 /* xns idp */ #define IPPROTO_ND 77 /* UNOFFICIAL net disk proto */ #define IPPROTO_RAW 255 /* raw IP packet */ #define IPPROTO_MAX 256 如果Type是0x806的时候,是ARP的结构 |
|
11楼#
发布于:2004-09-23 10:16
那怎么截获要发送的包呢??是不是在MPSendPackets这个函数中,如果是怎么做,谢谢!
|
|
12楼#
发布于:2004-09-24 00:12
又有一部分可以写入文档了
|
|
|
13楼#
发布于:2004-09-24 00:13
截获发送的数据包,应该中间层上层借口中截获。就是你说的那个函数。在中间加上你的过滤规则
|
|
|
14楼#
发布于:2009-12-09 10:32
这个问题解决了嘛?我来期待一下~~~
|
|
|