※ 引述《a0902jack (Panda)》之銘言:
: 小弟最近在使用TCPDUMP時遇到個小問題
: 在抓http get封包時,在GET前面會出現幾個亂碼符號的字元(如下圖)
: 不知道那個是代表什麼意思啊??
: 有辦法帶什麼參數將它濾掉嗎?
: 如圖:http://0rz.tw/fEcC7
: 謝謝!!
line buffering + grep + sed ...
# tcpdump -i 網卡界面 -lAs 0 \
'tcp port 80 and (((ip[2:2]-((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2))!=0)'\
| egrep --line-buffered '(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: '\
| sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'
這可以是因為假設 TCP options 帶一個長度為 10 的 timestamp
所以你會看到 sed 前面有八個點, 因為九個點以前被 10(0x0a,LF) 給斷行了
而且遇到壓縮或者 pipelining 也會失敗,不是好方法。
可以用 tshark 之類的工具。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.188.40
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1417428043.A.F00.html