我使用此命令sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
,但它会多次向我显示每个请求。我也想从这个命令中获取:time,referer和IP,并在每个请求的一行中显示所有这些
以这种格式:[21:51:22] www.Google.co.il/mail IP 1.1.1.1
答案 0 :(得分:2)
您可以运行以下命令向您显示tcp traffic to/from port 80
tcpdump 'tcp port 80' -i eth0
答案 1 :(得分:0)
Ngrep将在一行显示所有内容,包括时间,推荐人和主持人。
ngrep -d eth1 -q "GET " -W single 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
T 2014/03/23 22:57:45.959936 192.168.1.71:56718 -> 67.67.5.144:80 [AP] GET /clients/wfie/staticMaps/113.gif HTTP/1.1..Host: weather.wdtinc.com..Connection: keep-alive..Cache-Control: max-age=0..Accept: image/webp,*/*;q=0.8..If-None-Match: W/"1f0683-19ef-4f54de24fa540"..If-Modified-Since: Sun, 23 Mar 2014 22:46:05 GMT..User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36..Referer: http://www.14news.com/..Accept-Encoding: gzip,deflate,sdch..Accept-Language: en-US,en;q=0.8....
另外,如果您只想在tcp端口80上进行过滤,则可以使用:
'tcp port 80 && tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
如果您只想在端口80上添加传出请求,请添加方向:
'tcp dst port 80 && tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'