10 款最佳 Ping 掃描工具,協助您尋找網路上的設備
比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。
在 Matrix Synapse 中,刪除不活躍帳號和停用帳號之間有重要差異。 Synapse 官方文件中的管理 API 並未提供通用的硬刪除端點,該端點會移除與使用者關聯的所有資料庫記錄。目前支援的管理工作流程是:識別帳戶、審核帳戶,然後呼叫停用端點。您可以選擇性地設定"erase": true移除個人資料資訊並將使用者標記為已刪除。
因此,理想的結果並非「使用者 ID 從所有 Synapse 表中消失」。理想的結果應該是:使用者無法再進行身份驗證,已啟動的令牌和裝置被移除,帳戶從房間中移除,第三方識別碼被移除,並且——如果您的策略要求——個人資料被刪除。已上傳的媒體檔案和歷史訊息屬於獨立事項,不會因帳號停用而自動刪除。
本指南使用截至 2026 年 10 月的最新 Synapse 管理 API 文件。請務必將範例與您伺服器上執行的 Synapse 版本的文件進行比較,尤其是在您執行長期部署或使用 Matrix 驗證服務時。權威參考文件包括Synapse 使用者管理 API 文件、Synapse 管理 API 概述和Synapse 媒體管理 API 文件。
在進行任何更改之前,請先定義清理策略。 「非活動」並非 Synapse 帳戶狀態;它是您根據last_seen_ts帳戶類型、管理狀態和業務上下文等欄位建立的規則。
| 目標 | 建議採取的措施 | 如何驗證它 |
|---|---|---|
| 停用過期帳戶,但保留身分/個人資料 | 停用"erase": false | 使用者記錄報告deactivated: true |
| 停用和刪除個人資料字段 | 停用"erase": true | 用戶報告兩者deactivated: true兼有erased: true |
| 刪除用戶上傳的本機媒體 | 使用單獨的用戶媒體刪除 API | 媒體刪除回應報告已刪除的 ID/數量 |
| 暫時阻止活動,同時保留更方便的恢復途徑 | 考慮暫停使用而非停用。 | 用戶已被暫停使用,但未被登出。 |
如果您不確定某個帳戶是否已被棄用,請不要last_seen_ts僅以此作為判斷標準。服務帳戶、應用程式服務使用者、緊急管理員、機器人、支援帳戶以及透過單一登入 (SSO) 關聯的使用者可能具有異常的登入模式。可靠的清理流程應包含明確的排除清單和審核步驟。
管理員 API 請求需要伺服器管理員的存取令牌,這與房間管理員的存取令牌不同。請盡可能將令牌放在 HTTPAuthorization: Bearer標頭中傳送,而不是放在 URL 或 shell 歷史記錄中。
Synapse 將 V3 使用者清單端點描述為:
GET /_synapse/admin/v3/users
一個基本的請求如下圖所示:
export SYNAPSE_URL="https://matrix.example.com"
export ADMIN_ACCESS_TOKEN="REDACTED"
curl -sS -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" "$SYNAPSE_URL/_synapse/admin/v3/users?limit=100"
使用者列表 API 支援分頁。當回應中包含 `<page>` 時next_token,請使用該值作為參數請求下一頁from。請勿假定第一頁代表伺服器的全部內容。
該 API 公開了一些用於清理決策的實用字段,包括帳戶是否為管理員、使用者類型、是否已停用、建立時間以及最後存取時間。文件將最後存取時間定義last_seen_ts為自 Unix 紀元以來使用者的最後活動時間戳記(以毫秒為單位)。
next_token逐頁進行審核。常見的策略是“180天內不得進行任何活動”,但適當的期限取決於具體情況。小型私人伺服器可能90天即可。而大學、季節性組織或校友服務可能需要365天或更長。
使用絕對截止時間戳,而不是比較格式化日期。例如,可以使用 Python 作業以毫秒為單位計算閾值:
from datetime import datetime, timezone, timedelta
cutoff = datetime.now(timezone.utc) - timedelta(days=180)
cutoff_ms = int(cutoff.timestamp() * 1000)
只有當帳戶處於活動狀態、非管理帳戶、未受策略保護且帳戶建立時間last_seen_ts超過閾值時,才將使用者視為不活躍用戶。
對於缺失或為空的最後訪問時間值,應謹慎處理。這可能意味著該帳戶從未產生過您預期的活動數據,但不一定意味著可以安全地將其刪除。在刪除之前,請交叉檢查建立時間、帳戶類型、SSO 對應和業務所有權。
這一步驟的品質比 API 呼叫的速度更重要。你的目標應該是產生一個經過審核的候選帳戶列表,其中只包含可以安全停用的帳戶。
至少應排除:
一個簡單的候選記錄應包含 Matrix 使用者 ID、last_seen_ts建立時間戳記、管理員標記、帳戶類型以及其通過不活躍規則的原因。保留這些資訊可以大大簡化後續的審核和回溯決策。
注意以下三個跡象:
如果無法滿足這些檢查要求,請在繼續操作之前變更流程。例如,增加人工審核環節、發送不活躍警告,或先暫停帳戶而不是停用帳戶。
Synapse 文件針對特定本機使用者記錄如下:
GET /_synapse/admin/v2/users/<user_id>
例子:
USER_ID="@olduser:example.com"
curl -sS -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" "$SYNAPSE_URL/_synapse/admin/v2/users/$USER_ID"
回應內容可能包括帳戶的管理狀態、停用和刪除標記、建立時間戳記和最後存取時間戳記、外部身分以及第三方識別碼。此時需要驗證該帳戶是否為您想要操作的帳戶。
當操作目標是在保留個人資料資訊的同時停用存取權限時,請使用此功能"erase": false。根據 Synapse 目前的文檔,正常的停用操作會移除活動存取權杖、密碼雜湊、裝置和端對端加密金鑰、推送程式、第三方 ID、房間成員身分、帳戶資料、待處理的邀請以及相關的帳戶有效性資訊。
"erase": true當您的策略也要求移除顯示名稱、頭像 URL、自訂個人資料欄位並將使用者標記為已刪除時,請使用此功能。刪除並不意味著所有歷史記錄都會被銷毀。 Synapse 已明確說明,此 API 不會刪除先前傳送的訊息,也不會自動刪除已上傳的媒體檔案。
這種區別至關重要。如果您的保單要求刪除的內容不僅限於刪除個人資料,僅停用帳戶是不夠的。
在執行變更之前,請將最終使用者 ID 寫入純文字或 JSON 檔案並進行審核。在變更期間,試運行應該保持不變:如果在停用使用者的過程中候選使用者產生腳本發生更改,請停止操作並重新產生已核准清單。
對於每個已核准的本機用戶,呼叫文件中記錄的停用端點:
POST /_synapse/admin/v1/deactivate/<user_id>
不刪除個人資料的範例:
curl -sS -X POST -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" -H "Content-Type: application/json" --data '{"erase": false}' "$SYNAPSE_URL/_synapse/admin/v1/deactivate/@olduser:example.com"
刪除個人資料範例:
curl -sS -X POST -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" -H "Content-Type: application/json" --data '{"erase": true}' "$SYNAPSE_URL/_synapse/admin/v1/deactivate/@olduser:example.com"
之後,再次查詢該帳戶:
curl -sS -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" "$SYNAPSE_URL/_synapse/admin/v2/users/@olduser:example.com"
成功的操作結果應該會顯示出來"deactivated": true。如果您要求了刪除操作,也請進行驗證"erased": true。不要僅以「API 返回 HTTP 2xx」作為成功標準;更改後請讀取使用者記錄。
Synapse 目前的文件列出了停用帳戶的幾個影響。其中包括移除活動存取權杖、第三方識別碼、裝置、端對端加密金鑰、推播器、密碼雜湊值、房間成員身分、待處理的邀請以及帳戶資料。此外,也會從使用者目錄中刪除該使用者。
Synapse也會erase: true刪除顯示名稱、頭像 URL、自訂個人資料字段,並將帳戶標記為已刪除。
Synapse 也會記錄一些重要項目,這些項目不會被此操作刪除。其中包括已發送和已接收的訊息、已上傳的媒體檔案、SSO 映射、建立時間戳記、速率限制覆蓋、每月活躍用戶記錄以及部分用戶許可資訊。此清單並非詳盡無遺,因此請將停用視為帳戶關閉,而非徹底清除所有資料。
如果您的保留策略要求刪除使用者上傳的本機儲存媒體,Synapse 提供了一個單獨的端點:
DELETE /_synapse/admin/v1/users/<user_id>/media
例子:
curl -sS -X DELETE -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" "$SYNAPSE_URL/_synapse/admin/v1/users/@olduser:example.com/media"
使用者媒體 API 會刪除 Synapse 媒體庫中儲存的本機媒體檔案和縮圖。文件中提到了兩個重要的操作限制。首先,儲存在外部媒體庫中的媒體檔案不受此 API 的影響。其次,如果您未設定限制,則每次請求會刪除 100 個文件,因此擁有大量媒體文件的使用者可能需要重複使用此 API。
除非您的保留策略另有規定,否則請勿自動刪除媒體檔案。自動刪除比停用帳戶更具破壞性,並且可能會影響歷史記錄中仍然引用的媒體檔案。
Synapse 也提供了帳戶暫停 API 的文檔。暫停帳戶會阻止發送訊息、加入聊天室、發送邀請、更改個人資料資訊以及大多數編輯操作,同時保留與停用帳戶不同的恢復路徑。
當您需要可逆的管理限制、無法確定使用者是否處於不活躍狀態,或離職審核仍在進行中時,暫停帳戶是更合適的選擇。如果需要終止存取權限並刪除令牌、設備、會議室會員資格和帳戶數據,則停用帳戶是更可靠的選擇。
對於自動化清理而言,分階段策略通常更安全:
將發現和停用操作作為獨立的任務。發現任務應為唯讀任務,並產生候選文件。執行任務應僅使用已批准的文件,並記錄每個請求和回應狀態。
高品質的生產流程也應包括:
如果變更後驗證結果與要求狀態不符,請勿盲目地繼續處理剩餘批次。應調查首次失敗的案例,並確定問題出在權限、API 版本相容性、代理配置、矩陣身份驗證服務集成,還是特定於帳戶的條件。
erase: true僅當刪除使用者設定檔是策略的一部分時才選擇此項目。deactivated,如適用,請進行核實。erased最可靠的清理方式是事後可以解釋清楚的:哪個不活動規則選擇了某個帳戶,檢查了哪些例外情況,執行了哪些 API 操作,以及哪個更改後字段證明了帳戶狀態符合預期。這種標準比簡單地追求單次運行處理的帳戶數量最大化更有用。
比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。
比較六款網路管理工具的效能監控功能,包括 SNMP 覆蓋範圍、映射、警報、部署模型和成本權衡。
比較適用於 Windows、iPhone 和 Android 的 Wi-Fi 分析器,包括頻道擁塞、訊號覆蓋範圍、熱圖和網路故障排除工具。
比較七款免費開源的 ping 監視器,從完整的網路套件到專注於延遲探測的工具,選擇最適合可用性、丟包率和歷史記錄的工具。
了解 QoS 在網路中的意義,DSCP 標記和流量佇列如何對語音、視訊和業務應用程式進行優先排序,以及 QoS 無法解決的問題。
比較適用於 Windows 和 Linux 的可靠 SFTP 伺服器軟體,包括 OpenSSH、Bitvise、SolarWinds 和 SFTPGo。尋找最適合您的安全性和文件傳輸需求的軟體。
比較七款 IP 位址管理工具,包括子網路發現、DNS 和 DHCP 協調、網路清單和開源 IPAM。
建置實用的網路監控,提供清晰的設備覆蓋範圍、有用的效能指標、可操作的警報,並對 SolarWinds NPM、PRTG 和 OpManager 進行比較。
比較網路掃描工具,以實現快速設備發現、跨平台 IP 掃描和企業級 IPAM,並指導如何將每個選項與您的網路相符。
使用 Nmap 的 --traceroute 選項將躍點對應到授權主機,了解躍點和 RTT 輸出,並在不進行過度掃描的情況下排查缺失的回應。