尋找 Apache 使用的 IP 和 PORT

尋找 Apache 使用的 IP 和 PORT

如何找到 Apache Web 伺服器正在監控的 IP:PORT?有一些網路命令,但它們顯示正在使用的 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)。

相關內容