Убиваем сетевые соединения

Что делать, если у вас уже есть сетевое соединение с типом ESTABLISHED и его нужно принудительно убить? Не всегда файервол сможет это сделать да и не всегда это удобно. Выход есть:

— tcpkill из набора dsniff (Linux only)
— Killcx (Linux only)
— tcpdrop (BSD/Solaris only)
— CurrPorts (Windows only)
— Cutter (Linux only)

Расскажу вкратце о каждой из них.

tcpkill

Достаточно простая утилита как при установке (не тянет много зависимостей) так и в использовании. Приведу несколько примеров использования:

Общий вид
#tcpkill -i eth0 { expression }

Убить исходящее соединение с 21-го порта ftp
#tcpkill -i eth0 port 21

Убить все соединения с хоста 192.168.1.2/host12.nixcraft.com
#tcpkill host 192.168.1.2
#tcpkill host host12.nixcraft.com

Убить все соединения между хостом 192.168.1.2 и всеми, кроме хоста 192.168.1.111
#tcpkill ip host 192.168.1.2 and not 192.168.1.111

Killcx

Официальный сайт http://killcx.sourceforge.net/

Написана на perl’e и тянет много зависимых модулей, и при этом умеет убивать соединения только по признаку dest.
Синтаксис и пример использования:

- syntax   : killcx [dest_ip:dest_port] {interface}

    dest_ip              : remote IP
    dest_port            : remote port
    interface (optional) : network interface (eth0, lo etc).

  - example  : killcx 120.121.122.123:1234
               killcx 120.121.122.123:1234 eth0

tcpdrop

Входит в стандартную поставку BSD систем (проверял на FreeBSD/OpenBSD, для Solaris нужно искать pkg, но он есть на http://www.sunfreeware.com/) и по своей сути тоже проста. Но требует обязательно указания src/dst а так же портов src/dst. Синтаксис таков:

#tcpdrop local-address local-port foreign-address foreign-port

 

Сейчас tcpdrop для Solaris недоступен. Есть некий аналог его, но это немного не то. Либо попробовать собрать из исхдников

CurrPorts

Официальный сайт http://www.nirsoft.net/utils/cports.html

Программа для windows пользователей с приятным интерфейсом. Показывает текущие открытые соединения и при надобности их можно завершить.

Cutter

Работает с файерволом и позволяет убивать только транзинтые соединения, что мягко говоря недостаточно.

Убиваем сетевые соединения: 1 комментарий

  1. qreq

    Собственно по ссылке ( https://github.com/arut/linux-tcp-drop ) модуль ядра linux, которые реализует функционал утилиты tcpdrop из FreeBSD для linux.
    Важное отличие — этот модуль принудительно удаляет сокет на уровне ядра, без посылки RST и прочего. Что например при защите от ddos — очень важно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *