Nov 082010

tcpdrop is a free utility to drop an established TCP connection in Sun solaris. It is a port of the tcpdrop utility from FreeBSD and openBSD. tcpdrop doesn’t do what it says on the tin and nothing more but does it very well. tcpdrop works in Solaris 10,9,8

Let’s put it to work. tcpdrop solaris package is available for download from Click one of the following links for Solaris 10 for x86 or SPARC.

tcpdrop (Solaris 10 – SPARC)

tcpdrop (Solaris 10 – x86)

Once downloaded unzip and install tcpdrop as follows:

# gunzip tcpdrop_solaris-20080516-sol10-x86-local.gz
# pkgadd -d tcpdrop_solaris-20080516-sol10-x86-local
The following packages are available:
1  SMCtcpdr     tcpdrop_solaris
(x86) 20080516
Select package(s) you wish to process (or ‘all’ to process
all packages). (default: all) [?,??,q]:
Processing package instance <SMCtcpdr> from </root/tcpdrop_solaris-20080516-sol10-x86-local>
tcpdrop_solaris(x86) 20080516
Ceri Davies
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
2 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
Installing tcpdrop_solaris as <SMCtcpdr>
## Installing part 1 of 1.
[ verifying class <none> ]
Installation of <SMCtcpdr> was successful.

I’m testing on Solaris 10 9/10 (x86).

# cat /etc/release
Oracle Solaris 10 9/10 s10x_u9wos_14a X86
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 11 August 2010

I’ve established two ssh connections to the server.

# netstat -an|grep EST 15872 51 49640 0 ESTABLISHED 16640 0 49640 0 ESTABLISHED

Add /usr/local/bin to the PATH environment variable if it isn’t already there.

To drop a connection, the syntax for tcpdrop is

# tcpdrop <server address> <server listening port> <client address> <client source port>

In our case, to disconnect the 2nd connection,

# tcpdrop 22 50050 <-> dropped

where is the local server IP

22 is the TCP port SSH server that we are listening for a connection is the client IP

50050 is the source port of the clients ssh connection.

Let’s check netstat now:

# netstat -an|grep EST 16896 67 49640 0 ESTABLISHED

There it is the connection is dropped!

  One Response to “tcpdrop – Drop TCP connections in Solaris”

  1. this article is really wonderfull.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>