Что делать, если у вас уже есть сетевое соединение с типом 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
CurrPorts
Официальный сайт http://www.nirsoft.net/utils/cports.html
Программа для windows пользователей с приятным интерфейсом. Показывает текущие открытые соединения и при надобности их можно завершить.
Cutter
Работает с файерволом и позволяет убивать только транзинтые соединения, что мягко говоря недостаточно.
Один коментар до “Убиваем сетевые соединения”
Собственно по ссылке ( https://github.com/arut/linux-tcp-drop ) модуль ядра linux, которые реализует функционал утилиты tcpdrop из FreeBSD для linux.
Важное отличие – этот модуль принудительно удаляет сокет на уровне ядра, без посылки RST и прочего. Что например при защите от ddos – очень важно.