summaryrefslogtreecommitdiff
path: root/net/hping-devel
diff options
context:
space:
mode:
authorAndrej Zverev <az@FreeBSD.org>2005-11-15 10:22:58 +0000
committerAndrej Zverev <az@FreeBSD.org>2005-11-15 10:22:58 +0000
commitc9feed3f561e4523b99f91c220dca8d739a1008b (patch)
tree24fc6916dc18849dac0c5b82e707d654b718a99e /net/hping-devel
parentUpdate to 0.07 (diff)
- Add net/hping-devel
This is the devel branch of hping: it's the same, but with a TCL scripting feature. PR: ports/88552 Submitted by: Nicolas Jombart
Notes
Notes: svn path=/head/; revision=148354
Diffstat (limited to 'net/hping-devel')
-rw-r--r--net/hping-devel/Makefile65
-rw-r--r--net/hping-devel/distinfo3
-rw-r--r--net/hping-devel/files/patch-Makefile.in39
-rw-r--r--net/hping-devel/files/patch-bytesex.h18
-rw-r--r--net/hping-devel/files/patch-configure10
-rw-r--r--net/hping-devel/files/patch-hping3.8240
-rw-r--r--net/hping-devel/pkg-descr12
7 files changed, 387 insertions, 0 deletions
diff --git a/net/hping-devel/Makefile b/net/hping-devel/Makefile
new file mode 100644
index 000000000000..d08096d8a65f
--- /dev/null
+++ b/net/hping-devel/Makefile
@@ -0,0 +1,65 @@
+# New ports collection makefile for: hping-devel
+# Date Created: 2005/10/31
+# Whom: Nicolas Jombart <ecu@ipv42.net>
+#
+# $FreeBSD$
+
+PORTNAME= hping
+PORTVERSION= 3.0.20051105
+CATEGORIES= net security
+MASTER_SITES= http://www.hping.org/ \
+ http://ipv42.net/distfiles/hping/
+PKGNAMESUFFIX= -devel
+DISTNAME= hping3-20051105
+
+MAINTAINER= ecu@ipv42.net
+COMMENT= Network auditing tool
+
+LIB_DEPENDS= tcl84:${PORTSDIR}/lang/tcl84
+
+NO_LATEST_LINK= yes
+CONFLICTS= hping-[0-9]*
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+
+PLIST_DIRS+= lib/hping
+PLIST_FILES= sbin/hping lib/hping/hpingstdlib.htcl
+PORTDOCS= AS-BACKDOOR HPING2-HOWTO.txt HPING2-IS-OPEN \
+ MORE-FUN-WITH-IPID SPOOFED_SCAN.txt APD.txt \
+ API.txt HPING3.txt
+MAN8= hping.8
+
+EXAMPLES= README apd.htcl apd2.htcl ciscoios.htcl ciscoios0.htcl \
+ cloner.htcl igrp.htcl isn-spectrogram.htcl nat-noise.htcl \
+ passivets.htcl ping.htcl raw.htcl show-tcpseq.htcl \
+ showled.htcl
+
+.if !defined(NOPORTDOCS)
+PLIST_DIRS+= %%EXAMPLESDIR%%
+.for file in ${EXAMPLES}
+PLIST_FILES+= %%EXAMPLESDIR%%/${file}
+.endfor
+.endif
+
+pre-configure:
+ ${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|' ${WRKSRC}/configure
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/hping3 ${PREFIX}/sbin/hping
+ ${INSTALL_MAN} ${WRKSRC}/docs/hping3.8 ${PREFIX}/man/man8/hping.8
+ ${MKDIR} ${PREFIX}/lib/hping
+ ${INSTALL_DATA} ${WRKSRC}/lib/hpingstdlib.htcl ${PREFIX}/lib/hping/
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR} ${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/docs/|} ${DOCSDIR}
+.for i in ${EXAMPLES}
+ ${REINPLACE_CMD} -e \
+ 's|hpingstdlib.htcl|${PREFIX}/lib/hping/hpingstdlib.htcl|' \
+ ${WRKSRC}/lib/${i}
+.endfor
+ ${INSTALL_DATA} ${EXAMPLES:S|^|${WRKSRC}/lib/|} ${EXAMPLESDIR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/net/hping-devel/distinfo b/net/hping-devel/distinfo
new file mode 100644
index 000000000000..99c0c32ea2d8
--- /dev/null
+++ b/net/hping-devel/distinfo
@@ -0,0 +1,3 @@
+MD5 (hping3-20051105.tar.gz) = ca4ea4e34bcc2162aedf25df8b2d1747
+SHA256 (hping3-20051105.tar.gz) = f5a671a62a11dc8114fa98eade19542ed1c3aa3c832b0e572ca0eb1a5a4faee8
+SIZE (hping3-20051105.tar.gz) = 584001
diff --git a/net/hping-devel/files/patch-Makefile.in b/net/hping-devel/files/patch-Makefile.in
new file mode 100644
index 000000000000..fb85e5a541d1
--- /dev/null
+++ b/net/hping-devel/files/patch-Makefile.in
@@ -0,0 +1,39 @@
+--- Makefile.in.orig Sat Apr 10 01:38:56 2004
++++ Makefile.in Mon Oct 31 10:48:24 2005
+@@ -6,10 +6,10 @@
+ # $date: Sun Jul 25 17:56:15 MET DST 1999$
+ # $rev: 3$
+
+-CC= gcc
++CC?= gcc
+ AR=/usr/bin/ar
+ RANLIB=/usr/bin/ranlib
+-CCOPT= -O2 -Wall @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@
++CCOPT= -Wall @CFLAGS@ @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@
+ DEBUG= -g
+ #uncomment the following if you need libpcap based build under linux
+ #(not raccomanded)
+@@ -50,20 +50,20 @@
+ $(RANLIB) $@
+
+ hping3: byteorder.h $(OBJ)
+- $(CC) -o hping3 $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@
++ $(CC) -o hping3 $(CCOPT) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@
+ @echo
+ ./hping3 -v
+ @echo "use \`make strip' to strip hping3 binary"
+ @echo "use \`make install' to install hping3"
+
+ hping3-static: byteorder.h $(OBJ)
+- $(CC) -static -o hping3-static $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl
++ $(CC) -static -o hping3-static $(CCOPT) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl
+
+ byteorder.h:
+ ./configure
+
+ .c.o:
+- $(CC) -c $(CCOPT) $(DEBUG) $(COMPILE_TIME) $<
++ $(CC) -c $(CCOPT) $(COMPILE_TIME) $<
+
+ clean:
+ rm -rf hping3 *.o libars.a
diff --git a/net/hping-devel/files/patch-bytesex.h b/net/hping-devel/files/patch-bytesex.h
new file mode 100644
index 000000000000..fda71f20f73e
--- /dev/null
+++ b/net/hping-devel/files/patch-bytesex.h
@@ -0,0 +1,18 @@
+
+$FreeBSD: /tmp/pcvs/ports/net/hping-devel/files/patch-bytesex.h,v 1.1 2005-11-15 10:22:58 az Exp $
+
+--- bytesex.h.orig Tue Sep 14 15:22:45 2004
++++ bytesex.h Tue Sep 14 15:21:50 2004
+@@ -8,10 +8,12 @@
+ #define ARS_BYTESEX_H
+
+ #if defined(__i386__) \
++ || defined(__ia64__) \
+ || defined(__alpha__) \
+ || (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__)))
+ #define BYTE_ORDER_LITTLE_ENDIAN
+ #elif defined(__mc68000__) \
++ || defined (__amd64__) \
+ || defined (__sparc__) \
+ || defined (__sparc) \
+ || defined (__PPC__) \
diff --git a/net/hping-devel/files/patch-configure b/net/hping-devel/files/patch-configure
new file mode 100644
index 000000000000..fdc8d4fcdfad
--- /dev/null
+++ b/net/hping-devel/files/patch-configure
@@ -0,0 +1,10 @@
+--- configure.orig Fri Jun 4 08:39:10 2004
++++ configure Mon Oct 31 10:49:39 2005
+@@ -143,6 +143,7 @@
+ -e "s^@TCL_INC@^$TCL_INC^g" \
+ -e "s^@TCL_VER@^$TCL_VER^g" \
+ -e "s^@TCL_LIB@^$TCL_LIB^g" \
++ -e "s^@CFLAGS@^$CFLAGS^g" \
+ <Makefile.in > Makefile
+
+ #
diff --git a/net/hping-devel/files/patch-hping3.8 b/net/hping-devel/files/patch-hping3.8
new file mode 100644
index 000000000000..d4dd87cc16d2
--- /dev/null
+++ b/net/hping-devel/files/patch-hping3.8
@@ -0,0 +1,240 @@
+--- docs/hping3.8.orig Mon Oct 31 11:23:58 2005
++++ docs/hping3.8 Mon Oct 31 11:23:27 2005
+@@ -1,8 +1,8 @@
+-.TH HPING2 8 "2001 Aug 14"
++.TH hping 8 "2001 Aug 14"
+ .SH NAME
+-hping2 \- send (almost) arbitrary TCP/IP packets to network hosts
++hping \- send (almost) arbitrary TCP/IP packets to network hosts
+ .SH SYNOPSIS
+-.B hping2
++.B hping
+ [
+ .B \-hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG
+ ] [
+@@ -116,11 +116,11 @@
+ .br
+ .ad
+ .SH DESCRIPTION
+-hping2 is a network tool able to send custom TCP/IP packets and to
+-display target replies like ping program does with ICMP replies. hping2
++hping is a network tool able to send custom TCP/IP packets and to
++display target replies like ping program does with ICMP replies. hping
+ handle fragmentation, arbitrary packets body and size and can be used in
+ order to transfer files encapsulated under supported protocols. Using
+-hping2 you are able to perform at least the following stuff:
++hping you are able to perform at least the following stuff:
+
+ - Test firewall rules
+ - Advanced port scanning
+@@ -136,7 +136,7 @@
+ - A lot of others.
+
+ .IR "It's also a good didactic tool to learn TCP/IP" .
+-hping2 is developed and maintained by antirez@invece.org and is
++hping is developed and maintained by antirez@invece.org and is
+ licensed under GPL version 2. Development is open so you can send
+ me patches, suggestion and affronts without inhibitions.
+ .SH HPING SITE
+@@ -158,9 +158,9 @@
+ .I -c --count count
+ Stop after sending (and receiving)
+ .I count
+-response packets. After last packet was send hping2 wait COUNTREACHED_TIMEOUT
++response packets. After last packet was send hping wait COUNTREACHED_TIMEOUT
+ seconds target host replies. You are able to tune COUNTREACHED_TIMEOUT editing
+-hping2.h
++hping.h
+ .TP
+ .I -i --interval
+ Wait
+@@ -171,10 +171,10 @@
+ .I wait
+ to X micro seconds.
+ The default is to wait
+-one second between each packet. Using hping2 to transfer files tune this
++one second between each packet. Using hping to transfer files tune this
+ option is really important in order to increase transfer rate. Even using
+-hping2 to perform idle/spoofing scanning you should tune this option, see
+-.B HPING2-HOWTO
++hping to perform idle/spoofing scanning you should tune this option, see
++.B hping-HOWTO
+ for more information.
+ .TP
+ .I --fast
+@@ -195,13 +195,13 @@
+ startup time and when finished.
+ .TP
+ .I -I --interface interface name
+-By default on linux and BSD systems hping2 uses default routing interface.
++By default on linux and BSD systems hping uses default routing interface.
+ In other systems or when there is no default route
+-hping2 uses the first non-loopback interface.
+-However you are able to force hping2 to use the interface you need using
++hping uses the first non-loopback interface.
++However you are able to force hping to use the interface you need using
+ this option. Note: you don't need to specify the whole name, for
+ example -I et will match eth0 ethernet0 myet1 et cetera. If no interfaces
+-match hping2 will try to use lo.
++match hping will try to use lo.
+ .TP
+ .I -V --verbose
+ Enable verbose output. TCP replies will be shown as follows:
+@@ -211,7 +211,7 @@
+ .TP
+ .I -D --debug
+ Enable debug mode, it's useful when you experience some problem with
+-hping2. When debug mode is enabled you will get more information about
++hping. When debug mode is enabled you will get more information about
+ .B interface detection, data link layer access, interface settings, options
+ .B parsing, fragmentation, HCMP protocol
+ and other stuff.
+@@ -223,30 +223,30 @@
+ CTRL+Z once or twice.
+ .TP
+ .I -Z --unbind
+-Unbind CTRL+Z so you will able to stop hping2.
++Unbind CTRL+Z so you will able to stop hping.
+ .TP
+ .I --beep
+ Beep for every matching received packet (but not for ICMP errors).
+ .SH PROTOCOL SELECTION
+-Default protocol is TCP, by default hping2 will send tcp headers to target
++Default protocol is TCP, by default hping will send tcp headers to target
+ host's port 0 with a winsize of 64 without any tcp flag on. Often this
+ is the best way to do an 'hide ping', useful when target is behind
+ a firewall that drop ICMP. Moreover a tcp null-flag to port 0 has a good
+ probability of not being logged.
+ .TP
+ .I -0 --rawip
+-RAW IP mode, in this mode hping2 will send IP header with data
++RAW IP mode, in this mode hping will send IP header with data
+ appended with --signature and/or --file, see also --ipproto that
+ allows you to set the ip protocol field.
+ .TP
+ .I -1 --icmp
+-ICMP mode, by default hping2 will send ICMP echo-request, you can set
++ICMP mode, by default hping will send ICMP echo-request, you can set
+ other ICMP type/code using
+ .B --icmptype --icmpcode
+ options.
+ .TP
+ .I -2 --udp
+-UDP mode, by default hping2 will send udp to target host's port 0.
++UDP mode, by default hping will send udp to target host's port 0.
+ UDP header tunable options are the following:
+ .B --baseport, --destport, --keep.
+ .TP
+@@ -288,11 +288,11 @@
+ shows interesting details.
+ .TP
+ .I -9 --listen signature
+-HPING2 listen mode, using this option hping2 waits for packet that contain
++hping listen mode, using this option hping waits for packet that contain
+ .I signature
+ and dump from
+ .I signature
+-end to packet's end. For example if hping2 --listen TEST reads a packet
++end to packet's end. For example if hping --listen TEST reads a packet
+ that contain
+ .B 234-09sdflkjs45-TESThello_world
+ it will display
+@@ -304,7 +304,7 @@
+ ensures that target will not gain your real address. However replies
+ will be sent to spoofed address, so you will can't see them. In order
+ to see how it's possible to perform spoofed/idle scanning see the
+-.BR HPING2-HOWTO .
++.BR hping-HOWTO .
+ .TP
+ .I --rand-source
+ This option enables the
+@@ -347,7 +347,7 @@
+ or
+ .B --bind
+ options. If in doubt try
+-.BR "" "`" "hping2 some.host.com -t 1 --traceroute" "'."
++.BR "" "`" "hping some.host.com -t 1 --traceroute" "'."
+ .TP
+ .I -N --id
+ Set ip->id field. Default id is random but if fragmentation is turned on
+@@ -361,11 +361,11 @@
+ .I -W --winid
+ id from Windows* systems before Win2k has different byte ordering, if this
+ option is enable
+-hping2 will properly display id replies from those Windows.
++hping will properly display id replies from those Windows.
+ .TP
+ .I -r --rel
+ Display id increments instead of id. See the
+-.B HPING2-HOWTO
++.B hping-HOWTO
+ for more information. Increments aren't computed as id[N]-id[N-1] but
+ using packet loss compensation. See relid.c for more information.
+ .TP
+@@ -445,7 +445,7 @@
+ .SH TCP/UDP RELATED OPTIONS
+ .TP
+ .I -s --baseport source port
+-hping2 uses source port in order to guess replies sequence number. It
++hping uses source port in order to guess replies sequence number. It
+ starts with a base source port number, and increase this number for each
+ packet sent. When packet is received sequence number can be computed as
+ .IR "replies.dest.port - base.source.port" .
+@@ -485,7 +485,7 @@
+ by target host. This can be useful when you need to analyze whether
+ TCP sequence number is predictable. Output example:
+
+-.B #hping2 win98 --seqnum -p 139 -S -i u1 -I eth0
++.B #hping win98 --seqnum -p 139 -S -i u1 -I eth0
+ .nf
+ HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes
+ 2361294848 +2361294848
+@@ -540,8 +540,8 @@
+ .SH COMMON OPTIONS
+ .TP
+ .I -d --data data size
+-Set packet body size. Warning, using --data 40 hping2 will not generate
+-0 byte packets but protocol_header+40 bytes. hping2 will display
++Set packet body size. Warning, using --data 40 hping will not generate
++0 byte packets but protocol_header+40 bytes. hping will display
+ packet size information as first line output, like this:
+ .B HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
+ .TP
+@@ -577,9 +577,9 @@
+ A to host B you may use the following:
+ .nf
+ .I [host_a]
+-.B # hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
++.B # hping host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
+ .I [host_b]
+-.B # hping2 host_a --listen signature --safe --icmp
++.B # hping host_a --listen signature --safe --icmp
+ .fi
+ .TP
+ .I -u --end
+@@ -587,13 +587,13 @@
+ .I --file filename
+ option, tell you when EOF has been reached. Moreover prevent that other end
+ accept more packets. Please, for more information see the
+-.BR HPING2-HOWTO .
++.BR HPING2-HOWTO .
+ .TP
+ .I -T --traceroute
+-Traceroute mode. Using this option hping2 will increase ttl for each
++Traceroute mode. Using this option hping will increase ttl for each
+ .B ICMP time to live 0 during transit
+ received. Try
+-.BR "hping2 host --traceroute" .
++.BR "hping host --traceroute" .
+ This option implies --bind and --ttl 1. You can override the ttl of 1
+ using the --ttl option. Since 2.0.0 stable it prints RTT information.
+ .TP
+@@ -601,7 +601,7 @@
+ Keep the TTL fixed in traceroute mode, so you can monitor just one hop
+ in the route. For example, to monitor how the 5th hop changes or
+ how its RTT changes you can try
+-.BR "hping2 host --traceroute --ttl 5 --tr-keep-ttl" .
++.BR "hping host --traceroute --ttl 5 --tr-keep-ttl" .
+ .TP
+ .I --tr-stop
+ If this option is specified hping will exit once the first packet
diff --git a/net/hping-devel/pkg-descr b/net/hping-devel/pkg-descr
new file mode 100644
index 000000000000..dbef619f2019
--- /dev/null
+++ b/net/hping-devel/pkg-descr
@@ -0,0 +1,12 @@
+hping is a command-line oriented TCP/IP packet assembler/analyzer.
+The interface is inspired to the ping(8) unix command, but hping isn't
+only able to send ICMP echo requests. It supports TCP, UDP, ICMP and
+RAW-IP protocols, has a traceroute mode, the ability to send files
+between a covered channel, and many other features.
+While hping was mainly used as a security tool in the past, it can be
+used in many ways by people that don't care about security to test
+networks and hosts.
+
+hping3 adds the TCL scripting feature.
+
+WWW: http://www.hping.org/