Я пытаюсь заблокировать свой сервер от получения запросов на порте 8001. Я работал sudo iptables -A INPUT -p tcp --dport 8001 -j DROP
, затем я работал netstat -nlp
видеть, слушает ли порт все еще. Вывод был:
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::7777 :::* LISTEN 1173/node
tcp6 0 0 :::10050 :::* LISTEN -
udp 0 0 0.0.0.0:39192 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
Это, кажется, что порт все еще открыт и слушает запросы. Как я могу закрыть его?
Я могу страдать от недоразумения (если так, люди скажут мне!)
iptables
устанавливает правила брандмауэра, и Вы настроили брандмауэр для не передачи объектов, предписанных портировать 8001
netstat
выставочные порты, которые слушают программы
Так, Ваш брандмауэр не позволяет порт 8001 через, но программа прислушивается к ping на том порте. Нет никакого конфликта здесь - если Вы хотите, чтобы Ваша программа не слушала порт, закрыла программу.
Если Вы интересуетесь тем, что постановляет, что Вы имеете активный в брандмауэре, посмотрите на iptables -L
или iptables -S