簡體   English   中英

Web瀏覽器如何監視當前打開的網頁的網絡?

[英]How do web browsers monitor network of current open webpage?

大多數現代瀏覽器都可以在其開發工具中顯示當前打開的網頁的網絡流量及其依賴性。

當瀏覽器發送對網頁的初始HTTP請求時,它使用響應來顯示網頁。 該網頁所依賴的javascript文件可能會通過AJAX發送另一個請求。

瀏覽器是否監視javascript文件的執行並在原始頁面的網絡日志中顯示后續請求?

編輯:出於一點背景,我正在嘗試編寫一個python程序,該程序將顯示該網頁及其相關性生成的所有網絡流量。

如果您使用Chrome瀏覽器,則可以使用開發人員工具上的網絡功能。 通過此功能,您可以監視頁面上的所有網絡活動。 要監控javascript的執行情況,請在Google上搜索螢火蟲。

Web瀏覽器如何監視當前打開的網頁的網絡?

簡短的答案:瀏覽器知道所有這一切,因為它必須准備並發送/接收所有請求到Web服務器 那是他的工作,並且涉及的不僅僅是監視

瀏覽器是否監視javascript文件的執行並在原始頁面的網絡日志中顯示后續請求?

瀏覽器不僅必須監視腳本的執行,還必須執行腳本本身。 然后,腳本會將后續請求轉發到同一瀏覽器,因此瀏覽器無需監視腳本即可獲取該信息。

出於某種背景,我試圖編寫一個python程序,該程序將顯示該網頁及其相關性所產生的所有網絡流量。

由於這似乎是出於教育目的,您可能要開始為瀏覽器編寫一個插件 ,以了解內部發生的情況(這大部分是在JavaScript中進行的)。 在你的插件,你就可以直接API的調用瀏覽器引擎,或者使用回調時請求作出或網頁/圖片到達得到通知。

要從獨立應用程序中監視該流量,需要完成更多工作。 您必須坐在瀏覽器和網卡之間的某個位置。 這可以通過以下方式完成:

  • 編寫某種代理以捕獲並轉發HTTP流量 ,並將您的瀏覽器定向到該代理。

  • 使用libpcap之類的庫來捕獲所有網絡流量並分析TCP數據包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM