Last night I installed hping3 in my system. The installation process is quite a bit challenging (as always :D).
Here are the steps to install hping3 on your system :
- Make sure you have the following packages installed on your system :
- libpcap and libpcap-devel
- tcl and tcl-devel
- Extract the hping3 tarball
- If your system is openSUSE 10.x, you need to apply this simple patch. Just put the patch file in the parent directory of your hping3 directory and type the following command :
$ patch -p0< hping3.patch
patching file hping3-20051105/libpcap_stuff.c
patching file hping3-20051105/script.c
- Configure your hping3 :
$ ./configure
build byteorder.c…
create byteorder.h…
===> Found Tclsh in: /usr/bin/tclsh8.4
————————————–
system type: LINUXLIBPCAP : PCAP=-lpcap
PCAP_INCLUDE :
MANPATH : /usr/local/man
USE_TCL : -DUSE_TCL
TCL_VER : 8.4
TCL_INC :
LIBTCL : -ltcl8.4 -lm -lpthread
TCLSH : /usr/bin/tclsh8.4(to modify try configure –help)
————————————–
creating Makefile…
creating dependences…
now you can try `make’
- Make it :
$ make
gcc -c -O2 -Wall -DUSE_TCL -g main.c
gcc -c -O2 -Wall -DUSE_TCL -g getifname.c
…
./hping3 -v
hping version 3.0.0-alpha-1 ($Id: release.h,v 1.4 2004/04/09 23:38:56 antirez Exp $)
This binary is TCL scripting capable
use `make strip’ to strip hping3 binary
use `make install’ to install hping3
- After that your hping3 is ready to install. You can do the suggestions offered by the script.
Here are several features of hping3 :
- Port Scanning
- TCP SYN Scan
- TCP ACK Scan
- Other TCP Scans
- UDP Scans
- Host Discovery
- ICMP Ping
- TCP Ping
- UDP Ping
- OS Fingerprinting
- Sniffer
- Backdoor
- File Transfer
- Covert Channel
- Flooding
- Fuzzing
- Firewall/IDS Testing
- Traceroute
I leave the commands to use each feature to you my gentle reader as exercises. ![]()
Hi,
I applied the patch, but still can’t get it work. Here is the msg:
gcc -c -O2 -Wall -DUSE_TCL -g main.c
gcc -c -O2 -Wall -DUSE_TCL -g getifname.c
getifname.c: In function ‘get_output_if’:
getifname.c:343: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness
gcc -c -O2 -Wall -DUSE_TCL -g getlhs.c
gcc -c -O2 -Wall -DUSE_TCL -g parseoptions.c
gcc -c -O2 -Wall -DUSE_TCL -g datafiller.c
gcc -c -O2 -Wall -DUSE_TCL -g datahandler.c
gcc -c -O2 -Wall -DUSE_TCL -g gethostname.c
gcc -c -O2 -Wall -DUSE_TCL -g binding.c
gcc -c -O2 -Wall -DUSE_TCL -g getusec.c
gcc -c -O2 -Wall -DUSE_TCL -g opensockraw.c
gcc -c -O2 -Wall -DUSE_TCL -g logicmp.c
gcc -c -O2 -Wall -DUSE_TCL -g waitpacket.c
gcc -c -O2 -Wall -DUSE_TCL -g resolve.c
gcc -c -O2 -Wall -DUSE_TCL -g sendip.c
gcc -c -O2 -Wall -DUSE_TCL -g sendicmp.c
gcc -c -O2 -Wall -DUSE_TCL -g sendudp.c
gcc -c -O2 -Wall -DUSE_TCL -g sendtcp.c
gcc -c -O2 -Wall -DUSE_TCL -g cksum.c
gcc -c -O2 -Wall -DUSE_TCL -g statistics.c
gcc -c -O2 -Wall -DUSE_TCL -g usage.c
gcc -c -O2 -Wall -DUSE_TCL -g version.c
gcc -c -O2 -Wall -DUSE_TCL -g antigetopt.c
gcc -c -O2 -Wall -DUSE_TCL -g sockopt.c
gcc -c -O2 -Wall -DUSE_TCL -g listen.c
gcc -c -O2 -Wall -DUSE_TCL -g sendhcmp.c
gcc -c -O2 -Wall -DUSE_TCL -g memstr.c
gcc -c -O2 -Wall -DUSE_TCL -g rtt.c
gcc -c -O2 -Wall -DUSE_TCL -g relid.c
gcc -c -O2 -Wall -DUSE_TCL -g sendip_handler.c
gcc -c -O2 -Wall -DUSE_TCL -g libpcap_stuff.c
libpcap_stuff.c: In function ‘pcap_recv’:
libpcap_stuff.c:61: warning: pointer targets in assignment differ in signedness
gcc -c -O2 -Wall -DUSE_TCL -g memlockall.c
gcc -c -O2 -Wall -DUSE_TCL -g memunlockall.c
gcc -c -O2 -Wall -DUSE_TCL -g memlock.c
gcc -c -O2 -Wall -DUSE_TCL -g memunlock.c
gcc -c -O2 -Wall -DUSE_TCL -g ip_opt_build.c
gcc -c -O2 -Wall -DUSE_TCL -g display_ipopt.c
gcc -c -O2 -Wall -DUSE_TCL -g sendrawip.c
gcc -c -O2 -Wall -DUSE_TCL -g signal.c
gcc -c -O2 -Wall -DUSE_TCL -g send.c
gcc -c -O2 -Wall -DUSE_TCL -g strlcpy.c
gcc -c -O2 -Wall -DUSE_TCL -g arsglue.c
gcc -c -O2 -Wall -DUSE_TCL -g random.c
gcc -c -O2 -Wall -DUSE_TCL -g scan.c
scan.c: In function ‘receiver’:
scan.c:458: warning: pointer targets in assignment differ in signedness
gcc -c -O2 -Wall -DUSE_TCL -g hstring.c
gcc -c -O2 -Wall -DUSE_TCL -g script.c
script.c: In function ‘GetPacketDescription’:
script.c:265: warning: pointer targets in initialization differ in signedness
script.c: In function ‘HpingEventCmd’:
script.c:766: warning: suggest explicit braces to avoid ambiguous ‘else’
gcc -c -O2 -Wall -DUSE_TCL -g interface.c
interface.c: In function ‘hping_get_interfaces’:
interface.c:154: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc -c -O2 -Wall -DUSE_TCL -g adbuf.c
adbuf.c: In function ‘adbuf_addchar’:
adbuf.c:130: warning: pointer targets in initialization differ in signedness
gcc -c -O2 -Wall -DUSE_TCL -g hex.c
gcc -c -O2 -Wall -DUSE_TCL -g apdutils.c
gcc -c -O2 -Wall -DUSE_TCL -g sbignum.c
gcc -c -O2 -Wall -DUSE_TCL -g sbignum-tables.c
gcc -c -O2 -Wall -DUSE_TCL -g ars.c
gcc -c -O2 -Wall -DUSE_TCL -g apd.c
apd.c: In function ‘ars_decode_hex’:
apd.c:823: warning: pointer targets in return differ in signedness
apd.c: In function ‘ars_decode_string’:
apd.c:852: warning: pointer targets in return differ in signedness
gcc -c -O2 -Wall -DUSE_TCL -g split.c
gcc -c -O2 -Wall -DUSE_TCL -g rapd.c
gcc -o hping3 -O2 -Wall -DUSE_TCL -g main.o getifname.o getlhs.o parseoptions.o datafiller.o datahandler.o gethostname.o binding.o getusec.o opensockraw.o logicmp.o waitpacket.o resolve.o sendip.o sendicmp.o sendudp.o sendtcp.o cksum.o statistics.o usage.o version.o antigetopt.o sockopt.o listen.o sendhcmp.o memstr.o rtt.o relid.o sendip_handler.o libpcap_stuff.o memlockall.o memunlockall.o memlock.o memunlock.o ip_opt_build.o display_ipopt.o sendrawip.o signal.o send.o strlcpy.o arsglue.o random.o scan.o hstring.o script.o interface.o adbuf.o hex.o apdutils.o sbignum.o sbignum-tables.o ars.o apd.o split.o rapd.o -L/usr/local/lib -lpcap -ltcl8.4 -lm -lpthread
/usr/local/lib/libpcap.a(gencode.o): In function `pcap_compile’:
gencode.c:(.text+0×631): undefined reference to `pcap_parse’
collect2: ld returned 1 exit status
make: *** [hping3] Error 1
You have any idea?
Thanks
What version of pcap did you use ?