summaryrefslogtreecommitdiff
path: root/sample/icmp6_echoreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'sample/icmp6_echoreq.c')
-rw-r--r--sample/icmp6_echoreq.c90
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:
+ */