Linux

如何偵聽在開放埠上發出的請求

  • April 25, 2018

我正在嘗試masterQueue為 Chromecast 製作一個。它將啟用應用程序間排隊。我被一些網路基礎知識所困。我使用的是較舊的 cast sdk,因為它提供了 Java API。

它可能非常模糊,可能不適合這個網站,但如果你能指出我正確的方向,我將不勝感激。

到目前為止我做了什麼:

  • 我用過這段程式碼
  • 我認為我的 chrome cast 執行10.0.0.x並在 port 上打開8089

我能做些什麼來聽取所有演員的要求10.0.0.x:8089。我想將請求儲存在隊列中並繼續輪詢和播放,直到我的隊列為空。

我執行了以下命令以獲得更多見解:

Aakashs-MacBook-Pro:~ aakashshah$ sudo lsof -n -P -i :8009
COMMAND     PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google      614 aakashshah  149u  IPv4 0x3837229g56402e0d      0t0  TCP 10.0.0.xxx:64416->10.0.0.xx:8009 (ESTABLISHED)
Google      614 aakashshah  315u  IPv4 0x3837224598nnfe0d      0t0  TCP 10.0.0.xxx:64411->10.0.0.x:8009 (ESTABLISHED)
java      84205 aakashshah   22u  IPv6 0x3837229f49a79725      0t0  TCP 10.0.0.xxx:49562->10.0.0.x:8009 (ESTABLISHED)
java      84205 aakashshah   24u  IPv6 0x3837229f49a7a2a5      0t0  TCP 10.0.0.xxx:49563->10.0.0.x:8009 (ESTABLISHED)

在上面的結果10.0.0.xxx中是我的 IP 地址。我想不斷地監聽這個埠,看看 chromecast 有什麼請求。

我也想了解特別是什麼10.0.0.xxx:64411->10.0.0.x:8009 (ESTABLISHED)意思10.0.0.xxx:64411->10.0.0.x:8009。64411埠有什麼作用?我猜它是我路由器上可用的免費埠。所以它用它來與 chromecast 交談。

我可以反向代理/埠轉發/反向某些東西以偵聽通過其他空閒埠在 8009 上發出的請求嗎?

登陸此頁面後,我正在嘗試了解 mDNS

  1. 無需混淆10.0.0.x地址:這些是私有 IP 範圍地址,永遠不會公開可見。

  2. 您不能“監聽對 10.0.0.x:8089 發出的所有請求”:Chromecast 將在內部儲存這些請求,除非 Chromecast 對此有調試程式碼,否則無法讓它吐出這些請求。但是你可以

2a)wireshark用於嗅探所有交換的網路流量;請求將是其中的一部分

2b) 使用接受不同地址請求並轉發它們的代理。然後就可以查詢代理了。一個非常簡單的代理可能可以用socat第一個近似值來實現,但你不能查詢socat……

3)TCP 10.0.0.y:64411->10.0.0.x:8009 (ESTABLISHED)表示具有IP地址的主機已經在主機上的埠到埠10.0.0.y建立了TCP連接(一種通過字節流進行的可靠的有狀態通信方法);其中之一是您的本地機器。64411``8009``10.0.0.x

4)根據您提出的問題,您可能需要一些時間才能編寫代理隊列。我建議Google搜尋網路教程,用套接字編寫一些基本的 C 程序,玩弄wireshark,玩弄socat等等。這可能需要你幾個星期。一旦您對基礎知識更加熟悉,您可以嘗試自己編寫代理。

引用自:https://unix.stackexchange.com/questions/439889