найти IP и PORT, используемые Apache

найти IP и PORT, используемые Apache

Как узнать, какой IP:PORT отслеживает веб-сервер Apache? Есть несколько сетевых команд, но они показывают используемый порт TCP. У машины несколько сетевых интерфейсов, и раздел Listenв httpd.confзакомментирован. Таким образом, один из них используется по умолчанию, и я не знаю, какой из них установлен по умолчанию.

Например, следующая команда показывает только номер порта

root@cluster:~# netstat -pat | grep httpd
tcp        0      0 *:ulistproc     *:*      LISTEN      3940/httpd
tcp        0      0 *:https         *:*      LISTEN      3940/httpd

Кроме того, я ожидаю, что правильный номер порта должен быть 80, а не 3940!

Есть идеи, как это найти?

решение1

Последний столбец — это процесс (номер процесса / имя процесса), а не порт. Порт находится в четвертом столбце, в вашем случае он показывает два открытых порта ulistproc и https. Оба порта открыты по адресу "*", что означает все адреса на вашей машине (это обычное значение по умолчанию для большинства демонов, есть конфигурация, ограничивающая его). Если вам нужны фактические номера портов, используйте "netstat -pant", чтобы не делать символическое преобразование.

решение2

Как пользователь root, введите:

netstat -pat | grep httpd

(или grep apacheв зависимости от вашего дистрибутива)

решение3

nmap localhost

cat httpd.conf | grep port

решение4

Помимо использования netstat, вы также можете использовать его lsofдля вывода списка открытых файлов (потоков, сокетов, блочных файлов и т. д.).

root@host: lsof -i -n -P |grep httpd
COMMAND  PID  USER   FD   TYPE DEVICE  SIZE/OFF   NODE  NAME
httpd    4291 root   3u   IPv4 124715  0t0        TCP   *:80 (LISTEN)

lsof (8) - список открытых файлов

-i = показывать файлы IPv4/6
-n = не разрешать имена хостов (т.е. показывать IP-адреса)
-P показывать номера портов вместо понятных имен (т.е. 80 вместо HTTP).

Связанный контент