Linux Cutting the tcp/ip network connection with cutter command

by on December 9, 2005 · 15 comments· LAST UPDATED September 29, 2007

in , ,

Recently I came across very powerful and nifty tool called cutter. Just imagine that people in your private network using peer to peer (P2P) software such as Kazaa, iMesh or others and you want to cut them or just want to cut all ftp connection over your firewall but not all traffic to host. Network security administrators sometimes need to be able to abort TCP/IP connections routed over their firewalls on demand

cutter utility

In the following sample network diagram client workstation 192.168.1.1 sending ftp, http, ssh traffic using 192.168.1.254 (Linux based) router to server outside our network, and you would like to cut ftp traffic without interrupting other connection? So how do you block and cut traffic? Simply, use cutter utility.

client ->    Linux firewall -> Internet --> Servers
FTP    ->    192.168.1.254  -> Internet --> FTP Server
HTTP   ->    192.168.1.254  -> Internet --> HTTP Server
SSH    ->    192.168.1.254  -> Internet --> SSH Server
192.168.1.1

Cutter is an open source program that allows Linux firewall administrators to abort TCP/IP connections routed over Linux based firewall. This tool is very handy in situation like:

  • To terminate connection such as SSH tunnels or VPNs left by your own users
  • To abort crackers attacks as soon as they detected
  • To kill high bandwidth consuming connection
  • To kill peer-to-peer traffic etc

How do I use cutter command?

Use apt-get to install cutter on a Debian / Ubuntu Linux firewall:
# apt-get install cutter

1) Login to your iptables based firewall router

2) Identify your internal connection (use netstat or tcpdump)

3) Use cutter the command as follows:
cutter {IP-address} {Port}

Examples:
Cut all connections from 192.168.1.5 to server
# cutter 192.168.1.5

Cut all ssh connection from 192.168.1.5 to server
# cutter 192.168.1.5 22

Cut all ssh connection from 192.168.1.5 to ssh server 202.54.1.20
# cutter 202.54.1.20 192.168.1.5 22

Please note that cutter has been designed for use as a administrators tool for Linux firewalls do not use this tool for malicious purpose. For more information about this tool & how actually it works by sending FIN -> ACK -> RST sequence of packets to terminate connection, see the official web site.

Update: As pointed out by Mina Naguib you can also use tcpkill command for same purpose.

Related articles:

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 15 comments… read them below or add one }

1 Bryan Jr. December 13, 2005 at 12:37 am

I saw your post at adminpointing.net, never know such command exist ever. I’m looking to kill kazza traffic with this ;)

Bryan Jr.

Reply

2 Anonymous December 13, 2005 at 3:45 am

Very useful but not for everybody, untile and unless your are net admin ;)

Reply

3 kdefanboy December 13, 2005 at 3:47 am

Very cool, now where is my router box?

Reply

4 Anonymous December 13, 2005 at 7:16 am

Okay, so how is this different from making a change to the iptables config files or from executing an iptables command on the command line?

Reply

5 Mina Naguib December 13, 2005 at 8:50 am

`tcpkill`, part of Dug Song’s “dsniff” package, does the same thing plus a bit more

Reply

6 Sundar December 13, 2005 at 9:44 am

Really good stuff, pal.

Reply

7 LinuxTitli December 13, 2005 at 10:54 am

Mina Naguib, thanks for pointing out tcpkill tool. I appreciate your post

Reply

8 LinuxTitli December 13, 2005 at 11:03 am

>Anonymous said…
>Okay, so how is this different from making a change to the iptables config files or from executing an iptables command on the command line?

Making changes to firewall script is another solution only if you wanna block your user permanently; it is all about cutting connections what will you do suppose workstation 192.168.1.5-10 left unused ssh tunnels or vpn connection Friday night and they will only back on monday? Solution is simple cut it that connection as I cannot shutdown workstation (they may login from home) …this will also save memory load on Linux route (you can see the difference using following command on router itself)
cat /proc/slabinfo

Reply

9 Anonymous December 13, 2005 at 9:02 pm

Well Anonymous user it is diffrent than iptables as some one pointed out on digg:

iptables is only active on future connections, not current ones. you could institute a snort-inline setup which if you added rules to then it would drop current connections that matched your rules.

Also this utility is in gentoo portage. Source: diecastbeatdown @ digg.com

Reply

10 sameer October 3, 2006 at 9:43 pm

well on non-routers you can use netstat to kill a tcp connection

# netstat -p | grep
192.168.1.x

# kill -9 pid

done.

Reply

11 mohamed April 11, 2007 at 10:20 pm

nice work

Reply

12 marek April 26, 2007 at 2:40 pm

># sameer Says:
>October 3rd, 2006 at 9:43 pm
>
>well on non-routers you can use netstat to kill a tcp connection
>
># netstat -p | grep
>192.168.1.x
>
># kill -9 pid
>
>done.

Well what if I don’t want to kil the process, but only the connection? kill -9 PID is a bit excessive, IMHO.

Reply

13 Ulver May 14, 2009 at 5:01 pm

some has view this behaviour?

cutter some.internet.ip some.service.port some.lan.ip some.user.port
No matching connections found

i’m googling about that but only i find that is a reported bug…in some distros
( polling over google searches )

any advice/clue will be usefull

Reply

14 vlip December 7, 2010 at 10:20 pm

PC ~]$ tcpkill -h
Version: 2.4
Usage: tcpkill [-i interface] [-1..9] expression

Reply

15 vinay July 16, 2013 at 4:53 am

Very useful utility,Thanks for posting

Reply

Leave a Comment

Tagged as: , , , , ,

Previous post:

Next post: