Annotation of embedaddon/hping2/usage.c, revision 1.1
1.1 ! misho 1: /*
! 2: * $smu-mark$
! 3: * $name: usage.c$
! 4: * $author: Salvatore Sanfilippo <antirez@invece.org>$
! 5: * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$
! 6: * $license: This software is under GPL version 2 of license$
! 7: * $date: Fri Nov 5 11:55:50 MET 1999$
! 8: * $rev: 8$
! 9: */
! 10:
! 11: /* $Id: usage.c,v 1.13 2003/08/07 23:55:55 antirez Exp $ */
! 12:
! 13: #include <stdlib.h>
! 14: #include <stdio.h>
! 15:
! 16: void show_usage(void)
! 17: {
! 18: printf(
! 19: "usage: hping host [options]\n"
! 20: " -h --help show this help\n"
! 21: " -v --version show version\n"
! 22: " -c --count packet count\n"
! 23: " -i --interval wait (uX for X microseconds, for example -i u1000)\n"
! 24: " --fast alias for -i u10000 (10 packets for second)\n"
! 25: " -n --numeric numeric output\n"
! 26: " -q --quiet quiet\n"
! 27: " -I --interface interface name (otherwise default routing interface)\n"
! 28: " -V --verbose verbose mode\n"
! 29: " -D --debug debugging info\n"
! 30: " -z --bind bind ctrl+z to ttl (default to dst port)\n"
! 31: " -Z --unbind unbind ctrl+z\n"
! 32: "Mode\n"
! 33: " default mode TCP\n"
! 34: " -0 --rawip RAW IP mode\n"
! 35: " -1 --icmp ICMP mode\n"
! 36: " -2 --udp UDP mode\n"
! 37: " -8 --scan SCAN mode.\n"
! 38: " Example: hping --scan 1-30,70-90 -S www.target.host\n"
! 39: " -9 --listen listen mode\n"
! 40: "IP\n"
! 41: " -a --spoof spoof source address\n"
! 42: " --rand-dest random destionation address mode. see the man.\n"
! 43: " --rand-source random source address mode. see the man.\n"
! 44: " -t --ttl ttl (default 64)\n"
! 45: " -N --id id (default random)\n"
! 46: " -W --winid use win* id byte ordering\n"
! 47: " -r --rel relativize id field (to estimate host traffic)\n"
! 48: " -f --frag split packets in more frag. (may pass weak acl)\n"
! 49: " -x --morefrag set more fragments flag\n"
! 50: " -y --dontfrag set dont fragment flag\n"
! 51: " -g --fragoff set the fragment offset\n"
! 52: " -m --mtu set virtual mtu, implies --frag if packet size > mtu\n"
! 53: " -o --tos type of service (default 0x00), try --tos help\n"
! 54: " -G --rroute includes RECORD_ROUTE option and display the route buffer\n"
! 55: " --lsrr loose source routing and record route\n"
! 56: " --ssrr strict source routing and record route\n"
! 57: " -H --ipproto set the IP protocol field, only in RAW IP mode\n"
! 58: "ICMP\n"
! 59: " -C --icmptype icmp type (default echo request)\n"
! 60: " -K --icmpcode icmp code (default 0)\n"
! 61: " --force-icmp send all icmp types (default send only supported types)\n"
! 62: " --icmp-gw set gateway address for ICMP redirect (default 0.0.0.0)\n"
! 63: " --icmp-ts Alias for --icmp --icmptype 13 (ICMP timestamp)\n"
! 64: " --icmp-addr Alias for --icmp --icmptype 17 (ICMP address subnet mask)\n"
! 65: " --icmp-help display help for others icmp options\n"
! 66: "UDP/TCP\n"
! 67: " -s --baseport base source port (default random)\n"
! 68: " -p --destport [+][+]<port> destination port(default 0) ctrl+z inc/dec\n"
! 69: " -k --keep keep still source port\n"
! 70: " -w --win winsize (default 64)\n"
! 71: " -O --tcpoff set fake tcp data offset (instead of tcphdrlen / 4)\n"
! 72: " -Q --seqnum shows only tcp sequence number\n"
! 73: " -b --badcksum (try to) send packets with a bad IP checksum\n"
! 74: " many systems will fix the IP checksum sending the packet\n"
! 75: " so you'll get bad UDP/TCP checksum instead.\n"
! 76: " -M --setseq set TCP sequence number\n"
! 77: " -L --setack set TCP ack\n"
! 78: " -F --fin set FIN flag\n"
! 79: " -S --syn set SYN flag\n"
! 80: " -R --rst set RST flag\n"
! 81: " -P --push set PUSH flag\n"
! 82: " -A --ack set ACK flag\n"
! 83: " -U --urg set URG flag\n"
! 84: " -X --xmas set X unused flag (0x40)\n"
! 85: " -Y --ymas set Y unused flag (0x80)\n"
! 86: " --tcpexitcode use last tcp->th_flags as exit code\n"
! 87: " --tcp-timestamp enable the TCP timestamp option to guess the HZ/uptime\n"
! 88: "Common\n"
! 89: " -d --data data size (default is 0)\n"
! 90: " -E --file data from file\n"
! 91: " -e --sign add 'signature'\n"
! 92: " -j --dump dump packets in hex\n"
! 93: " -J --print dump printable characters\n"
! 94: " -B --safe enable 'safe' protocol\n"
! 95: " -u --end tell you when --file reached EOF and prevent rewind\n"
! 96: " -T --traceroute traceroute mode (implies --bind and --ttl 1)\n"
! 97: " --tr-stop Exit when receive the first not ICMP in traceroute mode\n"
! 98: " --tr-keep-ttl Keep the source TTL fixed, useful to monitor just one hop\n"
! 99: " --tr-no-rtt Don't calculate/show RTT information in traceroute mode\n"
! 100: "ARS packet description (new, unstable)\n"
! 101: " --apd-send Send the packet described with APD (see docs/APD.txt)\n"
! 102: );
! 103: exit(0);
! 104: };
! 105:
! 106: void tos_help(void)
! 107: {
! 108: printf(
! 109: "tos help:\n"
! 110: " TOS Name Hex Value Typical Uses\n"
! 111: "\n"
! 112: " Minimum Delay 10 ftp, telnet\n"
! 113: " Maximum Throughput 08 ftp-data\n"
! 114: " Maximum Reliability 04 snmp\n"
! 115: " Minimum Cost 02 nntp\n"
! 116: );
! 117: exit(0);
! 118: }
! 119:
! 120: void icmp_help(void)
! 121: {
! 122: printf(
! 123: "ICMP help:\n"
! 124: " ICMP concerned packet options:\n"
! 125: " --icmp-ipver set ip version ( default 4 )\n"
! 126: " --icmp-iphlen set ip header lenght ( default IPHDR_SIZE >> 2)\n"
! 127: " --icmp-iplen set ip total lengtht ( default real lenght )\n"
! 128: " --icmp-ipid set ip id ( default random )\n"
! 129: " --icmp-ipproto set ip protocol ( default IPPROTO_TCP )\n"
! 130: " --icmp-ipsrc set ip source ( default 0.0.0.0 )\n"
! 131: " --icmp-ipdst set ip destination ( default 0.0.0.0 )\n"
! 132: " --icmp-srcport set tcp/udp source port ( default random )\n"
! 133: " --icmp-dstport set tcp/udp destination port ( default random )\n"
! 134: " --icmp-cksum set icmp checksum ( default the right cksum)\n"
! 135: );
! 136: exit(0);
! 137: }
! 138:
! 139: void route_help(void)
! 140: {
! 141: printf(
! 142: "route help:\n"
! 143: " A route has the following format: [ptr:]IP1[/IP2[/IP3...]]\n"
! 144: " where ptr is the exact value of the pointer that will be used for the IP\n"
! 145: " option (be careful, no check is performed on this pointer), and defaults\n"
! 146: " to 8, or 4 if provided route is too short for 8;\n"
! 147: " and each IPx field is an IP address to include in the source route.\n");
! 148: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>