tcpdump标题信息grep或awk或sed?

时间:2013-02-24 04:52:56

标签: sed awk grep tcpdump

获取目标IP(> ip)和“User-Agent:”的最有效方法是什么。 我想抓住这两个值并将它们转储到一个文件中,首先是ip,然后是用户代理。我想最小化系统资源。这将是24x7全天候运行,并定期刷新日志。

"    1.1.1.1.58477 > 98.139.239.224.80: Flags [P.], cksum 0x2a6c (correct), seq 1:431, ack 1, win 17520, length 430
E.../y@.~...K...b....m.Px9.Iim/.P.Dp*l..GET /images/40eb913b4b20614fad042dc816d412fe_48.jpeg HTTP/1.1^M
Accept: image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5^M
Referer: http://sports.yahoo.com/news/nascar--scene-at-daytona--was-like-a-war-zone--005423629.html^M
Accept-Language: en-US^M
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)^M
Accept-Encoding: gzip, deflate^M
Host: socialprofiles.zenfs.com^M
DNT: 1^M
Connection: Keep-Alive^M"   

为格式正确的原始输出添加URL。     docs.google.com/file/d/0B1umMHxdWKkdNzI3anBaemhuOVE/edit?usp=sharing

T 15.127.111.221:64300 -> 198.252.206.16:80 [AP]
GET /posts/15048809/ivc/29bb?_=1362111021654 HTTP/1.1.
Host: stackoverflow.com.
Connection: keep-alive.
Accept: */*.
X-Requested-With: XMLHttpRequest.
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko)         Chrome/25.0.1364.97 Safari/537.22.
Referer: http://stackoverflow.com/questions/15048809/tcpdump-header-info-grep-or-awk-    or-sed.
Accept-Encoding: gzip,deflate,sdch.
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6.
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3.
Cookie: __qca=P0-1081552782-122603326; sgt=id=9

2 个答案:

答案 0 :(得分:2)

如果您在问题描述中包含所需输出的精确样本,它将帮助您准确回答您的问题。在此之前,以下是如何进行的一般概念。

修改

$ awk '/Flags/{sub(/.80:/, "", $4);printf $4"\t"} /User-Agent/{sub(/^[^:][^:]*:/,"");sub(/\.80/,"", $4); print}'  logTest

<强>输出

98.139.239.224   Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)^M

我离开的字段匹配为4美元,因为这与我的样本数据相符,根据您的评论,您可以轻松地将其更改为3美元。

注意我已使用选项卡作为IP和User-Agent之间的字段分隔符。

IHTH。

答案 1 :(得分:0)

尝试使用http://justniffer.sourceforge.net/这是比tcpdump更好的工具,用于分析http协议标头