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>