Apache-2.2

Debian Lenny 上的 apache2 http 監控

  • September 27, 2019

是否可以知道使用者是否正在訪問我伺服器上的 php 文件?

有沒有我可以通過 ssh 使用的命令來列出每個 IP 地址以及他們請求的頁面?

我的最終目標是執行一個 cron 作業來執行一個特定的 php 文件,如果它還沒有被任何使用者訪問。

您可以檢查 apache 訪問日誌文件。它顯示以下欄位:日期/時間、IP 地址、包含參數的 URL 等。

查看文件;

$ less /var/log/apache/access.log

要搜尋文件:

$ grep keyword /var/log/apache/access.log

請注意,在 apache 日誌中看到 PHP 文件名並不能保證它在您執行腳本時仍在執行。

**編輯:**如果您想在它們建立時查看 HTTP 連接,您可以像這樣使用 tcpdump:

$ sudo tcpdump -XX -vv -n -w /tmp/http_trace.pcap port 80

我不確定過濾器語法“埠 80”是否 100%,但這只會擷取發往埠 80 的 HTTP 流量。此外,您可以使用此命令查看已建立的連接:

$ netstat -an | grep ESTABLISHED 

要連續觀看此命令,可以使用 watch 命令:

$ watch -n1 netstat -an

-n1 表示每隔一秒執行一次命令。

引用自:https://serverfault.com/questions/203287