Linux / Bash: проверьте, открыт ли мой сервер для Интернета программно / через интерфейс командной строки [закрыто]

RHEL 6 и Bash. Было бы легко, если бы у меня был удаленный сервер для запуска nmap из или даже curl / wget , но у меня есть доступ только к серверам на нашей стороне брандмауэра.

Я знаю, что могу вручную проверить с помощью интернет-инструментов сканирования портов, и предполагаю, что ответом будет один из тех сайтов, которые предоставляют сценарий, доступ к которому можно получить из командной строки. Как мне проверить, какие порты открыты для Интернета на сервере при использовании оболочки Bash этого сервера?

TL; DR Я хочу иметь возможность проверять, какие порты доступны извне на моем сервере, используя Bash на этом сервере.

1
задан 26 August 2014 в 06:31
2 ответа

Вы можете использовать netstat -Wplunt , чтобы получить список всех процессов, прослушивающих порты TCP или UDP. В этом списке будет немного больше, чем вы хотите знать. Вы можете игнорировать все порты, привязанные к :: 1 или 127.0.0.1 , поскольку они доступны только для самого сервера. Остальные, возможно, доступны извне.

Как проверить правила брандмауэра - это отдельный вопрос. Я не знаю инструмента, который был бы вполне готов для этого, но этот вопрос уже задавался раньше, и есть несколько предложений, как это можно сделать.

Запуск сканирования порта из снаружи не даст вам наиболее полезных данных, которые вы могли бы пожелать. Для внешнего мира порт, заблокированный брандмауэром, должен выглядеть так же, как порт, открытый в брандмауэре, но сервер не слушает. Это означает, что вам нужно сделать две ошибки конфигурации, прежде чем это станет видимым для сканирования внешнего порта.

Если вы правильно настроили брандмауэр или сервер, сканирование внешнего порта никогда не выявит ошибку конфигурации, которую вы допустили в другом месте. .

Это не значит, что сканирование внешнего порта совершенно бесполезно, но в ваших стандартных процедурах вы должны сосредоточиться на двух уровнях отдельно. Одноразовое сканирование портов можно легко выполнить из дома через Интернет.

3
ответ дан 3 December 2019 в 18:43

Вы можете использовать службу сканирования внешних портов, как вы уже упоминали, которая предоставляет API, который можно вызвать с помощью Curl/Wget. Вот два сервиса, которые я нашел

  1. http://viewdns.info/api/docs/
  2. http://hackertarget.com/port-check/

Было бы много других подобных сервисов, или вы даже могли бы разместить что-нибудь подобное самостоятельно, например -- http://codehill. com/2012/07/a-simple-port-scanner-in-php/

0
ответ дан 3 December 2019 в 18:43

Теги

Похожие вопросы