Networking

用路由器擷取 TCP 數據包

  • June 12, 2017

有沒有辦法編寫 OpenWRT 路由器腳本來擷取發往網路上伺服器的 TCP 數據包?我想向該伺服器發送一個 WOL 數據包,並等待從休眠中喚醒,然後再發送實際消息。

注意:我是網路初學者。有些人聲稱我所描述的是不可能的,而另一些人則完全相反。我想知道這是否可行,如果可行(不損失大量頻寬)?

很難說正確的方法是什麼,並且在沒有更多資訊的情況下給出更直接的答案。

如果您想“擷取”從客戶端發送到伺服器的包,那麼您幾乎可以在任何 Linux / Unix 系統上執行此操作。

如果您在伺服器和客戶端之間有防火牆(或者在這種情況下是 OpenWRT 路由器),您可以解析防火牆、tcpdump 或 OpenWRT 提供的日誌。

當防火牆從客戶端接收到具有 WoL UDP 包模式的“睡眠”伺服器的目的地的包時,您知道伺服器已收到它。您可以在發送有效負載之前等待任何時間。

最佳方法 如果您有監控服務,您可以發送 WoL UDP 包,然後等待您的監控服務(例如 Zabbix)指示伺服器現在完全“喚醒”。比執行你的有效載荷。

有些人聲稱我所描述的是不可能的

這是很有可能的。

在不損失大量頻寬的情況下

他們不是你應該為此失去任何吞吐量的理由。

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