- 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
This commit is contained in:
Andrej Zverev 2005-11-15 10:22:58 +00:00
parent b985dd8514
commit c9feed3f56
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=148354
8 changed files with 388 additions and 0 deletions

View file

@ -209,6 +209,7 @@
SUBDIR += honeyd
SUBDIR += howl
SUBDIR += hping
SUBDIR += hping-devel
SUBDIR += htpdate
SUBDIR += http_ping
SUBDIR += httping

65
net/hping-devel/Makefile Normal file
View file

@ -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>

3
net/hping-devel/distinfo Normal file
View file

@ -0,0 +1,3 @@
MD5 (hping3-20051105.tar.gz) = ca4ea4e34bcc2162aedf25df8b2d1747
SHA256 (hping3-20051105.tar.gz) = f5a671a62a11dc8114fa98eade19542ed1c3aa3c832b0e572ca0eb1a5a4faee8
SIZE (hping3-20051105.tar.gz) = 584001

View file

@ -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

View file

@ -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__) \

View file

@ -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
#

View file

@ -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

12
net/hping-devel/pkg-descr Normal file
View file

@ -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/