понедельник, 14 декабря 2015 г.

Убить подключение на порт

Есть виртуальная машина VirtualBox с возможностью подключения через VRDP.
Подключаюсь к ней с разных компов. Но установил, что подключение может быть только одно.  Поэтому если забыл закрыть сеанс на другом компе, то с этого не получится подключиться. Но есть ssh доступ на сервер, где крутится эта виртулка.
И убиваем подключения так:
1 magedon@magedon ~ % sudo lsof -i :3389
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
VBoxHeadl 2392 magedon   22u  IPv4  34903      0t0  TCP *:ms-wbt-server (LISTEN)
VBoxHeadl 2392 magedon   23u  IPv6  34904      0t0  TCP *:ms-wbt-server (LISTEN)
VBoxHeadl 2392 magedon   34u  IPv4  30654      0t0  TCP magedon:ms-wbt-server->192.168.1.173:62261 (ESTABLISHED)


1 magedon@magedon ~ % sudo tcpkill host 192.168.1.173
tcpkill: listening on enp3s0 [host 192.168.1.173]

И так все команды требуют рута, поэтому делаем через sudo.
sudo lsof -i :3389 - показывает кто подключен к нужному мне порту 3389. Кроме виртуал бокса видим что тут есть кто-то с компа с IP 192.168.1.173
tcpkill host 192.168.1.173 убиваем подключение с данного компа.
tcpkill не входит в стандартную поставку linux, поэтому мне пришлось ставить отдельный пакет dsniff, в который входит эта утилита

Нашел также ещё один способ решения такой проблемы:
fuser -k 3389/tcp