- 論壇徽章:
- 0
|
luoyan_xy 發(fā)表于 2012-03-31 23:14 ![]()
并不是任意時刻skb中的頭部指針都是已經(jīng)被設(shè)置好的,比如3層頭的指針是在網(wǎng)卡將要把包交給內(nèi)核時才設(shè)置的 ...
感謝你的回答。
119 printk("ip header : %u\n", iph);
120 printk("udp header : %u\n", udph);
121
122
123 char netData[8];
124 memcpy(netData, data, sizeof(netData));
125 if (!strncmp(netData, "1234567", 7)) {
126
127 printk("a package we hoped received!\n");
128
129 u16 tempPort = udph->source;//switch udp port
130 udph->source = udph->dest;//give a port
131 udph->dest = htons(hostPort);
132
133 iph->daddr = iph->saddr;//switch ip address
134 iph->saddr = htonl(address);
135 memcpy(hostIP, iph->daddr, sizeof(hostIP));
上面是我在緊接著前面的代碼。實際上我在使用udph和iph的時候沒有任何問題。 |
|