в OSX, если я набираю netstat, я вижу определенные вещи, которые имеют установленное соединение. Я не хочу менять какие-либо настройки, чтобы закрыть их, я просто хочу, чтобы иметь возможность закрыть все, что я порты я выбираю в терминале. Каким образом вы это делаете?
Как вручную закрыть порт
2 ответа
вы не можете закрыть открытую розетку просто так. В идеале, вы просто убьете процесс, который установил соединение.
Проверьте соединения с lsof
(netstat
не покажет процесс), фильтрующ выход с любым состоянием соединения вы хотите:
lsof -i
lsof -i | grep LISTEN
lsof -i | grep ESTABLISHED
или, чтобы получить порт, например 17500
:
lsof -i:17500
затем просто убить процесс. Например:
$ lsof -i | grep "Skype"
Skype 438 werner 9u IPv4 0xffffff801dd0c640 0t0 UDP localhost:52218
Skype 438 werner 42u IPv4 0xffffff80231a7a08 0t0 TCP *:29429 (LISTEN)
Skype 438 werner 43u IPv4 0xffffff8022e18a40 0t0 UDP *:29429
Убить Skype:
killall Skype
Примечание хотя то, что это не будет препятствовать подключениям - то, что вы должны указать в настройках брандмауэра.
может также использоватьfuser
или netstat
команды.
fuser
синтаксис
fuser -k -n protocol portno
пример:
$ fuser -k -n udp 7777
7777/udp: 11774
номер 11774-pid.
netstat
пример:
$ sudo netstat -ap | grep :9050
tcp 0 0 localhost:9050 *:* LISTEN 1613/tor
номер 1613-это pid, а" tor " - имя процесса.
после того, как у вас есть pid просто закончить его с помощью команды kill или killall
убить pid
или
команду killall -9 имя_команды
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]