diff options
Diffstat (limited to 'sample/icmp6_echoreq.c')
-rw-r--r-- | sample/icmp6_echoreq.c | 90 |
1 files changed, 43 insertions, 47 deletions
diff --git a/sample/icmp6_echoreq.c b/sample/icmp6_echoreq.c index 8d4de81..b38064f 100644 --- a/sample/icmp6_echoreq.c +++ b/sample/icmp6_echoreq.c @@ -51,29 +51,27 @@ main(int argc, char **argv) char *cp; char errbuf[LIBNET_ERRBUF_SIZE]; int i, c, packet_amt, burst_int, burst_amt, build_ip; - char srcname[100],dstname[100]; + char srcname[100], dstname[100]; - packet_amt = 0; - burst_int = 0; - burst_amt = 1; + packet_amt = 0; + burst_int = 0; + burst_amt = 1; printf("libnet 1.1 echo request ICMP6[raw]\n"); /* * Initialize the library. Root priviledges are required. */ - l = libnet_init( - LIBNET_RAW6, /* injection type */ - NULL, /* network interface */ - errbuf); /* error buffer */ - + l = libnet_init(LIBNET_RAW6, /* injection type */ + NULL, /* network interface */ + errbuf); /* error buffer */ if (l == NULL) { fprintf(stderr, "libnet_init() failed: %s", errbuf); - exit(EXIT_FAILURE); + exit(EXIT_FAILURE); } - while((c = getopt(argc, argv, "t:a:i:b:")) != EOF) + while ((c = getopt(argc, argv, "t:a:i:b:")) != EOF) { switch (c) { @@ -86,20 +84,20 @@ main(int argc, char **argv) *cp++ = 0; dst_prt = (u_short)atoi(cp); dst_ip = libnet_name2addr6(l, optarg, LIBNET_RESOLVE); - if (strncmp((char*)&dst_ip,(char*)&in6addr_error,sizeof(in6addr_error))==0) + if (strncmp((char *)&dst_ip, (char *)&in6addr_error, sizeof(in6addr_error)) == 0) { fprintf(stderr, "Bad IP6 address: %s\n", optarg); exit(EXIT_FAILURE); } break; case 'a': - packet_amt = atoi(optarg); + packet_amt = atoi(optarg); break; case 'i': - burst_int = atoi(optarg); + burst_int = atoi(optarg); break; case 'b': - burst_amt = atoi(optarg); + burst_amt = atoi(optarg); break; default: usage(argv[0]); @@ -107,46 +105,38 @@ main(int argc, char **argv) } } - if (!dst_prt || strncmp((char*)&dst_ip,(char*)&in6addr_error,sizeof(in6addr_error))==0 || !packet_amt) + if (!dst_prt || strncmp((char *)&dst_ip, (char *)&in6addr_error, sizeof(in6addr_error)) == 0 || !packet_amt) { usage(argv[0]); exit(EXIT_FAILURE); } - - libnet_seed_prand(l); - libnet_addr2name6_r(src_ip,1,srcname,sizeof(srcname)); - libnet_addr2name6_r(dst_ip,1,dstname,sizeof(dstname)); + libnet_addr2name6_r(src_ip, 1, srcname, sizeof(srcname)); + libnet_addr2name6_r(dst_ip, 1, dstname, sizeof(dstname)); - for(t = LIBNET_PTAG_INITIALIZER, build_ip = 1; burst_amt--;) + for (t = LIBNET_PTAG_INITIALIZER, build_ip = 1; burst_amt--;) { for (i = 0; i < packet_amt; i++) { - char payload[56]; - int i; - for (i=0; i<56; i++) payload[i]='A'+((char)(i%26)); - t = libnet_build_icmpv4_echo(ICMP6_ECHO,0,0,1,0,(uint8_t *)payload,sizeof(payload),l,t); + char payload[56]; + int i; + + for (i = 0; i < 56; i++) + payload[i] = 'A' + ((char)(i % 26)); + t = libnet_build_icmpv4_echo(ICMP6_ECHO, 0, 0, 1, 0, (uint8_t *)payload, sizeof(payload), l, t); if (build_ip) { - build_ip = 0; - libnet_build_ipv6(0,0, - LIBNET_ICMPV6_H + sizeof(payload), - IPPROTO_ICMP6, - 64, - src_ip, - dst_ip, - NULL, - 0, - l, - 0); + build_ip = 0; + libnet_build_ipv6(0, 0, + LIBNET_ICMPV6_H + sizeof(payload), + IPPROTO_ICMP6, 64, + src_ip, dst_ip, + NULL, 0, + l, 0); } - printf("%15s/%5d -> %15s/%5d\n", - srcname, - ntohs(src_prt), - dstname, - dst_prt); + printf("%15s/%5d -> %15s/%5d\n", srcname, ntohs(src_prt), dstname, dst_prt); c = libnet_write(l); if (c == -1) { @@ -173,11 +163,17 @@ void usage(char *nomenclature) { fprintf(stderr, - "\n\nusage: %s -t -a [-i -b]\n" - "\t-t target, (ip6:address/port, e.g. ::1/23)\n" - "\t-a number of packets to send per burst\n" - "\t-i packet burst sending interval (defaults to 0)\n" - "\t-b number packet bursts to send (defaults to 1)\n" , nomenclature); + "\n\nusage: %s -t -a [-i -b]\n" + "\t-t target, (ip6:address/port, e.g. ::1/23)\n" + "\t-a number of packets to send per burst\n" + "\t-i packet burst sending interval (defaults to 0)\n" + "\t-b number packet bursts to send (defaults to 1)\n", nomenclature); } - +/** + * Local Variables: + * indent-tabs-mode: nil + * c-file-style: "stroustrup" + * c-file-offsets: ((case-label . +)) + * End: + */ |