Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jun 2002 04:11:36 +0200 (CEST)
From:      "Simon 'corecode' Schubert" <corecode@corecode.ath.cx>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/38911: new port: net/tcptraceroute (A traceroute implementation using TCP packets) 
Message-ID:  <200206050211.g552Banf004860@elevation.uni.stoert.net>

next in thread | raw e-mail | index | archive | help

>Number:         38911
>Category:       ports
>Synopsis:       new port: net/tcptraceroute (A traceroute implementation using TCP packets)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 04 19:20:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Simon 'corecode' Schubert
>Release:        FreeBSD 4.6-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD elevation.uni.stoert.net 4.6-PRERELEASE FreeBSD 4.6-PRERELEASE #4: Wed May 15 11:13:56 CEST 2002 corecode@elevation.zuhause.stoert.net:/usr/obj/i386/k7/usr/src/sys/ELEVATION i386


	
>Description:

tcptraceroute is a traceroute implementation using TCP packets.

The more  traditional traceroute(8)  sends out either  UDP or  ICMP ECHO
packets with a TTL of one,  and increments the TTL until the destination
has  been reached.  By printing  the  gateways that  generate ICMP  time
exceeded  messages along  the  way, it  is able  to  determine the  path
packets are taking to reach the destination.

The problem is  that with the widespread use of  firewalls on the modern
Internet, many of the packets that  traceroute(8) sends out end up being
filtered,  making it  impossible to  completely  trace the  path to  the
destination. However, in many cases, these firewalls will permit inbound
TCP packets to specific ports that hosts sitting behind the firewall are
listening for connections on. By sending  out TCP SYN packets instead of
UDP  or ICMP  ECHO packets,  tcptraceroute is  able to  bypass the  most
common firewall filters.

WWW: http://michael.toren.net/code/tcptraceroute/

- Simon 'corecode' Schubert
	
>How-To-Repeat:
	
>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	tcptraceroute
#	tcptraceroute/Makefile
#	tcptraceroute/distinfo
#	tcptraceroute/pkg-comment
#	tcptraceroute/pkg-descr
#	tcptraceroute/pkg-plist
#
echo c - tcptraceroute
mkdir -p tcptraceroute > /dev/null 2>&1
echo x - tcptraceroute/Makefile
sed 's/^X//' >tcptraceroute/Makefile << 'END-of-tcptraceroute/Makefile'
X# New ports collection makefile for:	tcptraceroute
X# Date created:		5 June 2002
X# Whom:			Simon 'corecode' Schubert <corecode@corecode.ath.cx>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	tcptraceroute
XPORTVERSION=	1.3
XCATEGORIES=	net
XMASTER_SITES=	http://michael.toren.net/code/tcptraceroute/
X
XMAINTAINER=	corecode@corecode.ath.cx
X
XBUILD_DEPENDS=	${LOCALBASE}/lib/libnet.a:${PORTSDIR}/net/libnet
X
XMAN8=	tcptraceroute.8
X
Xdo-build:
X	@cd ${WRKSRC}; \
X	${CC} ${CFLAGS} -I${LOCALBASE}/include -L${LOCALBASE}/lib \
X		`libnet-config --defines` -o tcptraceroute tcptraceroute.c \
X		`libnet-config --libs` -lpcap
X
Xdo-install:
X	@${INSTALL_PROGRAM} ${WRKSRC}/tcptraceroute ${PREFIX}/bin
X	@${CHMOD} u+s ${PREFIX}/bin/tcptraceroute
X	@${INSTALL_MAN} ${WRKSRC}/tcptraceroute.8 ${MAN8PREFIX}/man/man8
X
X.include <bsd.port.mk>
END-of-tcptraceroute/Makefile
echo x - tcptraceroute/distinfo
sed 's/^X//' >tcptraceroute/distinfo << 'END-of-tcptraceroute/distinfo'
XMD5 (tcptraceroute-1.3.tar.gz) = 89c1ca7cf0b2b2c946b774fd9506c029
END-of-tcptraceroute/distinfo
echo x - tcptraceroute/pkg-comment
sed 's/^X//' >tcptraceroute/pkg-comment << 'END-of-tcptraceroute/pkg-comment'
XA traceroute implementation using TCP packets
END-of-tcptraceroute/pkg-comment
echo x - tcptraceroute/pkg-descr
sed 's/^X//' >tcptraceroute/pkg-descr << 'END-of-tcptraceroute/pkg-descr'
Xtcptraceroute is a traceroute implementation using TCP packets.
X
XThe more  traditional traceroute(8)  sends out either  UDP or  ICMP ECHO
Xpackets with a TTL of one,  and increments the TTL until the destination
Xhas  been reached.  By printing  the  gateways that  generate ICMP  time
Xexceeded  messages along  the  way, it  is able  to  determine the  path
Xpackets are taking to reach the destination.
X
XThe problem is  that with the widespread use of  firewalls on the modern
XInternet, many of the packets that  traceroute(8) sends out end up being
Xfiltered,  making it  impossible to  completely  trace the  path to  the
Xdestination. However, in many cases, these firewalls will permit inbound
XTCP packets to specific ports that hosts sitting behind the firewall are
Xlistening for connections on. By sending  out TCP SYN packets instead of
XUDP  or ICMP  ECHO packets,  tcptraceroute is  able to  bypass the  most
Xcommon firewall filters.
X
XWWW: http://michael.toren.net/code/tcptraceroute/
X
X- Simon 'corecode' Schubert
END-of-tcptraceroute/pkg-descr
echo x - tcptraceroute/pkg-plist
sed 's/^X//' >tcptraceroute/pkg-plist << 'END-of-tcptraceroute/pkg-plist'
Xbin/tcptraceroute
END-of-tcptraceroute/pkg-plist
exit


	


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206050211.g552Banf004860>