From c9feed3f561e4523b99f91c220dca8d739a1008b Mon Sep 17 00:00:00 2001 From: Andrej Zverev Date: Tue, 15 Nov 2005 10:22:58 +0000 Subject: - 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 --- net/hping-devel/Makefile | 65 +++++++++ net/hping-devel/distinfo | 3 + net/hping-devel/files/patch-Makefile.in | 39 ++++++ net/hping-devel/files/patch-bytesex.h | 18 +++ net/hping-devel/files/patch-configure | 10 ++ net/hping-devel/files/patch-hping3.8 | 240 ++++++++++++++++++++++++++++++++ net/hping-devel/pkg-descr | 12 ++ 7 files changed, 387 insertions(+) create mode 100644 net/hping-devel/Makefile create mode 100644 net/hping-devel/distinfo create mode 100644 net/hping-devel/files/patch-Makefile.in create mode 100644 net/hping-devel/files/patch-bytesex.h create mode 100644 net/hping-devel/files/patch-configure create mode 100644 net/hping-devel/files/patch-hping3.8 create mode 100644 net/hping-devel/pkg-descr (limited to 'net/hping-devel') 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 +# +# $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 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 + + # 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/ -- cgit v1.2.3