1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
diff -wbBur nemesis-1.4/src/nemesis-functions.c nemesis-1.4.my/src/nemesis-functions.c
--- nemesis-1.4/src/nemesis-functions.c 2004-10-07 02:16:50.000000000 +0000
+++ nemesis-1.4.my/src/nemesis-functions.c 2009-06-19 13:51:30.000000000 +0000
@@ -8,6 +8,8 @@
*
*/
+#include <net/ethernet.h>
+
#if defined(HAVE_CONFIG_H)
#include "config.h"
#endif
diff -wbBur nemesis-1.4/src/nemesis-proto_tcp.c nemesis-1.4.my/src/nemesis-proto_tcp.c
--- nemesis-1.4/src/nemesis-proto_tcp.c 2003-10-31 21:29:37.000000000 +0000
+++ nemesis-1.4.my/src/nemesis-proto_tcp.c 2009-06-19 13:51:15.000000000 +0000
@@ -16,7 +16,7 @@
FileData *ipod, FileData *tcpod, char *device)
{
int n;
- u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0;
+ u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0, tcp_headerlen = 0, ip_headerlen = 0;
static u_int8_t *pkt;
static int sockfd = -1;
struct libnet_link_int *l2 = NULL;
@@ -58,13 +58,20 @@
#endif
}
+ ip_headerlen = LIBNET_IP_H + ipod->file_s;
+ tcp_headerlen = LIBNET_TCP_H + tcpod->file_s;
+
tcp_packetlen = link_offset + LIBNET_IP_H + LIBNET_TCP_H + pd->file_s +
ipod->file_s + tcpod->file_s;
- tcp_meta_packetlen = tcp_packetlen - (link_offset + LIBNET_IP_H);
+ tcp_meta_packetlen = LIBNET_TCP_H + pd->file_s;
#ifdef DEBUG
+ printf("DEBUG: link offsetlength %u.\n", link_offset);
+ printf("DEBUG: IP header length %u.\n", ip_headerlen);
+ printf("DEBUG: TCP header length %u.\n", tcp_headerlen);
printf("DEBUG: TCP packet length %u.\n", tcp_packetlen);
+ printf("DEBUG: TCP meta length %u.\n", tcp_meta_packetlen);
printf("DEBUG: IP options size %u.\n", ipod->file_s);
printf("DEBUG: TCP options size %u.\n", tcpod->file_s);
printf("DEBUG: TCP payload size %u.\n", pd->file_s);
|