Facebook
From mat, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 206
  1. *
  2.  ============================================================================
  3.  Name        : projektC.c
  4.  Author      :
  5.  Version     :
  6.  Copyright   : Your copyright notice
  7.  Description : Hello World in C, Ansi-style
  8.  ============================================================================
  9.  */
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include "program_lib.h"
  14. #include <dlfcn.h>
  15. #include <netinet/in.h>
  16. #include <netinet/ip6.h>
  17.  
  18.  
  19.  
  20. int main (void) {
  21.  
  22.         void * Ipv6_lib = malloc(sizeof (void));
  23.         void * Icmp6_lib = malloc(sizeof (void));
  24.  
  25.         char input [32];
  26.         int *count = malloc (sizeof (int));
  27.         struct ip6_hdr *iphdr;
  28.         unsigned char *datagram;
  29.         unsigned char * (*ipv6) () = malloc (sizeof (unsigned short *));
  30.         void (*icmp6) (unsigned char *) = malloc (sizeof (void));
  31.  
  32.         datagram = malloc (sizeof (unsigned char *));
  33.  
  34.  
  35.         Ipv6_lib = LoadIpv6();
  36.  
  37.         ipv6 = dlsym(Ipv6_lib, "CreateIPV6Packet");
  38.         datagram = (*ipv6)();
  39.         iphdr = (struct ip6_hdr *) datagram;
  40.         if ( iphdr->ip6_ctlun.ip6_un1.ip6_un1_nxt == IPPROTO_ICMPV6){
  41.                 Icmp6_lib = LoadIcmp6();
  42.                 icmp6 = dlsym(Icmp6_lib, "CreateICMP6Packet");
  43.                 (*icmp6) (datagram);
  44.         }
  45.  
  46.         printf ("How many packets do you want to send?");
  47.         fgets (input, 32, stdin);
  48.         *count = atoi(input);
  49.  
  50.         LoadToList( count, datagram );
  51.  
  52.  
  53.         SendPacket(datagram);
  54.         EXIT_SUCCESS;
  55. }
  56.