2017-02-22 101 views
0

我希望在en0上運行TCP轉儲,但只接收GET請求到某個域的匹配,如果不是,GET請求就足夠了。我已試過,但沒有運氣tcpdump輸出GET到文件

塊引用 須藤tcpdump的-i EN0 -s 0 -A 'TCP [((TCP [12:1] & 0XF0)>> 2):4] = 0x47455420' Blockquote

+0

你試過[Wireshark的(https://www.wireshark.org/) ?跟蹤/過濾協議級別信息會更容易。如果你不能在捕獲的地方運行gui,你可以將捕獲的tcpdump文件加載到wireshark中。 – Matt

+0

我需要將它添加到更大的腳本中,一旦它創建了我需要調整它們並使用curl/wget重播它們並將響應保存到文件夾的GET列表。我可以用wireshark完成,但是我可以再次使用其他工具逐行執行 - 我嘗試在某種程度上自動化 – crashoveride

回答

0

您使用的bpf過濾器實際上可能是正確的。它獲得數據偏移量,並且看起來恰好在「GET」之後(即該段的有效負載中的第一個字節),您在那裏使用ASCII。

我試過你的過濾器,它實際上工作...爲一個非常小的網站子集。現在大部分流量都是HTTPS而不是HTTP,所以在野外找到原始的GET是罕見的。


附註:在評論中提到的wireshark是一個好主意。萬一你不知道,tshark(自帶的Wireshark)適合於自動化和可以做你想做什麼:

tshark -Y 'http.request.method == GET'